Computational Thinking - A Revolution in 4 Steps

Preview:

Citation preview

Teaching kids to

</code>:

The 4 Step Process for

Computational Thinking

Paul Herring MACS (Snr) CP

St Peters Lutheran College

Brisbane, Queensland

Taking it to the next level:

A Revolution in 4 Steps

If an orange here at the Australian Technology Park represents the nucleus of an atom then the nearest electron is around 6.4 km away.

In between is a void –in reality there is nothing in this space –yet is looks and feels so solid.

- we need to change our perspective & mindset

Quantum Mechanics

– renewing our thinking

• Quantum Mechanics is not just some esoteric Physics theory – it’s used in your TV; car engine; phone, etc …

‘Existence is closer to being a association of ideas than a conglomeration of atoms’ – Prof. Gerald Schroeder. MIT

“We, [our personal awareness of being ourselves], are not part of it (the material world). We are outside. We are only spectators. The reason why we believe that we are in it, that we belong to the picture, is that our bodies are in the picture…. And this is our only way of communicating with them.”

- Erwin SchroedingerThe world is not what we thought – yet the educational system has changed little - We don’t teach Cognitive Science, (mindfulness?), Genetics, & Theology, yet these are the deepest most challenging disciplines

WOW!

• ‘The world is made with 'tiny bit's and words strung together'

– From child in Abi Woldhuis’s video

• This child has no idea how close her simple definition is, to the reality that Physicists are

only just appreciating

• .

“Physics is theology“ – MIT Professor, Dr Gerald Schroeder

A Revolution in 4 Steps:

Shifting our mindset

Mitchel Resnick. MIT:

Ultimately, what is needed is a shift in

mindsets, so that people begin to see coding

not only as a pathway to good jobs, but as a

new form of expression and a new context

for learning.

The new kid on the block

• profoundly creative and interdisciplinary pursuit.

• great ingenuity - transform patterns of the physical

world into a digital distillation

• Coding is a process of both synthesis and genesis…

Jasmine Tsai

EDSURGE:

• “Every era demands--and rewards--different skills.

• In different times and different places, we have taught

our children to grow vegetables, build a house, forge a

sword or blow a delicate glass, bake bread, create a

soufflé, write a story or shoot hoops.

The 4th R: Reading, wRiting, aRithmetic

& Computational Thinking

• Now we are teaching them to code.

• We are teaching them to code, however, not so much as an end in itself but because our world has morphed:

• We need to teach coding to help our students craft their future.”

• https://www.edsurge.com/guide/teaching-kids-to-code

The 4th R: Reading, wRiting, aRithmetic& Computational Thinking

• “Fast forward to 2020. What job skill must

you have? What we do know is, for the

foreseeable future, coding is one of the most

important and desirable skills there is, no

matter how it evolves.”

http://mashable.com/2013/04/30/job-skill-future-coding/

DJ Adams

– Enterprise Architect & Open Source Programmer

• “Positioning coders as artists, and programming as

painting, students can be taught the skills and given

the encouragement to produce individual work,

enabling them to see the personal benefit and reward.

• We must encourage … young people to innovate and

aspire to coding careers, with the same aspiration that

people pursue the dream of becoming a footballer.”

Coding is the new black

• A growing awareness of the impact of

Computational Thinking

- 3 Game Changers:

• fabrication (3D printing);

• physical computing (robotics);

• programming - ground swell of coding

“Schools need a bolder concept of what computing can mean in the creative and intellectual development of young people.”

See Gary Stager - http://www.inventtolearn.com/about-the-book/

Also recommend Gary’s ‘Outside the Skinner Box’ – read it!

Computational Thinking – the 4th R

My humble opinion is that if we work with our

young people to develop their skills in

innovation, design and "needs" analysis in

combination with computational thinking skills

then we are facilitating the development of a

generation of visionaries and problem solvers

not just "code monkeys".Danielle Neale - Serial Entrepreneur | Innovation Consultant

Computational thinking encompasses

logical thinking,

precision,

rigour &

creativity

Pat Nice, CEO, open source and cloud provider Reconnix:

