It seems that a new app for programming or teaching children to code appears every week, and we are rather spoilt for choice these days. Many follow an independent learning, step-by-step approach, most are games of some sort, and often they are based on directing virtual robots or characters around various mazes or challenges.

It would be easy to bring in the shared iPads or tablets, hand them out to the children, and let them get on with it. And I’m sure many of the children would enjoy getting stuck into solving the puzzles and challenges these apps present.

But in a classroom environment, how can we make sure that we are getting the most from the apps and helping children to develop their skills in using decomposition, creating algorithms and programs, debugging and predicting? Those important computational thinking skills that the primary computing curriculum aims to teach.

One of the ways we can do this is to use the app as the stimulus and material for an activity, but not have children actually using the app on the device – at least not straight away. They can always work directly on the app after going through some of the activities below.

Let’s take one of my favourite ‘control the robot’ type of apps, Fix the Factory from Lego® Mindstorms® (free on the iTunes App Store and Google play) which is also available as a free browser based online game, here: http://www.lego.com/en-gb/mindstorms/games/fix-the-factory

fixthefactory
(Screenshot from http://www.lego.com)

By simply projecting one of the levels onto the class screen, so that all the pupils can see the same level at the same time, we can first work as a class to solve the puzzle. Remember to start with clearly identifying what the objective of the puzzle actually is – for example, to collect the box and take it to the target. We could then go on to use squared paper and pencils, and every child can draw the arrows and symbols (which form the programming language that this particular robot understands) onto their paper to solve a level. As we work, step by step, though solving each task, we are using decomposition to break the problem into steps. The pupils can swap papers, check their peers’ solutions and correct any errors they might find – prediction and debugging. Another activity is for children to make a deliberate mistake in the program they are writing down, which their working partner must try to find. In that one activity a child will be decomposing, predicting and debugging.

Can we make the line of commands we’ve written down shorter by introducing repetition? It is less efficient to write down four arrows when we can write it once, followed by ‘x4’ or ‘repeat 4’ or just ‘4’.

To take it further, we could even use direction-based programming apps to help introduce the ‘real’ programming language Logo. A series of arrows can easily be translated into a series of basic logo commands, so children could learn directional commands in this way. Work on paper first, writing the Logo commands into the squares, before moving on to a Logo programming environment, such as MSW Logo or 2Simple Logo (part of Purple Mash.) Apps which don’t go beyond simple directions would be the best ones to use as the stimulus here, as we will struggle to find Logo commands comparable to picking up a box or jumping over a river!

directional-commands

(Remember that when we use directional Logo commands in a Logo programming environment we also need to state the distance to travel or the angle to turn.)

 

 

As I mentioned earlier, there are numerous apps where we can program virtual robots to solve tasks, so let’s have a look at a few possibilities.

beebot-iconBeebot (by TTS Group): Free on the iTunes App Store.

This one probably needs no introduction. The free app is a faithful representation of the little robot found in many EY and KS1 classrooms. There’s nothing like actually programming a physical robot and seeing it follow your commands, but the app can be useful where the number of Beebots is limited, and as a stimulus for  activities away from the devices, as described above.

 

Bluebot (by TTS Group): Free on the iTunes App Store and Google Play.bluebot-icon

Beebot’s big brother is Bluebot – not actually physically bigger, but certainly more sophisticated. You can program the physical Bluebot robot through the free app, but even without an actual Bluebot, the app offers good basic programming challenges and exploration. The full functionality of the app, which includes repetition and 45o turns, is unlocked when you pair your tablet device with a physical Bluebot, over Bluetooth.

 

A.L.E.X. (by Awesomeapps.com): Free on the iTunes App Store and Google Play (paid alex-iconupgrade available.)

Alex is a robot, and the app offers directional programming challenges with increasingly more difficult levels. This also has a ‘create’ mode where players can build their own mazes. The create mode isn’t exactly programming – but it is fun!

 

Cargo-Bot (by Two Lives Left): Free on the iTunes App Store and Google Play.cargo-bot-icon

A more challenging game where we program factory machinery to move crates around.

 

 

Chris Carter
Computing and eDevelopments Adviser
Herts for Learning Ltd.