When I was at school we had a subject called woodwork & metalwork, which was compulsory for all boys. Leaving aside issues of sexism, and the often desultory efforts made by my teachers to teach me the elements of joinery and metalwork, the sense was that all boys needed to be able to make, or at least fix, household furniture, and tackle DIY jobs around the house. By the same token, girls had to do home economics, cooking and sewing. I wish I had taken woodwork more seriously because I lack the kind of DIY skills today that would have stood me in excellent stead. Fewer schools offer home economics, woodwork & metalwork these days, but whatever one thinks of this, I would argue that in the twenty-first century, coding is the new shop!
Just as in previous decades, everyone learned some of the basic skills they might require in life to make and create things around the house, so, in the digital age, I would argue the ability to tweak and hack our programmable machines emerges as crucial life skills which everyone should learn. I’m not saying we all need to become programmers, or that we need to study computer studies as a full subject. To my mind the issue is that all students should be able to, at the very least, use HTML to tweak their blog posts or Facebook page, or mod their favourite games, or tweak their avatars. If MIT has its way the future will be awash with programmable machines, and the ability to actually tweak those settings would come in handy too!
I also believe coding gives one cognitive skills which would be of benefit to all. Coding forces students to think logically and accurately. In these days where opinions are largely expressed by sharing or liking, there is more need than ever for a discipline which emphasizes clear logical thinking. I think that creating games is an excellent way of introducing coding to students. Creating Flash games in particular can be very motivating for students because in a very short time, and with very few skills they can have a superb up and running, and this can be converted to an iOs or Android app.