Letters posted here are associated with the following article:

301
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.

The letters thread is now closed.

View:
Friday, October 6, 2006 12:15 PM

David Brin Responds: Part 2

4) Many readers are so enthusiastic for PYTHON... and I admit it seems to be the logical successor to BASIC. It allows simple syntax and direct expression of the algorith in sequential lines of code -- which would be highly compatible with the notion of collaborating with schools and textbook publishers. Indeed, an effort along these lines can be seen at: http://www.python.org/doc/essays/cp4e/

Indeed, Python is so widely available, that the goal might be achieved simply via some kind of DECLARATION... say by a prominent education association... announcing support for a Python-based universal entry-level environment. If well-publicized, that may be all that’s needed for everyone from Microsoft and Apple to textbook publishers to lift their pinkies (a minimal twitch) and make this happen.

4) In order to keep using those textbooks (like my son’s) that still have TRY IT IN BASIC exercises, one reader had a fantastically simple suggestion. A turn-key web site! “For easy to use BASIC, it occurred to me that someone could set up a web site consisting of a single big BASIC window. Use Ajax to connect it to a server running one of the free BASICs to do the computation. Retain the BASIC session between visits using cookies. This isn't too hard, it could be whipped up in a week or two.”

(Actually, I seem to be redundant, as #3 appears to fit this bill. Still, others could offer their own versions.)

An ideal system would feature a good welcome page that gave extremely simple instructions for use, would be tested with some of the more common textbook examples, would link to a LIBRARY of cool games and short demoprograms... with a method for people to inload their own contributions. And it would feature a very easy to use graphics pop-up screen, that shows pixels moving in response to the program. (Something I think would be great. a button that lets you iterate the value of "n" each time you press it, instead of just letting the program zoom ahead. Great for students who want to watch the algorithm gradually change in time. (Later: One online BASIC interpreter that's already running: http://www.pachesoft.com/rockerferbasic/ )) All of this is within easy reach, though it might take a small grant. One result would be instant usability for all of the legacy TRY IT IN BASIC exercises, in ten million texts.

5) Some of the letters I’ve received pointed out that JAVA is the one language so ubiquitous that maybe it might do. Only, alas, the syntax is so difficult and unfriendly to beginners that it’s just not help, after all. Unless... a coterie of Java guys created some plug-ins and maybe a few dozen sample programs that would accomplish dual goals (1) illustrate something cool from math/physics curricula or a classic game or moving pixels with math and (2) enticed with software elegance.

Such a set of small programs might entice textbook publishers and teachers, in turn, to go along. And Java’s universal distribution could then do the trick. (And yes, I admit TOTAL ignorance about both Java and Javascript... which are apparently VERY different... which shows how long this road may be.)

Alas, from the majority of the responses I received, it seems that most of those who already know software have very little sympathy for the difficulties of students and teachers out there, or the need for universality and utter user friendliness. Some see absolutely no problem arising from the fact that nearly all computers today lack a universally accessible beginners’ language. To all of you who took that perspective, all I can say is that I can see you passionately believe in your own favorite language that you want kids to download...

...but please ponder; you are ignoring that fact that this only works for the most motivated 10,000. Not for the millions we really want to reach. For them, what has happened is a 21st century betrayal. Nothing less. Quietly, the algorithm has been taken completely away from today’s conputer-user interface, in effect ensuring that our desktops are anything BUT “computers” to kids and other explorers.

Kids who might have enjoyed and been inspired by some of the fun-with-math-onscreen that we all had, long ago. In another age.

With cordial regards,

David Brin

http://www.davidbrin.com

PS... Oh, not everybody thinks old BASIC is a lost cause. Dig this letter writer:

“Today I can code neural networks, plot fractals and beautiful plasmas, solve non-linear differential equations, automate MS Office applications using assembly, C, Visual Basic ... but all only because playing with BASIC made my computing foundation strong. It is the best language for introducing young children to the world of actual computing, and not just using tools created by other people. I have seen many adept programmers who can write object-oriented code but get stuck when asked to swap two values using two variables only. And when I ask them about BASIC, they talk about it as if it was something that used to be used by dinosaurs. “

Saturday, October 7, 2006 02:57 PM

Algorithms

As an instructor of computer science, I see the point to this article. In fact, I had considered requesting a BASIC course be reinstituted (non-credit) for students that needed to learn programming concepts and algorithms. This would be similar to college Algebra or lower level English classes.

Why?

Students struggle with the complexities of the language and OS and lose the art of programming. In scanning some of the posts, I see references to coding in notepad or vi. Have you ever tried to teach students using that method? Sure, for us programmers or system experts we are desensitized to the processes of edit, compile, view and fix errors, repeat.

Will a non-technical parent really build a Linux machine? I doubt that. Yes, OS-X is an option (and I am not going to argue Mac vs. PC or WIndows vs. Linux for that matter) but it is a limited option. If the parent buys a PC for work, I doubt it is a Mac. That is the reality whether you agree or not which OS is better. Buying a legacy computer on eBay or using an emulator is a far cheaper option than a second PC for Linux or a Mac as a second machine.

BASIC gave a quick way of coding and getting results. There was no fancy editor to load and unload (or switch windows). There was no high-tech compiler – just a BASIC interpreter with a line editor. This helped me with the experience of focusing on algorithms and not worrying about systems until I needed to interact with that level. For example, typing: 10 PRINT “HELLO” RUN gives immediate satisfaction of a successful program.

What really honed my skills?

Not having the programs available or the money to buy them. I bought books, subscribed to magazines, and eventually coded my own software to do what I wanted that simply did not exist. It was the concept of PULL learning as opposed to PUSH. BASIC and the external environment provided a great vehicle to accomplish this goal. I focused on typing the code, studying what was happening, and apply those tricks into every facet of computing today.

This was a great article and I am pleased to see so many individuals share my thoughts on the pedagogy of beginning computer programming.

Most Active Letters Threads

444

The Washington establishment suffers a serious defeat

Approval of the Paul/Grayson bill to audit the Fed is both rare and important in several ways
415

The administration guts its own argument for 9/11 trials

If some detainees get military commissions or indefinite detention, how can 9/11 trials be justified?
293

Rule-of-law extremism engulfs primitive Eastern Europe

Why would the new President of Lithuania demand investigations of CIA black sites in her country?
226

A letter to readers

On my current condition: Definitely treatable, definitely uncertain
179

More GOP lies about healthcare reform

Republicans who know better falsely claim that the panel recommending fewer mammograms is a Dem plan for rationing

View all »

Letters Help

Currently in Salon