Five (out of twenty) things to do with a computer

by Miles Berry

2021 is the 50th anniversary of Seymour Papert and Cynthia Solomon’s inspiration paper, “Twenty things to do with a computer”, in which they set out some suggestions for exciting activities that children in school could do with computers – technology that up to that point had been the preserve of academia, the military and industry, but which they saw huge potential for in schools. Whilst others had concentrated on using, or sometimes writing, programs that would work with numbers or text, Papert and Solomon’s vision was far broader, and seems at least as relevant now as it did back in 1971. Let me show you how five (of their twenty) ideas can still form the focus for inspirational computing lessons today.

Make a turtle. Papert and Solomon are probably best known as the creators of the Logo programming language, in which commands such as FORWARD and RIGHT make a ‘turtle’ move and draw on screen, but the screen turtle came later – the first turtles were little robots, with motors, sensors and pens that would physically move and draw on paper, on the floor or a table top. There’s something very special about being able to put yourself in the place of the robot, following the instructions yourself, just as it would, to test out what a program will do. These days, languages such as Scratch and Python have turtle graphics as a library of blocks or commands, but pupils still benefit greatly from making computer hardware, perhaps using a micro:bit or a raspberry pi as a basis for robotics or some other type of physical computing.

Play Spacewar Papert and Solomon write eloquently about the fun that children had playing an early computer game when visiting MIT, and children continue to find computers games captivating (perhaps too captivating?) to this day. Computer gaming is a great opportunity to develop some computational thinking skills, trying to reverse engineer the rules (the algorithms) which determine how the game works, as well as trying to work out algorithms and common patterns for winning the game. It’s no surprise that so many of the projects that young people make, share, remix and play on the Scratch website are computer games. Creating a good game teaches much about programming, modelling the real world and good design.

Scratch program for the ball in pong

Draw spirals. Turtle graphics is often taught through having pupils write programs to draw regular polygons, which is fine as far as it goes, but a few changes to a standard polygon program result in far more interesting, complex shapes like straight edged spirals. Tweaking the angle of the turn or the change in the side length at each step can produce very different shapes and encourages pupils to experiment creatively with their programming, as well as forming a judgement about which program is better, or which spiral is more beautiful.

Scratch program to draw a spiral

The sprial drawn by this program

Make a music box and program a tune. I think there are some really interesting parallels between playing, and particularly composing, music and programming. For those willing to explore text-based languages, Sonic-Pi provides a really rich, accessible environment for using code as a medium for musical performance, but even in Scratch we can illustrate the key constructs of sequence, repetition, selection, input and output through composing music and creating digital instruments.

Some for the code for Ode to Joy in Scratch

Try CAI. CAI stands for Computer Aided Instruction: just as when Papert and Solomon were writing, much of the use of technology in school stills seems focused on computers ‘programming’ children to give the correct answers to simple questions. There’s certainly a place for practicing spellings and mental arithmetic on the computer, getting immediate feedback without any fear of making mistakes, but Papert and Solomon argued that it was far more powerful to have children creating these sorts of programs themselves rather than just using those written by others. Creating practice programs can be a great programming exercise, but it’s also helps pupils think much more deeply about how they learn something, and what sort of practice and what sort of feedback is most helpful.

A drill and practice maths game

The other fifteen ideas in Papert and Solomon’s paper are well worth revisiting too, but for me, the key message is that learning to code, and perhaps learning more generally, is about making things, and that the things children make can be really quite exciting, beautiful and useful.