I expect most of us are familiar with pretending to be robots for pupils to direct. In my computing lessons, a willing(?) adult has a large brown paper bag put over their head with a robot face drawn on it in thick felt tip. This volunteer then has to simulate the actions of a robot, the pupils giving instructions and the ‘robot’ only responding to commands that fit within a restricted range of operations. Such as ‘left,’ ‘right,’ ‘forward,’ ‘backward,’ and so on. This does require “The volunteer has to simulate the actions of a robot, the pupils giving instructions.” a degree of trust between adult and class, that they won’t be directed to bang into furniture, or tread on children sitting around the edges of the carpet. (A less risky session might use a pair of wellington boots painted metallic silver as the means of transforming a human into a robot.) What is important is to be very strict about what commands are followed, and those that are imprecise are met with no response. As well as emphasising basic directions the need for accuracy can be highlighted.
This precision is also evident when using toys and floor robots. In the very early stages I often introduce coding by using a remote controlled car. These can be quite difficult to control, and with the controls in the hands of different children they will shoot off in undesired directions and show how hard it can be to get technology to do what you want it to do.
I also own a remote controlled robot that is limited in its functions – left, right, forward, backward – but which provides a straightforward example of how we can get machines to make predictable movements. Whilst it can’t be programmed, it just responds to presses on the remote control, each press gives a known response, quite different from trying to get a remote car to behave consistently.
Underlying this is the idea that a machine can be made to perform consistently, moving in known, user determined ways, until the commands it is given are changed.
There are now a number of devices on the market which can be used to demonstrate such ideas, and help to introduce children to the basics of computer programming. One such is Cubetto from www.primotoys.com. This is a very basic, two-wheeled, motorised wooden cube that is programmed using something that looks like a shape sorter. A very limited range of blocks – forward, left, right and function – are plugged into a wooden board which connects to Cubetto via Bluetooth. Once the program is arranged a press of a button sends the code and the device follows the sequence. As it does so LEDs light up to show the commands, and debugging is simply a case of moving blocks around. Like many good ideas simplicity masks the degree of complexity that can be explored. Whilst it is designed for very young children in early years settings, or at home, it can be used with older learners with special educational needs as a way to engage them with computing.
There are a couple of things I like about Cubetto, one is the direct connection with toys from early childhood, the shape sorters and puzzles children will have used. The other is the direct connection between the programming and the actions of the device.
This latter element is the attraction of the ever-popular BeeBot and its latest iteration, the BlueBot. These two, from TTS (www.tts-group.co.uk) are floor robots that can be controlled directly from the keypad on their upper side. These consist of buttons that give simple forward, backward, left and right directions together with a delete key (for when you want to start afresh) and a ‘go’ button to get things moving.
Both devices can be used to build a step-by-step set of commands to accomplish a particular task – typically navigating from one point to another on a floor mat. However, the BlueBot is also designed to take commands via Bluetooth from iPad and Android apps, or from a bar into which plastic tiles holding commands can be slotted – known as a ‘Tactile Reader.’ This means that a bridge can be made both from laying out a path of arrows on the floor to coding directly onto a device, and programming through a screen.
When teaching coding I often start with pupils working on a 2x2 grid drawn out on the playground. This simple grid can be used to practice giving commands with learners taking turns to give or respond to instructions. I then use this format when starting out with floor robots. Whilst the necessary commands to move between two points on such a limited grid are straightforward a degree of complexity is also possible, such as asking for the fewest or most steps between two points. Or requiring a specific number of commands.
Using a BlueBot can provide a direct connection into coding on-screen. At first the app controls the device on the table or the floor mat, however you can simply use the turtle on the tablet and not bother with sending commands to the device. The controls are similar to those you would use in early programming resources such as J2Code (from www.just2easy.co.uk) or 2go (from www.2simple.com). Both of these can lead on to learning Logo, the programming language originally developed by Seymour Papert (http://el.media.mit.edu/logo-foundation/index.html).
Devices can also be used to learn about other popular programming languages. The Raspberry Pi can be used with several languages, including Python – the staple of KS3, as can the BBC micro:bit. However, one “BlueBot is also designed to take commands via Bluetooth from iPad and Android apps.”of the more engaging of such developments is the Ohbot (www.ohbot.co.uk). This is a skeletal head, about the size of a football, that can be programmed using Scratch (also from MIT - www.scratch.mit.edu) which works by building blocks of code, to operate in a number of ways. Using an array of sensors it can hold a conversation, turn to look at people as they approach, follow them with its eyes, and even capture images.
Whilst this might sound a little eerie, and off-putting to some people, it is actually a lot of fun in use. The device could prove particularly engaging for students with autistic spectrum conditions (ASC). It is suggested that working with robots can offer such learners not only an opportunity to take part in activities that work with characteristics, such as a desire for routines and resilience in following things through, but also act as a channel of communication. Those learners who may find it difficult to talk directly to another person can use the robot as a third party to direct their dialogue through.
Ultimately, programming is the Primary way in which robots and, indeed, much of our world (including cars now) are being controlled. Beginning by focusing on how we can take charge of toys and simple devices can be the start of taking on a vital role in all of our futures. Whilst it might feel like playing it can lead to some very grown up outcomes.
What devices do you use for Computing lessons? Let us know below!