Jim Battle wrote:
[snip]
People frown on BASIC and hold their noses, but I
think it isn't so
bad as a first language; use a dialect that allows long variable
names, has subroutines with local variables, etc, and it will be
fine. If the machine has color graphics accessible from BASIC, you
can very quickly get exciting visual feedback with short programs.
Teaching C or PASCAL as a first language would test the patience of
the typical 9 year old, what with having to declare everything before
using it and having sophisticated but subtle syntax. If he takes a
shine to programming, then introduce the cleaner, more powerful
languages. Actually Python might fit the bill for both cases ...
don't worry about the OO stuff and just use it as a simple language
at first.
At the risk of going utterly into the weeds on this one, we're having
good luck with both Alice and Storytelling Alice (both available from
http://www.alice.org) with our recently-turned six year old, despite the
fact that Alice is aimed at high school/intro college programming
students and Storytelling Alice at middle school students.
The nice thing about Alice is that while it's decidedly object oriented
programming, there's no tools to use, no syntax errors, no frustration.
Objects are three dimensional things whose instances you drop into a
world of your making (think trees, people, furniture, etc); most
programming is done by drag-and-drop of methods although there are
conditionals, looping constructs and variables as well as mechanisms
to allow new method declaration, the creation of new classes and
keyboard/mouse interaction.
From having never seen the tool it took him about 20
minutes to put
together his first animated story, which in turn fascinated his
three
year old sister. The cool thing about it is that while he's learning
the concepts and can take the training wheels off if and when he wants
to (Alice is really nothing more than a pretty wrapper around Java) he
doesn't really *know* he's learning the concepts. He's having fun and
learning to program as a transparent side-effect.
--
Chris Kennedy
chris at
mainecoon.com AF6AP
http://www.mainecoon.com PGP KeyID 108DAB97
PGP fingerprint: 4E99 10B6 7253 B048 6685 6CBC 55E1 20A3 108D AB97
"Mr. McKittrick, after careful consideration..."