Letters posted here are associated with the following Salon Premium Member:
Published Letters: 1
18 September 2006
Dear Mr. Brin and readers,
I sympathize tremendously with your article about bringing back
BASIC for young people to use on modern machines. I am sure it will
be straightforward as you suggest for Microsoft, Apple, and the
others to provide us with BASIC language facilities on our machines
and that it would be a huge benefit for many of our young people.
Absent that alternative for the short term, I do offer some solutions.
Specifically, I have written a book (with co-author Dietolf
Ramm) called "Great Ideas in
Computer Science" (The MIT Press) which shows beginners how to get started in
computing. It features an introduction to Java with just a few
constructs and young coders can learn them and use them. I felt
that making programs callable from the web would quadruply add
to the fun and so everything is coded in applets. When you run
a program, you enter via the web and the applet interpreter comes
up on the screen. You have buttons which activate your program
features and you can do computations or draw pictures. My assistants
decided to streamline some features and wrote code to implement
some easy input-output capabilities. That code is down loadable from my website at www.cs.duke.edu/~awb.
I have a grandchild coming along and when she hits maybe age 6 or 7,
I will show her the features in our chapter 5 on graphics. It is
pretty easy to write code to put a rectangle or circle or line or
text string on the screen in any color you can imagine. The item you want will come up at the given coordinates and at a push of
the right button (which you have labelled properly). So she will be
able to draw pictures on the screen in early grammar school. From
there, I will show her looping and conditional facilities so she
can draw many squares or circles. And subroutines are easy after that.
Then it should be straightforward to introduce numbers and numerical
computation. We have taught the foundations of computer science to
thousands of college students and I feel that a modification of our
approach will work for younger people.
In your letter, you talk also about the other levels of knowledge
that go with computing: machine architecture, assembly language,
operating systems, networking, and so forth. These are covered in
the later chapters of our book. We end with several chapters on
the limitations of computing: execution time of programs, noncomputability, and programability. So my sympathies with your
points are strong and I have worked very hard to address the
problems.
I will close with an antecdote about my son who turned 14
in the early 1990s and I had a path for him to
follow. He had a passion for computer games and his unfeeling dad
would give him few opportunities to play them. We had been, for
years, walking past the darkened room at the shopping center where colored lights were flashing and bells were ringing with
my son leaning longingly in that direction. I had little sympathy.
But at some point, he asked for his own computer and I decided to
buy him a book on how to assemble your own 486. Then I took him
to the local computer store and agreed to buy any parts that he
needed. The computer store folks were glad to help out and he spent
a few Saturday mornings there screwing the thing together, plugging
in boards, and bringing up the Microsoft operating system. Then
he obtained some cool computer games and he played them until the
keyboard was nearly worn out. In his high school, he had some introduction to programming and he was on his way. Ever after and
wherever he has gone he has been the local guru who can fix your
machine if it does not work and get whatever computation done that
needs it.
So there are many routes to computer competency and I
suggest two here. But I also agree that we should bring back BASIC!!!
Thank you for your thoughtful article,
Alan Biermann
Professor Emeritus
Department of Computer Science
Duke University