Bringing coding to life: practical ideas for the primary classroom
Few subjects offer as many opportunities for real-life learning as computing. Here, Master Teacher Dan Cumberland shares his own successes (and failures) in bringing coding off the page for his pupils.
Computing is one of the most rewarding, innovative and exciting parts of the primary curriculum. In my own experience, many of the pupils and teachers I have worked with are now seeing the benefits this wonderful subject can bring to the classroom.
However, as a reflective practitioner, I often find myself thinking about how to develop and refine the experiences we are offering our children. Once children have got the hang of fancy words and phrases such as “algorithm” and “computational thinking”, I feel it is important to make sure we are providing them with practical opportunities to develop their skills.
While it is possible to cover the curriculum purely by virtual means, having children apply their knowledge in a “real-life” situation opens up a deeper set of thinking skills. And, as with any other core subject, applying learning in a different context can demonstrate whether children have a secure understanding of what they have been taught.
Embrace the wow factor (without breaking the bank)
One of the main benefits of physical computing is pupil engagement. Nothing quite beats the feeling of seeing something you have coded working in front of your eyes. Even the simplest of tasks, such as making a light turn on and off, can be greeted by a chorus of “ooohs” and “aaahs”.
There are now lots of ways to incorporate physical computing into the classroom. Lego® Education continues to be popular with its WeDo 2.0 and Mindstorms® Education EV3 kits, and now Raspberry Pi and micro:bits are also readily available. Although all these come at a cost, it can be surprisingly inexpensive to purchase sufficient resources to create a multitude of projects.
Find the right balance between guidance and independence
When introducing something new, either a programming language such as Scratch or something more physical such as Lego® WeDo , it is important to let children go through the “tinkering” stage. Let them explore what the capabilities are. Get them asking questions and trying things out for themselves.
When they become more comfortable, start offering some “base code” that will perform a task at a fundamental level but also allow them to develop their ideas. This will mean that they will be well-equipped to have the metaphorical stabilisers removed and come up with their own unique concepts.
Planning is key, but don’t stifle creativity
We’ve all been there: we teach a unit of work and then give children the opportunity to apply their new skills on their own project, only to be greeted with grand visions of what they hope to achieve in the space of three lessons that would take a team of engineers an entire year.
Obviously, you are there to facilitate and guide, but it’s important not to put the barriers up too early. There will be failures - I remind my class of that every time we begin a computing lesson - and pupils will have to learn to adapt their original vision. However, let them take the journey of self-discovery first. They do surprise you with what they come up with.
Always think big and don’t be afraid to embrace ideas
Encourage creativity at every step. One class I taught recently learned how to program a micro:bit to be a step counter. During the lesson, some of the children were talking about the recent creature they had caught on Pokèmon Go. This led to a discussion about how we could evolve (pardon the pun) our step counters to become Pokèmon egg hatchers, whereby eggs would hatch after a certain number of steps.
The children then began to combine their prior work on creating animations on LED screens with computational thinking, where a random Pokèmon would hatch each time. Before we knew it, we were making watch straps to hold their hatchers, which quickly caught the attention of some of the younger children (and staff) when a group of 30 children wandered around the school wearing their newest fashion accessory and wondering what creature would hatch next.
The quality of the code produced to make these far exceeded my expectations and there was a real buzz about the project, not only from the children I had taught but from the rest of the school.
Get other subjects involved
So you’ve learned how to code a sequence of traffic lights? Great. Now get the cardboard, pipe cleaners and (not for the faint-hearted) glitter and make your own traffic light stand to showcase your program. In my experience, children spend more time developing, analysing and refining their code if they are working towards a physical endpoint.
It’s also a great way to find cross-curricular links. The annual Christmas Jumper competition organised by our design and technology co-ordinator was enhanced when children programmed a set of twinkly lights to go with it. The beauty of the computing curriculum is how seamlessly it can connect with pretty much every other subject.
Different contexts promote deeper thinking
Children can surprise you with how accurately they predict and problem-solve. One highlight of using Bee-bots - programmable floor robots - to teach position and direction to my Year 1 pupils was watching them apply their knowledge to a match of Bee-bot football. The level of strategy shown by a group of six-year-olds, not only to score but also to defend and block, would rival any Premier League manager.
This was also a great example of collaboration, with the teams strategising, predicting the movement of the opposition and the ball, and amending their moves based on their discussions. It was also a catalyst for some great discussions on computational thinking: “If I do this, what will happen (logic)?”, “Is there a better/quicker way (abstraction)?”
Promote failure
A wonderful mantra I have picked up from my experience is to make it clear to children that, in computing, they will fail. A lot. In fact, I let them know my own failings. If I have put together some code to show them, for example a game or a simulation, I will tell them where I went wrong and how I went about fixing it.
Children are so keen to get it right first time and can quickly lose the motivation to persevere with a task they find daunting. However, combine this with a genuinely exciting task and they begin to see the mistakes as steps towards a larger goal.
I now begin every lesson by going through “the rules of computing”. Rule 1: You will fail lots of times. Rule 2: Computers are not intelligent, therefore it is our job to show them our intelligence in a way they understand. Putting this positive spin on making mistakes means that children arrive at every lesson enthused and ready for a challenge. The children in my class now love telling me when they have failed!
Don’t be afraid to be a big kid yourself
Last of all, enjoy taking the journey of discovery with your students. Physical computing can quickly take me back to my own childhood experiences of wondering how things worked and being amazed at what technology and engineering could achieve. If you show a genuine joy and enthusiasm for what you are doing, the pupils will quickly come on board with you. From there, the learning will come naturally.
Coding is one of those very special areas that can bring groups together to problem-solve and bring ideas to life. If you feel you aren’t proficient in coding, don’t be afraid of the level playing field. Enjoy taking the journey alongside your students; after all, we are here to promote lifelong learning and you can be a perfect example of that.
Dan Cumberland teaches at a primary school in Cambridge and is a Computing at School Master Teacher