Should coding be taught in school?
Malcolm Turnbull, Australia's Minister for Communications, recently gave a speech calling for "coding" to be included in the school curriculum in Australia, arguing that "instead of teaching students how to be passive consumers of technology or how to use Microsoft Word or other proprietary software, our educators should be teaching students how to create, how to code". He backs up his views with a warning from the Australian Computer Society "that any delay to the teaching of coding would put students at a significant disadvantage from their peers in the UK", and the opinion of some unnamed advisors who "have compared the importance of coding to that of literacy and numeracy".
Commenters over at The Register, where I first saw the story, aren't so sure. Preparing students for creating computer technology sounds like a noble enough goal, but how realistic is it? And how necessary?
For a start, any contention that coding might be as fundamental a skill as literacy and numeracy is surely absurd, since literacy and numeracy are both pre-requisites to the ability to write code. To judge by my experience of teaching software development at university level, even many students who have chosen to enrol in computer science degrees finding coding difficult, so why expect primary school students to make much headway with it?
Still, one can imagine teaching something simpler than what we teach at university level. In my school days, we had BASIC and Logo, and later Pascal, for those of us wealthy enough to have access to computers (hm... maybe this coding-in-school stuff is not such a new idea after all). Learning some BASIC and Pascal in high school probably helped me identify an aptitude for programming, which ultimately led me to computer engineering (though I didn't actually make this choice until I'd studied the basics of all engineering in my first year).
Turnbull acknowledges that not everyone who studies coding in school will go on to be a software developer, just as not everyone who studies English will go on to write a novel. But I can see at least a prima facie case for some coding in school, even if it's a very limited form of coding compared to what professional software developers do, and it comes somewhat later than what its most enthusiastic proponents seem to imagine.
Yet, if the ability to create computer technology is worthy goal, what about the ability to create cars, roads, electrical power distribution systems, agriculture, and all of the other technologies that are essential to industrialised countries? I've often thought that if education departments listened to every professional society and trade association's suggestion that its pet subject be included in the school curriculum, we'd finish high school just in time to retire.
Since not everyone will go on to become a software developer, the real purpose of any coding in school cannot be to give all of us the ability to create computer technology. For me, it was part of making an informed decision about what to pursue after I'd completed high school, and this seems reasonable enough a justification as far as it goes. But determining the value of coding to society at large, relative to other things might be taught in school, requires input from a lot more than just software developers and other computer enthusiasts.
