This letter is associated with the following article:
Letters
Thursday, September 14, 2006 12:00 AM

Why Johnny can't code

BASIC used to be on every computer a child touched -- but today there's no easy way for kids to get hooked on programming.

Read other letters about this article

  • Thursday, September 14, 2006 10:59 AM

    Why Johnny Can't Code

    I strongly agree with the author that the computer industry has moved from viewing users as participants to being consumers. In 1979 when my first daughter was born the computer "revolution" was just beginning and there were many books teaching programming to children, now it is difficult to find any. Even books and languages that purport to teach programming tend to emphasize the use of prepackaged solutions where the "programmer" simply invokes a routine that is too complex to understand and may not be customnizable or even suitable.

    An example is my aborterd attempt to teach my son to program using Visual Basic. Our first project was a simple game that had little annimated butterflies flying around that exploded when clicked, causing the remaining butteflies to move more quickly. The whole thing was modified from a "screensaver" example. The problem which came up quickly was how to add the sound of an explosion when the butterfly blew-up. I could find nothing in any book in the library, Borders and other local bookstores, or the reference book that came with Visual Basic that told how to programatically invoke a wave file. All the references had on sound was how to invoke a Media Player (start button, pause, etc.). This functionality seems to be primarily focused on the ability to add a user control to a presentation rather to provide a general purpose programing function.

    In my view, learning is what happens when you are trying to do something else. The emphasis should be on the utility that the concept provides, not on the abstract idea that remembering various arcane concepts is "good for you". The best way to teach computing is to try to create something which requires that you program the computer to do it. This bring concepts into perspective and simplifies remembering them. The best type of project to provide the motivation to see it through is one which interests the student (this is not an algorithm to sort a list unless that is part of a more meaninful activity). In most cases this would be best served by teaching game programming. I am not talking about coding Oblivion from scratch (although it might evolve into that at higher grade levels) but starting with simple games (my 18 year old still enjoys Castle of the Winds) and progressing from there.

    The other problem is that in the quest for bigger and better, programming languages are evolving quickly, making it difficult for the reference materials to mature because they go obsolete so rapidly. I propose that we create several stable languages such as "Educational Basic" or "Educational C++" that have a commitment to staying the same so that the reference materials can pe produced, mature and be profitable for their authors and publishers while providing the ability to convey the concepts to anyone who wishes to learn. A simple tool used well is better than a complicated one that is not used.

    Jim

Most Active Letters Threads

740

The commendably missing element from Obama's speech

There was no pretense that human rights is our goal, or the likely outcome, in escalating the war
397

Do Obama officials know what his Afghanistan plan is?

What explains the completely contradictory statements from key aides on a central plank of the war strategy?
392

America's regression

It's almost impossible to find a nation with as many torture advocates as the U.S. has.
312

Palin: Birthers have "fair question" about Obama

Of Obama birth, the ex-governor says, "the public is still, rightfully, making it an issue" (Updated)
211

The poster boy for progressive self-delusion

Read Hayden's 2008 Obama endorsement to remember the way the left sold our centrist president to itself

View all »

Letters Help

Currently in Salon