Why should everyone learn to code?
My daughter will be eight next month. It intrigues me to try to guess what she will be "when she grows up" and how different the world will look by then.
The growth of technology since she was born has been dramatic: all manner of new digital devices in our homes, changed ways of working and doing business and an astonishing array of ways to connect with our friends and family.
How are schools preparing our children for this rapidly changing world? They started out by trying to teach the skills children would need to cope with new technology, including spreadsheets, business processes and budgeting. These skills are incredibly useful, but the specifics will date quickly. To take just one example, the word processing software I'm using to write this article won’t be around when my daughter leaves school.
Schools also teach disciplines, of course. A discipline (like physics) is built on principles, ideas, knowledge and laws. Disciplines are broadly applicable and they don’t date. So, every toddler knows that when they jump up, they fall back to the ground. They'll probably even be told this is due to gravity. Learning about gravity, and the laws of physics, will serve them well in future life, regardless of whether they become a physicist. In the same way, learning that we can interpret the past and understand the conditions and forces that have brought us into the present (the discipline we call history) is a vital part of education.
Computer science is – and should be taught as - a discipline. Just like physics or history, it entails a body of knowledge, methods, underlying principles and ideas that equip our children to make sense of the world around them.
Just as we teach physics because we live in a physical world, and history because we’re the result of the past, we should also teach computer science, because it’s the foundational discipline of our digital world.
Disciplines are what allow us to teach our children flexible and readily applicable skills. In recent years, ICT classes for too many children in our primary and secondary schools have focused on the technology, losing sight completely of the underlying discipline. Once the technology shifts (which it keeps on doing) this knowledge isn’t very useful at all.
The old ICT education actually left children powerless in the face of complex and opaque technology. It disenfranchised them because it failed to give them the thinking to make informed decisions about their digital society. It deprived our nations of a well-qualified and enthusiastic stream of students able to envisage and design new digital systems.
For many of our children, and possibly for us too (!) the devices we use every day seem to work as magic: powerful yet under someone else's control. But it's not actually magic - it's only computer science.
The new curriculum, now called computing and introduced in our primary and secondary schools in September 2014, includes three important strands: digital literacy, information technology and computer science. The aim is to ‘equip children to use computational thinking and creativity to understand and change the world.’
This is a great ambition, and one in which England is leading the way. No other country is currently saying that every child should be able to “understand and apply the fundamental principles and concepts of computer science”, from primary school onwards. It’s a big idea but one I believe is incredibly important for all of our children, including my eight year-old daughter, who will be better equipped to understand their brave new world, whatever it might hold for them.