• Those last two terms are not what some people might put together, but there is a lot of creativity in what some folk class as a science, and others, like me, class as a craft”

• “With computational thinking skills a person can better get to grips with problems, find solutions, be creative and find expression – all at the same time.

• And it gives them a fighting chance of not just surviving, but blossoming in the data tsunamithat is brewing under the covers of the everyday world.”

• Pat Nice, CEO, open source and cloud provider Reconnix

• We are drowning in information, yet starved for knowledge

• Most are not aware of how filtered what we see and hear is, whether through our Web searches or news feeds, or even social media feeds

Computational Thinking is a problem-solving process that includes (but is not limited to) the following characteristics:

• Formulating problems in a way that enables us to use a computer and other tools to help solve them.

• Logically organizing and analyzing data

• Representing data through abstractions such as models and simulations

• Automating solutions through algorithmic thinking (a series of ordered steps)

• Identifying, analyzing, and implementing possible solutions with the goal of achieving the most efficient and effective combination of steps and resources

• Generalizing and transferring this problem solving process to a wide variety of problems

Introducing the Real World Approach:

Introducing the Real World Approach:

- As a 4 Step Process:

1. Real world issue: Posing the right question

2. From the Real world -> to modelling or technical

formulation = Design & Algorithmic Thinking

3. Computation = Programming/Coding

4. Verification =Testing, evaluating, refining &

introducing solutions back into the real-world

• The question – can’t read the sign?

• The question – which avocado?

• These apps highlight the great potential still to be realised

Practical Examples - Commercial

Scio Video

• “The truth is that the more we know,

the more we want to know,”

• “We believe SCiO is, like the search engine, another tool

that will act as a catalyst for our quest for knowledge.”• Dror Sharon, CEO of Consumer Physics

SCIO

School Examples:

Swimming Carnival

1 32 64 75 8 99 Lanes & 9 Houses

Judges call placings; 9 others hand out place cards;

Swimmers take to their House desk where 9 recorders note placing.

Then submitted to Chief scorer to add up. Eg. 1 = 10; 2= 6; 3 = 3; 4 =2; 5 –9 = 1

Student created App replaces some 20+ people

Real World Solutions:

Solution using Corona SDK

IT Solution:

2 Staff – Judge & recorder

Recorder taps each lane cell

as placings called out.

Simple animation moves cells

to second row.

Can be adjusted – once ok,

submitted and scores

auto-updated

Real World Solutions:

Talking Book for young writers on

Tablets/Smartphones

In terms of ebook application, independent reading takes the cake.

An overwhelming majority (90%) report that ebooks are used by students

for independent reading, followed by whole class instruction (44%)

and small group literacy instruction (41%).

Created for

Year 4’s

with there own

stories by

Yr 12 ITS

students

Talking Book for young writers

local w = display.contentWidth

local h = display.contentHeight

local leftSide = display.newImage( "leftside2.png",0,0, true)

local rightSide = display.newImage( "rightside2.png",w/2,0, true)

leftSide.anchorX = -w *0.5

leftSide.anchorY = -h*0.5

rightSide.anchorX = -w *0.5

rightSide.anchorY = -h *0.5

local titlepage= display.newImageRect( "title.png",

display.contentWidth, display.contentHeight, true )

titlepage.anchorX = -w *0.5

titlepage.anchorY = -h *0.5

titlepage.x, titlepage.y = 0,0

local page1 = display.newImageRect( "page1.png",

display.contentWidth, display.contentHeight )

page1.anchorX = -w *0.5

page1.anchorY = -h *0.5

page1.x, page1.y = 0,0

page1:toBack()

local page2 = display.newImageRect( "page2.png",

display.contentWidth, display.contentHeight )

page2.anchorX = -w *0.5

page2.anchorY = -h*0.5

page2.x, page2.y = 0,0

page2:toBack()

local page3 = display.newImageRect( "page3.png",

display.contentWidth, display.contentHeight )

page3.anchorX = 0.0

page3.anchorY = 0.0

page3.x, page3.y = 0,0

page3:toBack()

local page4 = display.newImageRect( "page4.png",

display.contentWidth, display.contentHeight ) …

local titleAudio = audio.loadSound("title.mp3")

