As kids head back to school this fall, which class should they enroll in? French — or programming?
Apple CEO Tim Cook told a company conference this year that computer programming should be taught in schools as a second language.
Others have echoed that view, arguing that programming should be considered a necessary skill for the 21st century, right alongside reading, writing and arithmetic.
In fact, some Canadian kids are learning to code at summer camps, and Grade 6 to 9 students in British Columbia will soon learn coding as a mandatory part of their classes.
The push to see programming integrated into school curriculum reflects the digital world we live in. We interact with devices and apps throughout our daily lives, from our iPhones and tablets to programs like Snapchat and Excel.
But the mechanization of our lives goes beyond gadgets and apps. When you go for a walk, chances are your way is lit by street lights that are part of a networked grid.
Even the way we get our food, from how it is farmed to how it is packaged and distributed, is increasingly mechanized and automatic. This trend towards mechanization of consumer goods and massive infrastructure is only going to increase in the time that the current cohort of kids goes through school.
Some experts argue that learning code is the only way to stay competitive. While kids in North America are becoming fluent in Snapchat and YouTube, kids in other countries are learning the skills to create those platforms. In one generation that difference in digital literacy could have a huge impact on our economies.
Media theorist Douglas Rushkoff, an advocate for teaching kids to code, says, "Unless kids understand how [the platforms they use] are created, what the component parts and logic is, they're at a disadvantage to those who do know how to build and take apart these platforms."
Learning to code, coding to learn
Teaching kids to code isn't just about preparing them for a changing workforce. In addition to reinforcing skills like math, science, and language, learning programming can be empowering, as students gain insight into how things work.
Learning code helps kids see the world algorithmically, in patterns, and in cause and effect. Ray Feraday, a special education teacher with the Toronto Catholic District School Board, says, "Coding is all about problem solving and critical thinking. You take what may be a large problem and systematically break it down into smaller, solvable parts. This technique develops confidence and self-reliance."
Teaching kids how the digital tools they use are made also makes them more critical thinkers.
'Our whole world is run by code'
Liam O'Donnell, who has been a pioneer in teaching programming in Canada, says, "Our whole world is run by code these days. I think it's important for young people to learn that these things they use everyday, from their smartphones to the cars they ride in, are all running on computer code and that this code is something that is created by people and doesn't just appear naturally."
Knowing that teams of programmers and designers have made careful decisions about every feature in the gadgets and apps we use gives kids a better critical understanding of the true purpose and value of those tools.
The hope is that this will inspire them to make even better ones for the next generation.