Computational Thinking
Developing possible solutions to complex problems
What is Computational Thinking?
Four Cornerstones
This is Computer Science!
Computational Thinking Concept | Computer Science Application |
Break a problem into parts or steps | Break a computational graph problem into 4 sections, each one to be completed by a different computer processor |
Recognise and find patterns or trends | Visualize data comparing microchip material and computer speed to notice a trend |
Develop instructions to solve a problem or steps for a task | Write a computer program to sort data |
Generalise patterns and trends into rules, principles or insights | Realise complex data structures require less code than complex programming |
This is NOT Computer Science!
Computational Thinking Concept | Subject Area Application |
Break a problem into parts or steps | Literature: Break down the analysis of a poem into analysis of meter, rhyme, imagery, structure, tone, diction, and meaning. |
Recognise and find patterns or trends | Economics: Find cycle patterns in the rise and drop of the country's economy. |
Develop instructions to solve a problem or steps for a task | Food Technology: Write a recipe for others to use. |
Generalise patterns and trends into rules, principles or insights | Mathematics: Figure out the rules for factoring 2nd-order polynomials Chemistry: Determine the rules for chemical bonding and interactions. |
Some Examples...
Decomposition
Decomposition
Decomposition
Decomposition
Chess Game
Make Changes
Insert Move
Draw Board
Change Player
Check if won
Verify Move
Enter Move
Change Position
Decomposition
Chess Game
Decomposition
Rock, Paper Scissors
Decomposition
Rock, Paper Scissors - Discussion
Algorithm Design
Algorithm Design
Algorithm Design
An algorithm can be defined by creating a series of step-by-step instructions that can be used to solve a problem or carry out a task.
You just created an algorithm in the previous task!
What must we do for our algorithms to be effective?
Algorithm Design
Given two containers, one that can hold 4 ml and one that can hold 7 ml, how can you get exactly one of these containers to hold exactly 5 ml?
Algorithm Design
Given two containers, one that can hold 4 ml and one that can hold 7 ml, how can you get exactly one of these containers to hold exactly 5 ml?
Instruction | Quantity in A (max 4) | Quantity in B (max 7) |
START | 0 | 0 |
Fill A | 4 | 0 |
A -> B | 0 | 4 |
Empty B | 0 | 0 |
Algorithm Design
Algorithm Design
Instruction | Quantity in A (max 4) | Quantity in B (max 7) |
START | 0 | 0 |
Fill A | 4 | 0 |
A -> B | 0 | 4 |
Fill A | 4 | 4 |
A -> B | 1 | 7 |
Empty B | 1 | 0 |
A -> B | 0 | 1 |
Fill A | 4 | 1 |
A -> B | 0 | 5 |
To find out more...
Google’s Computational Thinking for Educators course: https://computationalthinkingcourse.withgoogle.com/course
Exploring Computational Thinking - Materials for all subjects: https://www.google.com/edu/resources/programs/exploring-computational-thinking/index.html#!ct-materials