local page1Audio = audio.loadSound("page1v2.mp3")

local page2Audio = audio.loadSound("page2.mp3")

audio.play(titleAudio)

local pageSelected = 0

local function touchListener:touch( event )

if event.phase == "began" then

if pageSelected == 0 then -- do nothing

elseif pageSelected == 1 then

audio.stop()

titlepage:toFront()

audio.play(titleAudio)

pageSelected = 0

elseif pageSelected == 2 then

audio.stop()

page1:toFront()

audio.play(page1Audio)

leftSide:addEventListener( "touch", touchListener )

rightSide:addEventListener( "touch", touchListener2 )

The students just modified this template code ,

but needed to create their own graphics and audio, etc.

Real World Solutions:

Web Sites for Clients

In creating websites for Commercial businesses the students would also help with the

url names, web hosting, marketing, & uploading, etc.

Real World Solutions:

Web Sites for Clients

Websites for community events

Real World Solutions:

Tutorials & Learning Objects

Real World Solutions:

Advertising Kiosks

‘Resume’ kiosk app for

a Graphic Designer

Real World Solutions:

More Practical examples -Raspberry Pi

Seventy Torres Strait Islander girls have coded a Raspberry Pi with an LED, GPS

module and FM transmitter for emergency beacons to help their communities signal if

brush fires become widespread, or alert people of poisonous snake and spider bites.

More Practical examples

- Helping with dyslexia

Eighth-graders develop app to

help dyslexics read better:

They envisioned the Mind Glass

app allowing background colours

and text fonts or sizes on Web pages

or mobile devices to be altered for

the specific needs of an individual,

much like how prescription glasses

help people see.

Verizon App Challenge: Is Young ICT Explorers our version?

Verizon App Challenge

Not coded - only storyboards/designs, research, etc.

– in Australia we go one better with ICT Explorers

The Classic Maze Problem

Using Computational Thinking skills to develop automated algorithms

- this challenge may help foster ideas.

See http://www.problemspace.org/ for more

The Classic Maze Problem

The right turn

algorithm

Pseudo code is deceptively easy

The Classic Maze Problem – Python Code

Python code also

deceptively easy

The Classic Maze Problem –

Code.org

The Maze challenge is developed to a small degree in Hour of Code tutorial

Scratch version:

Try here – incomplete solution http://scratch.mit.edu/projects/49644014/

- Good challenge for your students?

Scratch:

Design first

We need to help students do some

algorithmic design

(eg. Nassi-Schneiderman Charts)

before tackling more challenging

questions like this one, which

typically uses the ‘greed

algorithm’.

The Genesis of the 4 Step Approach:

Conrad Wolfram argued that Mathematics Education today

should involve this 4 step problem solving process:

His steps are:

• Posing the right question – of a real world problem/issue

• Real world -> math formulation – that is, state the problem in

terms of its mathematics components

• Computation – solve the mathematics models & formulas

involved

• Verification – implement the solutions into the original real

world situation to verify their ‘correctness’, effectiveness, etc.

‘4 Step’ Foundations - Wolfram

• The skill that is in great demand today, and

will continue to grow, is the ability to take a novel

problem, possibly not well-defined, and likely not having

a single “right” answer, and make progress on it, in

some cases (but not all!) “solving” it (whatever that

turns out to mean).

• The problems we need mathematics for today come in a

messy, real-world context, and part of making progress is

to figure out just what you need from that context.

Kevin Devlin & Mathematical Thinking

• “I have had as students (in his MOOC’s), engineers with years of experience who suddenly found themselves out of a job when their employers replaced them with software systems (or sometimes overseas outsource services).

• Those engineers are now having to retool to learn this other skill of creative problem solving –mathematical thinking.”

Kevin Devlin & Mathematical Thinking

Wolfram Language: - the next iteration in

Computational Thinking?

• A knowledge-based language where small amounts

of code can produce remarkable results.

• Create immediate compelling visualizations

• Run locally or in the cloud, using only a web

browser

• Broad coverage of system reaches all STEMx areas

– But still syntactically challenging compared with Visual

Programming Languages

Wolfram Language:

