Is it about coding? No. It’s about computational thinking.
“Computational thinking confronts the riddle of machine intelligence: What can humans do better than computers? and what can computers do better than humans? Most fundamentally it addresses the question: What is computable?”
It is a common misunderstanding that coding is just something that computer scientists do. Rather, even though coding as a specific activity is “humans telling machines what to do”, the skills involved in coding are useful cross-curricular skills. They are thinking skills that our students need in the 21st century.
Computers are best at following lists of instructions (code) without thinking, while we humans are best at critical and creative thinking, making inferences and judgements, and problem-solving.The singularity is not yet here; humans are still better at non-routine cognitive tasks than machines. Let’s hope things stay that way. The pace of new developments in machine learning and AI suggest we may have to work hard to “stay ahead” of the machines, though.
But computational thinking is the thing that bridges the gap between computer and human endeavours. Lorena Barba calls it: “a source of power to do something and figure things out, in a dance between the computer and our thoughts.” (see: http://lorenabarba.com/blog/computational-thinking-i-do-not-think-it-means-what-you-think-it-means/ )
Western’s George Gadanidis explains computational thinking as “solving problems, designing systems, and understanding human behaviour by drawing on concepts fundamental to computer science.” (see: http://www.mathsurprise.com/index.html)
Note that this does not mean we want or need our students to be using computers all day to be computational thinkers.
A child packing her backpack in the morning for school, purposefully choosing what will go in it, is thinking computationally. Following a recipe (or better yet, writing one), is thinking computationally. Brian Aspinall is fond of getting kids to write out their tooth brushing sequence as an algorithm. Think about it: would it work, if you rinsed the toothpaste off the brush, and THEN brushed your teeth? The algorithm you use works!
Selecting a math strategy to solve a problem in math class is thinking computationally. Reading, analyzing, and drawing conclusions from graphs is thinking computationally. Recognizing patterns, like a simple ABAB pattern in Kindergarten made from loose parts, is computational thinking.
The Google Computational Thinking Course for Educators lists four types of computational thinking:
1. Decomposition-breaking down data, processes, or problems into smaller, manageable parts
2. Pattern recognition-observing patterns, trends, and regularities in data
3. Abstraction-identifying the general principles that generate these patterns
4. Algorithm Design-developing the step by step instructions for solving this and similar problems
For teachers, if you think about the subject areas we teach, i’m sure you can come up with some examples in each of these areas (math teachers will find this easier, but there are examples in every subject area).
Even if you are not a teacher, how can a computational thinking perspective inform your life? Notice when you are using the four elements outlined above. Chances are you use them everyday, and will tomorrow. It’s a computation future!