On Sat, 2006-11-11 at 10:20 -0700, Jesse Stay wrote: > I've been teaching my 6-year old daughter Logo through > http://www.logowiki.net. She absolutely loves it, and is now trying > to teach my 4-year old son what she now knows how to do.
That is so cool! Containing the entire environment within the web browser is a very good idea. Javascript is powerful enough and fast enough for this kind of thing. This is definitely a step in the right direction. Michael > > Jesse > > On 11/11/06, Michael Torrie <[EMAIL PROTECTED]> wrote: > > Recent discussion on Java's merits got me thinking. I recently read an > > article, entitled "Why Johnny Can't Code[1]," which I thought was > > interesting, but I'm not sure if his points really are valid. But I > > came across a little project on freshmeat the other day called BASIC-256 > > [2] that makes me really think. BASIC-256 teaches BASIC in an > > interactive way (but without line numbers and forced spaghetti). Now > > whether or not BASIC is a good language for this is irrelevant. But the > > thing that got me thinking was that this kind of simple, integrated, > > immediate environment just isn't really done much anymore. Sure I could > > fire up Eclipse (or visual studio) and teach kids to program, but the > > entire burden of project management (which is probably 50% of what real > > programmers do in the real world) takes away from the simple joys of > > learning how to program. Many of us probably grew up with our first > > exposure to programming being the BASIC interpreter on our original > > Apple II or IBM PC (well those my age or older). When I was in 6th > > grade, Borland was in their hayday with this new fangled thing called an > > IDE. They were simple by todays standards, and even though they had a > > compile step, they were almost as interactive as the old interpreters. > > QuickBASIC did have completely interactive capabilities where you could > > call functions you had just defined and do all kinds of testing (sounds > > like python doesn't it). The integrated debugger in the Borland IDEs > > worked very well and I learned how to step my code and watch variables. > > My first step away from spaghetti-land was with Borland's TurboBASIC > > which brought all the advantages of Pascal to BASIC, and left out some > > of the things i always hated about Pascal. Later I taught myself C and > > C++ with Turbo C++ 3.0 (great IDE). > > > > Anyway, our modern IDEs are similar to what Borland started, but way to > > complicated to get a young child started on, in my opinion. I think > > bringing back integrated, interpreted, immediate environments like > > BASIC-256 is a good idea. The Logo environment is also great. Seems > > to me our modern languages such as Java, C#, C++ don't lend themselves > > well to a 5 year old (which is when I started programming). Python just > > might, though, except that a 5-8 year old may not always understand the > > concept of white space. And I do think it is important to first teach > > procedural programming first. OOP and event-driven are great, but as > > the computer itself is procedural, if we want to teach budding computer > > scientists how computers actually work inside, we need to start on > > procedural programming (and polling), then probably event-driven (help > > them understand interrupt-driven stuff), and then introduce them to > > other artificial abstractions that they will eventually use exclusively. > > > > Any thoughts? > > > > Michael > > > > [1] http://www.salon.com/tech/feature/2006/09/14/basic/index_np.html > > [2] http://kidbasic.sourceforge.net/ > > > > > > > > > > /* > > PLUG: http://plug.org, #utah on irc.freenode.net > > Unsubscribe: http://plug.org/mailman/options/plug > > Don't fear the penguin. > > */ > > > > /* PLUG: http://plug.org, #utah on irc.freenode.net Unsubscribe: http://plug.org/mailman/options/plug Don't fear the penguin. */