Programming the Internet of Things

Designed for ubiquitous computing of the future

• With its device framework:

– ability to handle real-world data,

– built-in distributed computing, and

– both cloud and embedded implementations,

the Wolfram Language is in a unique position to support the

Internet of Things.

• Built-in highly automated analysis and visualization

• Full cloud infrastructure, supporting apps, APIs, etc.

Wolfram Programming Language:

– simple example

• Simple examples

Wolfram Programming Language:

Mountains example

Simple examples:

Wolfram: Mountains

• https://www.wolframcloud.com/app/objects/ff0ff9fe-4d46-4a33-8c22-fbdeee9baeb9

Sydney:

CloudObject[https://www.wolframcloud.com/objects/7ff9f8b5-dc44-4c06-9c2b-264dfb03f2fc]

https://www.wolframcloud.com/objects/7ff9f8b5-dc44-4c06-9c2b-264dfb03f2fc

Try ‘Empire State Building’

Blurred Lines Faces

img = this pic;

faces = FindFaces[img]

Possible application

with school photos

and privacy concerns

Blurred Faces

mask = Graphics[Disk[Mean[##], First@Differences[##]/2] & /@ faces,

PlotRange -> Transpose[{{0, 0}, ImageDimensions[img]}],

ImageSize -> 1 -> 1]

blur = Max[Abs[#2 - #1] & @@@ faces]/5 - works out size of largest face in pixels

- give 8.2

SetAlphaChannel[Blur[img, blur], ColorNegate@Blur[mask, blur]]

Blurred Faces

ImageCompose[img,

SetAlphaChannel[Blur[img, blur], ColorNegate@Blur[mask, blur]]]

Using the Power of the Mobile

How many different uses for the GPS device that

comes with your smartphone can you imagine?

• How many do you think exist right now

• How many distinctly different uses.

– There are many Car Navigation apps on the market, but what about

other uses?

• How many you can come up with?

How far can we go:

Real World Problem Solving:

What limits are there on our students?

This is not the right question:

– we should look for opportunities

and then give them the challenge

– it’s ok to fail

1) Normal car/bike/walk navigation

2) track mileage for reimbursement

3) flight log book

4) mashup between a to-do list and GPS

5) tracks your phone, so if you get lost

6) share your location details with friends

7) amenities nearby

8) Google Maps

9) Golf

10) Runkeeper

11) Speedo

12) Altimeter

13) Family Locator is the most reliabale and

accurate family locator & children safety app.

14) Family Locator app lets your family be in touch

and stay connected with your friends anytime.

15) Find the value of Taximeter

16) Truck Fleet management

17) location like Google Earth

18) emergency road side assistance

19) Track your luggage, laptops, pets and anything of

importance - need unit in collar

20) GPS games - eg. GeoCache, a global GPS based

treasure-hunt

21) Freight Tracking

Some Smartphone GPS Apps:

• touchscreen

• accelerometer

• gyroscope

• camera

• compass,

• barometer

• Magnetometer

• Proximity Sensor

• Orientation Sensor

• Infra-red sensor

• Bluetooth

• NFC

• Force Sensor

• Ultra-sonic sensors

• RFID

• IR Spectroscopy

• etc...

SO:

• what opportunities are open to utilising these sensors

• & what problems can now be solved?

The Power of the Mobile – Add ons

1) Comeback of governments

2) Digitization The Internet of things,

Automation everywhere, and

Intelligent alarming

3) Everything as a service

4) Sustainability

5) Geographical shift Augmented reality,

eg. Central Qld Uni uses augmented reality to coach train drivers

Wearable devices, and

Home automation. - Simon Fuller and Michael Postula, Schneider-Electric (ACS Seminar: Brisbane 21 August)

So many opportunities!

Smart cities

A safer world

A simpler world

An emerging world

A world of service

A greener world

The three principal ramifications of these trends are:

1. Business model disruption

2. Competencies and skill sets of your people

3. Segmentation - end-user solutions - customized and personalized

- Simon Fuller and Michael Postula, Schneider-Electric (ACS Seminar: Brisbane 21 August)

CT & the Top Megatrends

Understand which aspects of a problem are amenable to

