Intro programming for kids (was: Re: Teaching kids about computers...)
chris at mainecoon.com
Wed Nov 21 15:22:16 CST 2007
Jim Battle wrote:
> 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
>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 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..."
More information about the cctalk