Of late, there has been much in the media about teaching young people, especially women, to code or, in less arcane language, to program or write software for computers.
The primary justification for this enterprise is, unsurprisingly, economic.
The logic is simple and specious: computer technology is ubiquitous so there are lots of jobs related to computers, therefore we can help solve the current lack of jobs by scooping up our youth and training them to become programmers.
I believe this approach has a strong potential for producing snafus even worse than the initial rollout of Obamacare.
Now please don’t think that I believe that teaching kids to program is a complete waste of time.
I strongly believe that programming is a rewarding and empowering activity that combines the logical thinking of the mathematician, the creativity of the poet, the pragmatism of the engineer and the patient stubbornness of the detective — so it is definitely worth studying.
But I do worry that we’re pushing this bandwagon for the wrong reasons.
When I first came to teach Computer Science at SUNY in 1978, I had the same idea that it would be useful to teach young people how to program but for entirely different reasons.
I thought that learning to program would be an excellent technique for teaching problem-solving methods to college freshman. I believed that programming is an empowering, creative activity that, like any good creative activity, is immensely absorbing and satisfying.
Things went swimmingly for several years resulting in several papers that I delivered at regional, national and international conferences. But I was starting to have doubts.
The question that kept nagging at me was: “Does programming develop general problem-solving skills or is it the other way round — students who already have good problem-solving skills tend to be good at, and hence drawn to, programming?”