computation

Evaluate the match between computational tools and techniques

and a problem

Understand the limitations and power of computational tools and

techniques

Apply or adapt a computational tool or technique to a new use

Recognize an opportunity to use computation in a new way,

Apply computational strategies such as divide and conquer in

any domain.

Foundational Skills:

• Ask good questions

• Hardest part may be understanding/characterising &

then modelling the problem

• Two standard approaches here:

• Ask someone else

• Look for a similar problem you already know how

to solve

• What makes problems similar?

– Similar information + computations

Foundational Skills:

The 4 Step Process again:

1. State or define a problem in order to

identify the inputs and outputs of the problem

2. Modelling: Decompose a problem into multiple sub-problems,

including the specification of how solving the sub-problems will

lead to a solution to the problem as a whole.

Use design tools, & algorithmic thinking tools

3. Create the computational artefact - coding

The Modelling Issue & the Design Imperative:

- needs to be addressed

Design Thinking & Algorithmic Design:

• Following a top-down design, the problem at hand is reduced into

smaller and smaller subproblems, until only simple statements

and control flow constructs remain.

Nassi–Schniederman diagrams reflect this top-down

decomposition in a straightforward way, using nested boxes to

represent sub-problems

• Structorizer - http://structorizer.fisch.lu/

Step 4: Verification; Evaluation;

Refine; Implement

• Sports Carnival recording

• School Wireless Coverage

• Language learning support

• Supermarket Queues – self-checkout vs ‘manned’; item(s) check with phone camera

• Back-on-Track GPS Algorithm– Improving Navman

• Tour Itinerary

• Theatre Seating Diagram

• Social Media Feed Algorithms

Some practical suggestions

• Computational Thinking is now being recognized

as vital to our students and our world’s future progress.

• needs to be a core part of the curriculum in our

schools

• It is time to recognize that value of this 4 Step Process of

Computational Thinking and,

• begin to integrate it into the curriculum,

• in particular from Middle School to Junior High but …

The 4 Step Process:

Pedagogical Implications

• … it is in the Senior School (Yrs 10-12)

where we could see an increasing emergence of

Computational Thinking being used in Project

Based Learning to create real world solutions

and innovations

– this has the potential to transform Senior Secondary,

where the core subjects become support subjects, and

enablers to the central role that CT and PBL could fulfil.

Computational Thinking

& Project Based Learning

• Occupations

• Employment Skills

• Learning Analytics

• Disruptive Innovation @ Uni level

• Online education – true de-regulation

• Megatrends

• Motivators

What are the Drivers?

Career Growth

STEM = Science, Technology, Engineering and Mathematics

Degrees vs Jobs

STEM = Science, Technology, Engineering and Mathematics

USA Stats – Coding Camps

http://code.org/stats

Advance your career without having to go (or go back) to a university.Learning to code can be a cheaper option than going to a university.

It takes on average 3 months instead of 4 years, and it costs between $10k-20k instead of $50k-200k.From <http://elearninginfographics.com/2015-year-learn-code-

infographic/>

* Times are changing – coding camps in the Caribbean Islands by

the beach!

Women’s employment in STEM

occupations: 1970-2011

Sustained growth is projected for STEM occupations:

Area

of

Interest?

• Ian Jukes:

“Our education system is not broken, just obsolete”

• Creative workforce jobs

– facilitated by technology and are therefore much less likely to be negatively

impacted by the changes brought about by

• outsourcing,

• off-shoring &

• automation.

Disruptive Innovation:

Future Skills

“The world doesn't care what you know, it only

cares what you can do with what you know!

1.Teamwork

2. Problem solving

3. Interpersonal skills

Long life skills such as creativity, interpersonal skills, critical

thinking and problem solving will be the key to success.”

Connectivity is transforming knowledge. We live in the age of Info-

whelm.

Students are now our clients. They have many options for learning

- Are we offering them a valuable and competitive product?

For the digital generation the world is one great big social

network.

Mobile devices will transform learning experience.

Big data is here to stay. Radical personalization of learning is on

the way.

- Ian Jukes

Future Skills

21st Century Fluency Project & CT

Problem Solving - Yes

