4.2 Tinkering and making things
Another way to introduce computational thinking can be through a programming environment such as Scratch. Scratch was created by the Lifelong Kindergarten Group at the IT Media Lab to enable children to create their own interactive stories, games and animations. It was inspired by the work of Papert (Papert, 1980) who suggested that children should be given the opportunity to experiment and explore ideas by tinkering with things. The intention is that learning is self-directed, with children free to tinker and build their own mental model of how the environment works. As they do this, children develop computational thinking and programming skills (Maloney et al., 2010). Using Scratch, children are free to open, explore and ‘see inside’ tens of thousands of programs shared by others and ‘remix’ them, that is, adapt them or use parts of them in any way they like.
Scratch is a visual programming language in which programs are written by fitting together blocks. The blocks contain individual instructions that program on-screen elements such as characters and objects. In the very simple program shown in Figure 9, the cat character asks the crab character his name and on receiving a reply, introduces herself as Kitty. The program that does this can be seen to the right of the figure. A key feature in the design of Scratch is that you don’t need to have any previous programming experience to use it. You can use it without direct support or guidance. Making it ‘tinkerable’ in this way encourages hands-on learning and supports children to start with simple actions and build complexity. This is often referred to as a bottom-up approach (Maloney et al., 2010).
Activity 6 Using Scratch for programming
Watch this video from Carolside Primary School in Scotland. The school felt that there was a gap in their support of programming for their students and so decided to partner with their local high school to devise a programme of study focused on programming using Scratch.