A couple of weeks ago, I wrote about the absurd notion (forwarded by Codecademy.com and New York Mayor Michael Bloomberg) that anyone could become a serious, worthwhile programmer, and get a decent job from those skills, inside of one year. This week I came across a story by Andy Young at kernelmag.com called “Coding for Success,” which addressed a slightly different coding question: Should we teach all kids to code as part of their education? For that story’s author, Andy Young, the answer is an emphatic yes. I’m a bit less certain.

I agree with him, to an extent, for two reasons. First, there’s value in it from the standpoint of helping kids understand why computers work. I’ve written before about how nervous it makes me that we’re raising generations of children who put their faith and their trust in computers that are now as ubiquitous as toasters and hair dryers, but don’t get how all the pieces fit together. Just as popping the hood and studying the engine gives you more respect for cars, so would cracking the case or firing up a compiler do so with regards to computers. You can’t truly appreciate anything, let alone make it a part of your soul, until you understand it from the inside out.

Second, doing so could reinforce more than just programming ability. It would probably take me an hour to sew a button onto a shirt and at least as long to use a lathe to turn a block of wood into anything attractive. But the home economics and shop classes I took in middle school introduced me to these activities, and beyond that imparted plenty of other information and qualities that have informed my life since: self-sufficiency, comfort around tools, a willingness to take risks, the idea that something apparently complex can always be broken down into pieces any normal human being can manage. These are important concepts one can learn from working with computers, too, whether on the hardware or software side.

computer lab - 001If coding is to be made a mandatory subject in schools, it needs to be done in just the same, practical-minded way. Ground students in the principles, communicate that ownership and responsibility are as possible with computer programs as anything else, and then move them on to the next thing. Make more advanced courses available for those who are drawn to them, but help everyone attain the essential confidence and comprehension they need to be responsible computer users. Any more than that is not strictly necessary, won’t be desirable to everyone, and may have to be watered down so much that potentially interested students would get turned off.

Young, however, wants the educational system to go further still, and that’s where I see the problems creeping in. In fairness, Young is based in the United Kingdom, which undoubtedly faces a different set of educational challenges than we do here in the United States. But as much as I love computers and as useful as we all know they are, there are many more important things than coding.

Will it help get some students jobs someday? Absolutely. Will it be a complete waste of time for others? Sure. But, as we established the last time, the process of learning any new skill at a concretely usable level cannot be done halfway. It requires a lot of time, a lot of discipline, and a specific background and set of thought processes that don’t necessarily form overnight, or even in the couple of months a course might last. A fifth grade teacher could probably get students to produce screens full of “Hello, world!” or other simple applications. But that’s of limited to use to anyone, and easy enough to forget after one summer vacation spent doing anything else.