There’s been a bit of noise on teaching kids programming at school level. It’s been on the boil for a while now and accelerated when TED released the video of 12 year old Thomas Suarez an iPhone App Developer.
From previous experience and also from doing computer studies from 1985-1990 here’s my take on things.
At a primary school level using computers is fine and teaching the basics of logic is even better. To a point this is already happening.
Dedicate computer clubs within schools teaching programming will fair better than a class based lesson in programming. Attention and ability levels aside, not everyone is interested in text on a screen.
Focusing on one language is dangerous. In the 80’s we had little choice, at the time every classroom had a BBC Micro and you were plunged in to the mysterious world of BASIC. It’s real world use was,well how can I politely put it, limited. Is there such a thing and a natural kids based programming language? And what’s taught now probably won’t be relevant in the real world when the same child leaves school in 5/6/7 years time.
Lastly, not everyone is cut out for programming. There has to be an inner drive to want to program a computer in the first place. It’s usually to challange an assumption or to solve a problem and if kids aren’t inquizitive from the start then the uphill task of learning to program becomes all the more harder.
It’s great that kids do want to program but if the single aim is to create iPhone developers to make apps then we’ve already failed before we started. The quality of the teacher is vital as well, it’s not about programming knowledge but being able to hold an air of mystery so intoxicating that any kid will say, “that’s what I wanna do”.
The likes of Thomas are a rare 1 in 10,000 kids who can apply all this logic, patterns and the syntax and put it together. On the opposite side of the coin I’ve seen grown men in tears over trying to get Java to produce a simple for loop because the books they were given were useless.