12 of the Best Resources for Teaching Children to Code
It is now as important as ever to teach children coding. Eight years on from our last comprehensive guide to the best resources for teaching children to code, we’ve updated its findings.
In the 8 years since the original blog, we’ve seen significant technological advances, including the advent of artificial intelligence (AI), which has called the need to teach children coding into question. This new blog considers why coding remains so important for children to learn and looks at the skills and aptitudes it develops, before presenting 12 of the best resources you can use to teach children to code.
What is coding?
At its simplest, coding is telling a computer what you want it to do, which involves typing in step-by-step commands for the computer to follow. There are lots of different coding languages, each one designed with precise things in mind.
Code powers our digital world: every computer, website, smartphone app, tablet, video game and even washing machine relies on code to work. Coders are the architects, engineers and builders of the digital age.
Coding isn’t just a skill but a complete way of thinking that seasons our reasoning.
Why should children learn how to code?
We are surrounded by technology on all fronts. Learning to code enables children to interact with that technology and understand how it works. It puts them in the best place to evaluate its benefits and disadvantages, its opportunities and risks. In short, being able to code enables children to question how and why computers work, it puts them in control, so that it can work even better for them.
Knowing how to code is a massive advantage because, without coders, things soon would come to a grinding halt! Coding is central to so many jobs today - web designers, software developers, robotic engineers and cybersecurity experts - but even people like researchers, skilled tradespeople and businesspeople can command better salaries if they can code. And that’s before we even touch on the jobs of the future, that are yet to be invented.
AI may well take over some of the simpler, time-consuming tasks that programmers today have to deal with, but we’ll still need the thinkers and innovators. What should happen is that AI takes care of the business as usual, freeing up precious time for programmers to add real value on the more creative projects.
10 reasons why we need children to speak code:
- Coding demystifies computers and empowers children. Seeing computers as magical black boxes that do wonderful things disempowers all of us. If we don’t understand computers’ workings and they don’t work, we’re stuck. If they give us the wrong answers and we don’t understand how it’s getting them, we’re liable to take their answers as indisputable and simply run with them. In short, technology will control us rather than vice versa.
- Coding brings computer science to life, makes it less abstract, more tangible, interactive and useful. Understanding that code is fundamentally a list of commands to be followed, makes the results less overwhelming. Yes, the computer has got there at top speed, but the process is the same as you and I would perform.
- Coding teaches logical thinking and precision. If the program includes errors, it often simply won’t work; if the structure isn’t systematic, it won’t give the planned outcome.
- Coding informs us so we’re able to discuss the social and ethical dimensions of technology. AI isn’t intrinsically bad but biased information ‘in’ will result in biased results ‘out’. Understanding this, will help children understand code’s limitations, the dangers of using it badly and seek ways to improve the result.
- Coding fuels creativity and drives innovation: coding lets children express themselves, create amazing things all by themselves. Early projects may be small scale, but coding has real-world applications that have been revolutionary. Just think about self-driving cars and robot-assisted surgery!
- Coding stretches minds: coding helps children develop fluidity in their thinking and become critical thinking trouble-shooters able to face a problem from different viewpoints.
- Coding teaches perseverance: debugging (editing and improving) drives determination and resilience by teaching children to keep searching for a solution when they encounter an obstacle. It normalises mistake-making as a simple part of the learning process.
- Coding builds literacies: coding is like learning a second language and supports a whole range of processing skills.
- Coding is a transferable skill: coding and maths go hand in hand but learning to code supports learning in subjects across the curriculum not just maths.
- Coding supports collaboration: teamwork and social skills can be developed through coding, enabling children to work creatively together.
Where to go for help - 12 of the best resources for teaching children to code
When taught properly, coding can be very engaging, teaching a range of skills in a relatable way but there aren’t many of us that are confident coders and teaching children to code is daunting.
If you are teaching coding for the first time then some general tips on coding can be found on the LEGO website which has a nice cheat sheet of top tips here.
To develop your skills then there are lots of excellent organisations to help ‘get with the programme’. Some are online, some offer practical hands-on workshops and some do both – they all help to teach the fundamentals of coding and real world programming skills.
So, without further ado, here are what I have found to be 14 of the best resources for teaching children to code...
1. barefootcomputing.org
First set up in 2014 to help primary school teachers in England get ready for the computer science element of the then new computing curriculum, Barefoot offer a variety of free resources including exemplar teaching activities and high-quality lesson plans, teach yourself resources and online CPD sessions.
2. microbit.org
The micro:bit is a tiny programmable classroom-friendly computer, which contains all the features you need to code everything from dancing robots to banana keyboards. It’s available to buy or to borrow from certain libraries, and can be programmed using MakeCode, a block-based coding language, or Python.
3. computingatschool.org.uk
Next most popular with teachers is Computing At School (CAS) which aims to promote the teaching of computer science at school and put the excitement back into Computing. Part of the British Computing Society (BCS), the Chartered Institute for IT, CAS is packed with lesson plans, KS1 and KS2 activities and a CPD Toolkit full of help. Apply here also for the new BCS Certificate in Computer Science Teaching.
4. busythings.co.uk
Featuring a funky bearded character that can be programmed to dance, collect stars and more, children will enjoy learning basic programming whilst developing their critical thinking and problem-solving skills.
These resources are included within Busy Things’ cross-curricular platform (a paid-for website). A quick taster of the type of activities included can be found here.
5. code.org
This website includes free coding lessons and plenty of inspiration for helping children get excited about code. It produced a video featuring Bill Gates, Mark Zuckerberg, Jack Dorsey amongst others promoting coding as a superpower. It also includes HourOfCode.com, which has recently been updated with AI activities.
6. raspberrypi.org , www.coderdojo.com, www.codeclub.org
The Raspberry Pi Foundation aims to advance computing education through the Raspberry Pi - a credit card-sized, low-cost computer that allows pupils to learn how to program. Supplementing the Raspberry Pi is an abundance of educational resources. They also run outreach programmes, such as the Raspberry Jam, a regular meetup for pupils to learn more about using the Raspberry Pi.
The site also includes to CoderDojo and CodeClub, which provides opportunities to code through extra-curricular activities typically held after school.
7. appinventor.mit.edu
MIT App Inventor is an intuitive, visual programming environment that allows you to build fully functional apps for smartphones and tablets. This block-based tool lets you create a simple first app in less than half an hour.
8. scratch.mit.edu
If you want to start coding from scratch then Scratch is a free programming language and online community where you can create your own interactive stories, games and animations using drag and drop. There is a Getting Started guide with lots to try and with every activity there is a tutorial with downloadable activity cards and teacher guides.
ScratchJr is designed for young children (ages 5-7) so they can programme their own interactive stories and games. The app is accompanied by the Official ScratchJr Book and 75 Coding Cards.
9. discoveryeducation.co.uk
Discovery Education Code is a paid-for collection of resources. Resources include a scheme of work, lessons with videos, as well as lesson plans for block coding, Python and HTML.
10. kodable.com
Kodable is a US site that contains dozens of lessons that you can filter by content area. It includes teacher guidance, vocabulary words, and pupil materials.
11. apple.com/swift/playgrounds
If you’re looking for resources for the iPad, then you could try Swift Playgrounds, a free app using Apple's new Swift programming language. The idea is you solve interactive puzzles and learn the basics of coding as you go. Further challenges allow you to explore code and create programs that are engaging and unique.
12. turtleacademy.com
A free site designed to enable children learn programming in an easy and fun way using the LOGO language.
Final thoughts on the best resources for teaching children to code...
Coding has quickly become a part of everyday life. It’s difficult to avoid and why would you want to if it saves you time and effort?
The earlier children are acquainted with topics like sequencing, loops, and conditionals, the more likely they are to master them and bend, join, break and combine codes of their own. Understanding concepts such as logic and consequences enables them to go from interacting with technology to creating it for themselves and developing new and better ways of doing things.
Ultimately, coding makes children better thinkers, decision-makers and communicators, and is a skill we should inspire them to harness.
We hope that the resources we’ve highlighted in this blog will help you to do this. Both teaching and learning coding should be fun for both you and your pupils. Computers are tools we need to demystify so that we can use them to maximum effect and ultimately concentrate on the areas we want to.
If you’ve had experience of any of these resources, or indeed any others besides, we’d love to hear your insights. Simply comment below to share your thoughts!
This blog is based on the blog originally written for Busy Things by John Dabell in 2016. It was completely updated and revised in May 2024.