Should we teach people how to code in school?

Ulaanbaatar, Mongolia

I’ve seen quite a lot of blogs, notes, and even papers on the question of shouldn’t we teach the next generation how to code? Somewhere in the mix, there’s lots of thoughts that the problem we’re having keeping up with our american friends is because we’ve gone soft on teaching the next generation the essential skills needed to not just become workers but to think for themselves and ultimately take control and drive their own destiny.

And finally there’s a lot of thought that the BBC should be a large part of what ever happens, after the success of the BBC Micro ecosystem back in the 80′s. There is no way I could go on without mentioning the fantastic work which is going on in these areas from Ant Miller, Michael Sparks, Mo McRoberts, Alan O’DonohoeKeri Facer, Adrian Woolard, etc, etc…

My own thoughts are quite complex on this issue but I wanted to talk about one aspect of it… teaching people to code.

Lots of people have said code is law, code is power, code is freedom, code is a way of life. They may even be right but I have a problem with this…

…I’ve never had any formal programming/computer science training. So obviously I would say, its not as biscuit critical as some people are making out. Don’t get me wrong its powerful and the ability to be able to manipulative the landscape around yourself and others is a fantastic thing to have. However there’s more to it than just this.

I have the power to manipulate and bend the landscape to suit myself, its not so elegant but it kind of works because I understand the systems and services around us. I would conclude this is the hacker mindset (although others would disagree or think I’m being a little broad with the definition.

So what is the hacker mindset? And ultimately what is a hacker and what does this have to do with the next generation? Bruce Schneier explains what a hacker is…

What is a Hacker?
A hacker is someone who thinks outside the box. It’s someone who discards conventional wisdom, and does something else instead. It’s someone who looks at the edge and wonders what’s beyond. It’s someone who sees a set of rules and wonders what happens if you don’t follow them. A hacker is someone who experiments with the limitations of systems for intellectual curiosity.

There’s some keywords in that statement which stimulate my thoughts… But the big one is the Curiosity.

From Secret & Lies, the famous Schneier book which I actually own, but I think I lent to someone? (Glyn?)

Hackers are as old as curiosity, although the term itself is modern. Galileo was a hacker. Mme. Curie was one, too. Aristotle wasn’t. (Aristotle had some theoretical proof that women had fewer teeth than men. A hacker would have simply counted his wife’s teeth. A good hacker would have counted his wife’s teeth without her knowing about it, while she was asleep. A good bad hacker might remove some of them, just to prove a point.)

How do we entourage young people to keep there natural sense of curiosity? Somewhere in the process of growing up its kind of knocked out of young people and I don’t know where it exactly happens. I also feel this fits well with my thoughts about the need for young people to explore their inner geek or passion if you prefer.

I would also suggest curiosity + passion is a killer combination and something a lot more people could do with (imho). This combination seems to be great (although not all of them appear in the 8 great traits) ironically.

Inspiring the next generation is the game and aim here, not teaching young people to code. Being smart, curious and passionate is what I wish for all the young people of this and every nation. How the BBC and BBC Micro Redux project (I totally made that up!) fit into this frame I don’t honestly know, but I know many people are chipping away at this in many different ways. I just hope there ultimate aim isn’t to just create a whole bunch of coders because that would be very dull and a crying shame…