Skip main navigation

Teaching Computer Programming in Schools

In this step, you will consider why programming is taught in schools. This is not only to enable children to create many useful and wonderful things but also to help them acquire the many varied skills that can be learned through programming.
A student making notes on a piece of paper, with a jigsaw puzzle and a lightbulb appearing in thought bubbles

In this step, you will consider why programming is taught in schools. This is not only to enable children to create many useful and wonderful things but also to help them acquire the many varied skills that can be learned through programming.

Why Teach Programming in Schools?

Teaching programming in schools makes children aware of how computers work and gives them an awareness that many of the devices around them, such as traffic light control systems, cash machines or virtual assistants (e.g. Alexa), have actually been programmed in order for them to work. By teaching children to program, we empower them to take control of computers and provide them with a platform to understand and change the world.

When programming, children simultaneously develop many soft skills such as collaboration, communication, turn-taking and conflict management, among others. The skills children learn when programming support their understanding of computer science and may also be applicable more widely, both in other subjects and outside school.

Developing Problem-Solving Skills

Teaching programming supports children when solving problems. For example, you could encourage them to break down their task into smaller chunks (decomposition) so that they can fix a smaller amount of the problem at one time. Many of the skills they learn when solving problems with their programs can be applied to other areas of their learning or lives.

Building Resilience

Programming can often cause frustration. When children create programs, they may find that their programs do not always work as they want them to and often encounter many errors in their code. It is important to teach children that it is OK to make mistakes and to support them in learning from those mistakes so that they can develop their programming abilities. By making mistakes and fixing them, children build up their resilience; they begin to get used to dealing with problems they meet rather than giving up.

Developing a Growth Mindset

You should support children to develop their computing skills and add new concepts and ideas to their programs. It is helpful to remind them how they have been able to improve over time, as this helps to foster a growth mindset. This means they recognise that while they can’t do something at the moment, or that they’re finding something challenging, it will not be like this forever. It supports the idea that hard work and determination can enable them to improve their skills, even if they find things tricky to start with.

Programming Breeds Creativity

When children program, they learn skills to help them express themselves in new and creative ways. This could be through the creation of art work, programming music, or building their own websites. Creativity in computing can differ from art or design and technology lessons and may appeal to a different set of children.

Future Careers in Programming

Over the last two decades, programming has become one of the most sought after skills from employers across a range of industries. One of the roles in educating children is preparing them for the jobs they will do in the future. Technology is developing rapidly and some of the jobs that current key stage 1 and 2 children will pursue haven’t even been invented yet. It is important that you consider how you can prepare children with the skills for the job markets of the future.

Why Computing is Part of the National Curriculum in England

In January 2012, the report Shut down or restart? produced by the Royal Society, analysed the state of computing in schools in the UK. It set out a way to improve the situation, which included the need to recognise computer science as a rigorous academic discipline.

Due to this research, the computing national curriculum for England was rewritten in 2014. Specific programming objectives were introduced for all children aged from 5 to 16 years old, which identified many of the skills that have been discussed within this step. This change has given greater emphasis to the teaching of programming within primary schools in England.

Following a further report, After the reboot, the UK government set up the National Centre for Computing Education to further these aims – which led to the creation of the Teach Computing Curriculum and Futurelearn’s own Teaching Programming to 5- to 11-year-olds course, for example.

Something to think about:

Why do you want to teach programming?

This article is from the free online

Teaching Programming to 5- to 11-year-olds

Created by
FutureLearn - Learning For Life

Our purpose is to transform access to education.

We offer a diverse selection of courses from leading universities and cultural institutions from around the world. These are delivered one step at a time, and are accessible on mobile, tablet and desktop, so you can fit learning around your life.

We believe learning should be an enjoyable, social experience, so our courses offer the opportunity to discuss what you’re learning with others as you go, helping you make fresh discoveries and form new ideas.
You can unlock new opportunities with unlimited access to hundreds of online short courses for a year by subscribing to our Unlimited package. Build your knowledge with top universities and organisations.

Learn more about how FutureLearn is transforming access to education