Teaching programming concepts to kids

Michael Torrie torriem at chem.byu.edu
Sat Nov 11 11:16:45 MST 2006

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


> Jesse
> On 11/11/06, Michael Torrie <torriem at chem.byu.edu> 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.
> > */
> >

More information about the PLUG mailing list