Recently I read the book The Power of Computational Thinking: Games, Magic and Puzzles to Help You Become a Computational Thinker by Paul Curzon and Peter W. McOwan. I got me thinking about math, problem-solving, and computation. Not least what it takes for young children to grasp some of the concepts, that is involved in computational thinking.
Working computationally involves a basic understanding of symbol manipulation and modeling. This requires that the pupils become aware that e.g., coding and programming are subject to certain kinds of logic and terminologies. The pupils must learn special grammar (certain syntaxes) and think in specific ways before they can begin concrete computational work. For example, abilities within mathematical logic, decomposition, and pattern recognition are part of the prerequisites pupils must possess to work computationally.
These can be taught in many ways, but a well-known and well-tested method is to have pupils solve mathematical puzzles. One of many examples is Cut Hive Puzzles (http://inabapuzzle.com/), which in short, are about having a pattern (cubes) where some walls are marked with thicker lines. There are two rules:
- Each marked area must contain numbers from 1 to the maximum number of cubes in the marked area (4 in the example below).
- The same number may not appear within the same marking, and the same number may not appear in two cubes that are in contact with each other.
https://teachinglondoncomputing.org/cut-hive-puzzles/
By working with this type of task, the pupils learn basic principles that can later be transferred to computational methods, such as the fact that writing programs consist of certain logical rules and patterns.
Although computation historically has its origins in mathematics, CT is not limited to mathematical problem-solving. The pre-computational perspective considers that pupils do not necessarily have the necessary prerequisites to think computationally but that this, along with reading and arithmetic, must be trained and developed. In the CT literature, the abilities to code and program are often compared to literacy skills that are needed for complex mathematical problem-solving in the natural sciences and high-level literature analysis in the language subjects. Therefore, pupils need a basic understanding that precedes the computational.
CT embeds a perspective that is based on the pupils’ ability to think abstractly about phenomena in the world and translate these in ways that can be processed computationally and rule-based. With the Cut Hive example above in mind, this means going from being able to solve a puzzle to writing down rules for solving it.
A completely banal example is:
IF <a given input>
THEN <a specific action>.IF <a hexagon with area 2 contains the number 1 or 2>
THEN <the second hexagon contains the second number>
Writing down rules for programs includes abstractions, generalizations, and pattern recognition. Pupils must be able to exclude other parts of the puzzle to simplify and generalize while simultaneously comparing the generalized rules with the rest of the game’s rules (pattern recognition).
The example here shows how the abstract perspective is fundamental in CT.
What distinguishes this approach to problem-solving in school from others is that, in most cases, it is a question of thought processes that seek to reduce the complexity and interpretation possibilities of phenomena in such a way that a machine (that cannot make decisions based on intuitive interpretations and emotions) can solve tasks that would be too difficult, or take too long for humans to complete.