Вы находитесь на странице: 1из 89

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 Schroedinger
The 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
The 4th R: Reading, wRiting, aRithmetic
& Computational Thinking

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
• “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/
Coding is the new black
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.”
Computational Thinking – the 4th R
• 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!


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 tsunami
that 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
Introducing the Real World Approach:

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:
- 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
Practical Examples - Commercial
• The question – can’t read the sign?

• The question – which avocado?

• These apps highlight the great potential still to be realised


Scio Video
SCIO

• “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
School Examples:
Swimming Carnival

1 2 3 4 5 6 7 8 9
9 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

Created for
Year 4’s
with there own
stories by
Yr 12 ITS
students

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%).
Talking Book for young writers
local w = display.contentWidth local titleAudio = audio.loadSound("title.mp3")
local h = display.contentHeight local page1Audio = audio.loadSound("page1v2.mp3")
local leftSide = display.newImage( "leftside2.png",0,0, true) local page2Audio = audio.loadSound("page2.mp3")
local rightSide = display.newImage( "rightside2.png",w/2,0, true) …
leftSide.anchorX = -w *0.5 audio.play(titleAudio)
leftSide.anchorY = -h*0.5 local pageSelected = 0
rightSide.anchorX = -w *0.5 local function touchListener:touch( event )
rightSide.anchorY = -h *0.5
local titlepage= display.newImageRect( "title.png", if event.phase == "began" then
display.contentWidth, display.contentHeight, true ) if pageSelected == 0 then -- do nothing
titlepage.anchorX = -w *0.5 elseif pageSelected == 1 then
titlepage.anchorY = -h *0.5 audio.stop()
titlepage.x, titlepage.y = 0,0 titlepage:toFront()
audio.play(titleAudio)
local page1 = display.newImageRect( "page1.png", pageSelected = 0
display.contentWidth, display.contentHeight ) elseif pageSelected == 2 then
page1.anchorX = -w *0.5 audio.stop()
page1.anchorY = -h *0.5 page1:toFront()
page1.x, page1.y = 0,0 audio.play(page1Audio)
page1:toBack() …
local page2 = display.newImageRect( "page2.png",
display.contentWidth, display.contentHeight ) leftSide:addEventListener( "touch", touchListener )
page2.anchorX = -w *0.5 rightSide:addEventListener( "touch", touchListener2 )
page2.anchorY = -h*0.5
page2.x, page2.y = 0,0
page2:toBack()
local page3 = display.newImageRect( "page3.png",
display.contentWidth, display.contentHeight ) The students just modified this template code ,
page3.anchorX = 0.0 but needed to create their own graphics and audio, etc.
page3.anchorY = 0.0
page3.x, page3.y = 0,0
page3:toBack()
local page4 = display.newImageRect( "page4.png",
display.contentWidth, display.contentHeight ) …
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’.
‘4 Step’ Foundations - Wolfram
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.
Kevin Devlin & Mathematical Thinking

• 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.”
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]]]
How far can we go:
Real World Problem Solving:
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?
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
Some Smartphone GPS Apps:
1) Normal car/bike/walk navigation and stay connected with your friends anytime.
2) track mileage for reimbursement 15) Find the value of Taximeter
3) flight log book 16) Truck Fleet management
4) mashup between a to-do list and GPS 17) location like Google Earth
5) tracks your phone, so if you get lost 18) emergency road side assistance
6) share your location details with friends 19) Track your luggage, laptops, pets and anything of
7) amenities nearby importance - need unit in collar
8) Google Maps 20) GPS games - eg. GeoCache, a global GPS based
9) Golf treasure-hunt
10) Runkeeper 21) Freight Tracking
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
The Power of the Mobile – Add ons
• touchscreen • Ultra-sonic sensors
• accelerometer • RFID
• gyroscope • IR Spectroscopy
• camera • etc...
• compass,
• barometer
• Magnetometer SO:
• Proximity Sensor • what opportunities are open
• Orientation Sensor to utilising these sensors
• Infra-red sensor • & what problems can now be
• Bluetooth solved?
• NFC
• Force Sensor
So many opportunities!
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)
CT & the Top Megatrends
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)
Foundational Skills:
 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
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
Some practical suggestions
• 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
The 4 Step Process:
Pedagogical Implications

• 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 …
Computational Thinking
& Project Based Learning
• … 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.
What are the Drivers?

• Occupations
• Employment Skills
• Learning Analytics
• Disruptive Innovation @ Uni level
• Online education – true de-regulation
• Megatrends
• Motivators
Career Growth

STEM = Science, Technology, Engineering and Mathematics


Degrees vs Jobs

STEM = Science, Technology, Engineering and Mathematics


USA Stats – Coding Camps
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-
http://code.org/stats 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?
Disruptive Innovation:

• 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.
Future Skills

1.Teamwork
2. Problem solving
3. Interpersonal skills

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


cares what you can do with what you know!
Future 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
What skills will students most need to
succeed in the 21st century?

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?
Disruptive Innovation @ Uni level:
Learning Analytics:
• 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
The Future of
Work

• '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
Udemy

Online Tutoring continues


to grow drammatically.
Dan Pink:
Autonomy, mastery, and purpose
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
Education: Create not Consume:

• Code for Mobile Apps;


• Games Design;
• Computational Biology
• Cryptography & Encryption algorithmic design
• Big Data algorithms
• Augmented Reality development
• Gesture Based Apps: - eg Leap Motion
Learning through Game Development:

• “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


Profoundly Creative

• ‘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
Bimodal IT

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.
Concluding Remarks

The 4 Step Approach:


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
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/

Вам также может понравиться