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 03:28 PM

    Programming for everyone

    I strongly sympathize. Some years ago Guido van Rossum (creator of Python) wrote an essay on essentially this topic, something like “Programming for Everyone”. Programming is important, for all the reasons you state. And an easy entree is extremely important, as you say.

    Let me mention a hopeful development. Last year at North Carolina State University all 1600 students in the giant intro physics course taken by engineering and science students wrote computational physics programs to model physical systems (e.g. spacecraft going from Earth to Moon) or to display electric and magnetic fields in space, all with navigable 3D graphics (as a side effect! of computation), even though half of them had never programmed before (and that half’s experience was pretty rudimentary). The major reason for having them do this is that computation is now co-equal with theory and experiment in physics and many other technical disciplines, and because only computation gives a sense of some of the most important and fundamental physics issues. For example, students can solve the unsolvable threebody problem simply by step-by-step numerical integration (the “Newtonian Synthesis”; starting from initial conditions, evaluate the forces, update the momentum, update the position, repeat). They get no sense of the Newtonian Synthesis by solving F=ma for a constant “a”. (For the larger context in which this work takes place, see www4.ncsu.edu/~rwchabay/mi -- a curriculum that acknowledges that the 20th century happened instead of concentrating on physics prior to 1850. I should mention that this curriculum, including the computational component, is also being deployed at Purdue and Georgia Tech this semester.)

    The tool the students use is VPython, consisting of Python plus a Visual module created initially by David Scherer in 2000. It is free, open-source, multiplatform: go to vpython.org. We carefully teach just a small subset of Python adequate for writing short simple programs. There’s a basic tutorial at vpython.org, but if you’re interested contact me for more info on the sequence of activities we have our students engage in. Python, and VPython, like Basic, lets people write tiny little few-line programs that do something useful and interesting, without the huge startup overhead in learning and setup required with most languages. A short program should be short. Python even offers a shell window where you can type one statement at a time, and see what each statement does. Having used Basic and similar languages, I don’t see much difference between Basic and the simple programs students write in Python or VPython. It is true that Python can do far more than was possible in Basic, but thankfully you can start extremely small and yet do something interesting.

    Matt Greenwolfe at Cary Academy in Cary NC has his high school students do all kinds of splendid projects using VPython.

    A footnote: Basic has a deservedly good reputation for easy programming, but an inappropriate bad rap for being clunky. The clunky Basic’s were the ones offered on early microcomputers. The real Basic was a major development earlier by Kemeny and Kurtz on their timesharing system at Dartmouth, where in the 70s all students learned and used Basic in courses. Kemeny and Kurtz must have been horrified when it was mangled in transferring to the micros.

    And also, not coincidentally, the programming culture at Dartmouth was destroyed when the college got Macintoshes in the 80s, a machine with which you could do almost everything EXCEPT program it. The GUI made it almost impossible for ordinary people to write programs at all, and certainly impossible to write programs that looked like professional programs, whereas one person’s Fortran or Basic program writing text to the line printer or teletype looked just as nice as anyone else’s. (Another thing that contributed to the demise of the Dartmouth programming culture was that the timesharing terminals were in public rooms that encouraged discussion; the Macs were in individual dorm rooms.)

Most Active Letters Threads

530

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?
180

I live in a van down by Duke University

How do I afford grad school without going into debt? A '94 Econoline, bulk food and creative civil disobedience
129

A new report questions "suicides" at Guantanamo

Why is the Obama DOJ attempting to block judicial review of three highly suspicious deaths?
128

Is my kids making me not smart?

Stay-at-home fatherhood dulls my intellect to a nub. Excuse me while I ponder the subtext of "Hippos Go Berserk"
126

Trig, the anti-abortion straw baby

Sarah Palin's son is being used to demonize pro-choicers

View all »

Letters Help

Currently in Salon