This week is the start of the annual “Hour of Code” (TM) festivities, featuring thousands of events around the world. The main idea is to offer a tutorial which is “a one-hour introduction to computer science designed to demystify coding for students and encourage them to pursue technology careers.”
These tutorials are held in 40 languages, pretty much everywhere.
Obviously, this is a great thing. Everyone should try a little coding—it really isn’t that mystifying, and most people can do it if they can tolerate the tedium and the obsessive-compulsive attention to details. Trust me, computers are stupid, you are smarter than them.
For that matter, creating software, like making anything, is intrinsically motivating: there is a thrill to make something that actually works, and say to yourself, I made that. And software is the pure white powder, uncut: your software can be a whole new world, you can make it do whatever you want it to. Physics, smizhics. Gravity, smavity. Virtual worlds can be anything you can imagine.
Come on in, the coded water is fine.
I do have a bit of a problem with the grander claims made for this exercise. For one thing, basic coding is scarcely the heart of “computer science”. I’ve met far too many “coders” who know almost nothing about computers, or compute science. Still, if you like coding, you’ll want to learn more about computers and how to make them do what you want, not what they want.
I have an even bigger problem with idea that a one hour tutorial, any one hour tutorial, amounts to “learning to code”. For instance, I cringed when I saw the headline “100 million students worldwide will learn to code this week for Hour of Code” Yoiks!
Look, you would say that a student “learned to write English”, based on taking a one hour tutorial on ABCs and hand writing. It takes hundreds of hours over years to become competent in reading and writing any language, and computer coding is just the same. Moreover, to be good at it you have to know a lot of stuff besides coding. As the HoC says, you need logic and problem solving skills, and also an understanding of the astonishingly complex world of software out there. A healthy dose of paranoia (what can go wrong, will go wrong), and ability to work with others is a plus, too, IMO.
So, let’s agree with why we want to do this, without going overboard about alleged benefits of the one hour tutorial.
Every student should have the opportunity to learn computer science. It helps nurture problem-solving skills, logic and creativity. By starting early, students will have a foundation for success in any 21st-century career path.