Many of us happily drive a car without understanding what goes on under the bonnet. So is it necessary for children to learn how to program computers? After all, some experts say coding is one of the human skills that will become obsolete as artificial intelligence grows.
Nevertheless, governments believe coding is an essential skill. Since 2014, the principles of computer programming have featured on England’s curriculum for children from the age of five or six, when they start primary school.
In the US, President Barack Obama launched Computer Science for All in January, an initiative aimed at giving every pupil from kindergarten to high school programming and coding skills “that make them job-ready on day one”. He even took coding lessons himself.
While not all children will become programmers, Mark Martin, a computing teacher at Sydenham High School, London, argues that they should learn to understand what makes computers work and try to solve problems as a computer might. “Lots of our pupils are consumers of software but don’t understand how it works,” he says.
The computer science GCSE, introduced in September 2014 to replace the information and communication technology (ICT) exam, includes coding and has been incorporated into the English baccalaureate, a performance measure of how many pupils aged 16 obtain a grade C or above in the core academic subjects in government-funded schools.
“The ICT exam showed pupils ‘how to drive the car’, while coding in the computer science syllabus shows them ‘how the car is made’ and ‘how to design a car’,” Mr Martin says.
Jim Flanagan, chief learning services officer at the US-based International Society for Technology in Education, agrees that coding should be on the curriculum. It should not be seen as an end in itself, he says, but it should be taught because it is an important piece of knowledge in the digital world.
“The beauty of learning to program . . . is you understand the core elements of computer science. That remains true even if the language you learn subsequently becomes obsolete.”
Computational thinking involves algorithms, abstract models, data analysis, extracting key information and dealing with complex systems. Students tackle problems step by step and learn from their mistakes.
If you want to lead an organisation in the 21st century, or even just run a project or team, you cannot consider computing to be “just a technical matter”, says Mr Flanagan, because the world is increasingly being run using digital systems.
“Just because something was developed by humans and is on the internet doesn’t mean it is right,” Mr Flanagan adds. “People need to understand how that information was generated and whether to trust it.”
Although coding may seem technical and daunting, enthusiasts say that it can also be fun, collaborative and applied to a wide range of subjects. Programming can be used to tell stories as part of creative writing in English, to devise solutions to environmental problems in geography, and to create presentations or role-playing games in personal, social, health and economic education.
Some see it as being similar to learning to write in a particular form, such as iambic pentameter. It also provides much-needed practical skills for employers. President Obama’s initiative came about partly because up to 600,000 high-paying tech job vacancies across the US were not filled in 2014.
Coding is also a subject at which the UK’s students need to improve, says Mr Martin. “We’re seeing so many people setting up tech companies that we more need developers. But young people won’t get a job from just swiping their finger on a screen to control an app.”
Anita Chandraker, head of digital delivery at PA Consulting, began her career as a programmer. She says the lack of coders holds the company back. “It’s very hard to find the people we need to achieve our target growth.”
As a result, PA runs a competition for pupils aged 7-18 that challenges them to create devices, games or apps to develop their coding skills. “Children should be exposed to programming and understand what it is and the difference between, say, programs to control a robot compared with creating a website,” Ms Chandraker says.