Why should children learn how to code? The answer is not to become software developers when they grow up. Some of them may well do, but Python for kids is just as important for all the other students too, in the same way that Maths is essential even for those students who will not become professional mathematicians later on in life.
Coding is relevant to build future skills well beyond becoming a software developer.
In this article I'll discuss the two main reasons why coding should gain a more important role in children's education.
Coding in the workplace
Let me get back to the wrong reason we often hear about why kids should learn code. There are more software developers today than at any time in the past - true. And it's likely there will be even more in the future. Probably reasonably well paid too!
But software development is not necessarily always that glamorous a profession. And even if it were, we still won't need every child to become a developer.
However coding is making its way very rapidly into many more professions, often becoming a necessary skill in these fields. I come from the science field, having worked as an academic physicist for many years. Coding was a necessary part of my research work - it would have been impossible for me to do any of my research without being able to code.
Today, many more fields are moving in this direction. More and more finance professionals are realising that relying on Excel to analyse data is hampering their work, especially when they see younger colleagues who can code doing a lot more, and a lot quicker, through coding.
More chemists and biologists are now learning coding, as well as everyone who works in the relatively new field of data science. And we also have people from more diverse fields realising the need for coding: lawyers who want to analyse large sets of case studies; historians who need to find details in large volumes of texts; journalists who need to find relevant information in very long reports; the list goes on.
None of these jobs are programming jobs. But they all benefit from programming knowledge. It is no longer possible to farm out coding tasks to a team of programmers as these skills are too central to the work needed. Just as good knowledge of Maths and English have been a key skill for almost every job for a very long time, coding skills are rapidly becoming ones that are essential. Jobs are changing rapidly and one of the fastest changes happening is the increasing reliance on some aspects of coding. Building these skills to make kids future-ready is arguably one of the most important aspects of kids' education.
Coding for problem solving
There is a second equally important reason for children to learn coding. Few subjects are more focused on problem solving as coding is. Writing a computer problem is the same as solving a problem: we need the computer to perform a task and we need to find the right way to put all the tools we have available to us to good use to get the computer to perform that task.
For many years, other areas of the curriculum we teach children have performed this task. Trigonometry is a good example of this: one of its main purposes in school teaching is not because we'll need it in our day-to-day lives (occasional, we may) but because it teaches children how to think critically and solve problems. Coding, in many ways, is even better suited for this task because it is a very broad subject and has applications across several fields. This means we can help children learn how to problem-solve across a broader range of problems.
Here is an example for an early part of our coding curriculum. We ask students to think of a scene, such as a car driving on a road on a sunny day. They then need to write code to draw this scene using commands that move a 'drawing pen', forward and backward, turn it left and right, change colour, and other similar simple instructions. This is a simple example but they get more complex for older students and those who advance beyond the basics.
And one final reason…
There a very few subjects that most children love and enjoy. Coding is one of them, as long it's taught properly. One of the myths surrounding coding is that it's only suited for those who are good at Maths. There are similarities between the skills that makes students good at Maths and coding, but coding is accessible to other students as well, especially at the beginner and intermediate levels.
Children enjoy coding. A large part of this is because it's a very rewarding subject. Every project has a clear outcome, and when children can use their own imagination and creativity to come up with the project, then that makes it even more rewarding.