Computational thinking is an approach to solving problems by developing solutions that can be understood by a computer. Now part of the National Curriculum, it is defined as a set of concepts and approaches which can be used not only in Computing lessons, but across the primary curriculum.
Tinkering is an approach which can be used in the classroom to support problem-solving. The aim of tinkering is not to fiddle mindlessly until frustration sets in, but rather to explore, create and make in a purposeful way, often by trialling, prototyping and improving. Its roots are in Papert’s theory of constructionism, where a framework of knowledge can be constructed whilst building an artefact, object or model for others to see. In fact, by writing this blog post, I am constructing my own idea by combining computational thinking and tinkering to create computational thinkering.
So how can teacher support purposeful tinkering in the classroom?
First of all, the technology or tools has to be age-appropriate. A tool which is too easy to use will not offer enough challenges for learning; technology which is too complex will mean that time is spent trying to understand how to use it rather than how to create with it. Beebots are perfect for developing algorithmic thinking, logic and sequences in Key Stage 1, but do not offer the opportunity for developing more complex solutions with repetition, selection and variables that are needed to deliver the Key Stage 2 programme of study.
The next requirement is the purpose. A child is much more curious to program a robot or on-screen turtle to draw the shapes on a games controller than if they are asked to draw a square, circle, triangle and cross. In fact, by telling a child what shapes to draw, part of the solution has already been defined. Part of the thinking for them has already been done. The purpose must be defined as a problem, not a half-solution.
Finally, and most importantly, classroom pedagogy needs to support learning by scaffolding the construction of knowledge, not the transference of information. For example, when learning to code in Scratch, children often make the mistake of adding code to the stage rather than a sprite. I have found it more effective to ask a child “Which object on the screen have you given those instructions to?” than to say “Add the code to the sprite instead.” Although the child usually takes longer to realise the problem and correct it if I intervene in the first way, it opens up their curiosity about what might happen if they add code to the stage, provides an opportunity to collaborate with a partner and builds a positive attitude towards future problems.
Computational thinkering is always fun, sometimes puzzling, occasionally frustrating and ultimately rewarding.