I recently saw this video from Hour of Code.
I have been aware of Year of Code, Code Academy and various other learn-to-code movements. But watching this video with a roomful of high-schoolers as part of a programming workshop was thought-provoking.
The Hour of Code campaign is designed to be inspirational, with appearances by actresses, models, NBA players, rap stars, pop singers, skateboarders, footballers and politicians along with the President of the USA. The message is that everyone should code, anyone can do it, and that it is easy to learn. All it takes is a few lines of code.
Code.org, the organization behind the video, includes a formidable list of backers including Bill Gates and Mark Zuckerberg. Their motives are certainly laudable: to expose as many students to Computer Science as possible.
The disquiet has nothing to do with squelching future competition. Unlike medicine, law, plumbing or hair styling, programming is unrestricted and open for anyone to practice. And the majority of programmers prefer it that way. Many are willing to spend untold hours helping newbies and answering questions. The Internet as we know today got started to facilitate such discussions.
Ignoring the choice of role models within the video, the first troubling aspect is about pedagogy. Starting off claiming that a subject is easy sets up students to fail. It almost guarantees that many students are going to feel frustrated and blame themselves or their teachers when they hit the inevitable difficulties.
A related issue is about motivations. Don’t learn programming because the jobs pay well today. Do it if you find it interesting, and can have enough fun for you to put in your ten years.
Seymour Papert, a pioneer in introducing programming to children, had the explicit goal of using programming as a medium, better than pencil-and-paper, through which powerful ideas can be brought within reach. This led to the development of Logo, turtle graphics, Smalltalk and Scratch.
You could say that the tutorials at code.org offer simpler tools and solutions tailored for the browser or tablet. However, they come across as scattershot and unlikely to stick or help develop significant concepts. The feel-good vibe associated with broad and high profile advocacy can make for a shallow experience.
Ultimately, programming is less about coding, and more about conceptual thinking and imaginative problem solving. It would be better to cultivate the analytical mind and hone communication skills without getting bogged down in arbitrary syntax or proprietary frameworks.
This video from the dawn of personal computing should be a useful antidote.
Stay posted on stories, trends and topics of interest.