Creativity - Yes

Analytical Thinking - Yes

Collaboration - Mostly

Communication - Yes

Ethics, Action, Accountability - Always- from ‘Literacy is Not enough’ – Lee Crockett, Ian Jukes & Andrew Churches

These are long term goals – are our students developing these skills; are they

mandated in the curriculum?

What skills will students most need to succeed in the 21st century?

• Predictive analytics

– detect gaps & differentiate instruction

• Special computer programs

– like ‘Knewton’ provide infrastructure platform

• Analyse which lessons resonate best, for who,

and why.

• An entire class of students can work through

material in a sequence

– and at a pace customized for them.

• The learner is much more in control

Learning Analytics:

• 'Open limit talent' - e-Lancer's (freelancers)

• Fractional products - talent hired for specific project

– Eg. Amazon - 24/7 - use of different time zones

• Better productivity; better lifestyle for the worker;

• But - lack of security

The Future of Work

Udemy

Online Tutoring continues

to grow drammatically.

Ultimately, the most effective motivators are

• autonomy– (the ability to chart your own course),

• mastery – (the ability to become an expert at something), and

• purpose– (the idea that what you are doing serves a purpose larger than yourself).

• Dan Pink – see Ted Talk 2009

• Autonomy, mastery, and purpose are three concepts that Dan Pink explained with great clarity in his 2009 TED talk. The essence of Pink's talk is that tangible rewards (a paycheck, a grade, a promotion) are only effective at motivating people to a certain point.

• Computational Thinking as a discipline/approach to problem solving can offer all three of these motivators

Dan Pink:

Autonomy, mastery, and purpose

• Code for Mobile Apps;

• Games Design;

• Computational Biology

• Cryptography & Encryption algorithmic design

• Big Data algorithms

• Augmented Reality development

• Gesture Based Apps: - eg Leap Motion

Education: Create not Consume:

• “This is why using games as an example is so powerful:

If you tell students that they’ll learn how to create a

video game, they won’t focus on the math, or the skills

they have to learn to get there.

They’re going to focus on what they need to do to make

the games. If the goal is exciting enough, the steps to get

there cease to be serious barriers.”

– Les Miller, Professor of Computer Science at Iowa State University

Learning through Game Development:

• ‘The one thing that I wish I had known about computer science

(and programming more generally) earlier is that it is a

profoundly creative and interdisciplinary pursuit.

• What you choose to apply your problem-solving to is something

that demands great ingenuity in how one transforms patterns of

the physical world into a digital distillation.

• Coding is a process of both synthesis and genesis; not only is it

guided by rules and syntax, but also something you create from

scratch (like you would with a painting or a novel).’

– Jasmine Tsai Software Engineer, Hackbright Academy

Profoundly Creative

Atlassian co-founder, Mike Cannon-Brookes believes

entrepreneurs and technology will be the only source of true job

growth in the next 20 or 30 years.

Bimodal IT advocates that a business operate two distinct ICT teams:

1) traditional ICT – stability, efficiency, etc.;

2) agile or experimental approach to deliver rapid innovations

- “young turks whose attitude is, ‘if it ain’t broke, break it”.

3) Seattle: Thanks to their entrepreneurial vitality, they create

software engineering jobs ~10x faster than they produce grads

qualified to take those positions.

Bimodal IT

Concluding Remarks

1. Posing the right question = Computational Thinking

2. Real world -> modelling or technical formulation

= Design & Algorithmic Thinking

3. Computation = Programming/Coding

4. Verification =Testing, evaluating, refining &

introducing solutions back into the real-world

The 4 Step Approach:

Concluding Remarks:

These is a educational tsunami coming • of needed change;

• of lack of qualifications;

• of serious redefinition of some of what we teach,

not just how we teach.

We need to advocate for Computational Thinking & coding

as foundational to today’s curriculum.

We need to demonstrate how it can both

transform learning & teaching, but also

truly bring the real-world into the school.

My Computational Thinking Curation site:

http://www.scoop.it/t/computational-thinking-in-digital-technologies

Thank you! – My Consultancy Site

• https://computationalthinkingk12.wordpress.com/

Recommended