Should Programming be Taught at Schools?
There's a lot of buzz around technology education at the moment. The old ICT courses which taught children to be passive consumers are being overturned as schools in the UK are encouraged to set up their own curricula with programming at it's core. At the same time after-schools clubs are growing in popularity with projects like Code Club operating in nearly a thousand British schools.
This boom has been thanks, in part, to services like Code Academy and Scratch which have revolutionised the way people learn to programme, and to projects like the Raspberry Pi which hark back to the golden age of the BBC Micro.
While I don't necessarily buy into the Rushkoffian rhetoric of "programme or be programmed", I see huge benefits in leaning to code. For instance it's a practical and engaging way of teaching other skills like maths and physics, while the problem-solving techniques you pick up are highly transferable. I also think it can provide young people with a sense of agency and purpose which is often lacking in their lives (computer games often fill this role). So as somebody in the technology industry I see this trend as a very positive move. However I also wonder if this could just be a case of selective bias?
Classicists argue that Latin is is one of the most important subjects to be taught at school as it's the basis for all modern languages. Similarly business leaders argue that finance, law and entrepreneurship should take a central place in school curriculum. We even have sports people and celebrity chefs calling for health and nutrition to feature more prominently in schools. I bet if we asked most vocations, from engineers and architects to TV presenters and ballet dancers they'd be able to provide a string of tangible benefits their profession can teach. As such I struggle to tell how valuable learning programming at school really is or how we balance this against other subjects.
I also worry about the expectations we're setting by teaching programming as a core subject. Are we creating a generation of children raised on the dream of becoming the next Internet entrepreneur only to end up creating an underclass of poorly paid Microserfts? What's more, do we really want our education policy dictated by the Facebook's and Google's of this world, just to ensure they have a plentiful supply of engineers?
It's a tough question and one that has me sitting on the fence. The benefits to me are immediate and obvious. However I still can't shake the concern that the downside will only become apparent 5 or 10 years down the line when it's Java (pun intended) programmers serving our coffee in Starbucks rather than geography graduates.