[Edu-sig] Why is Logo popular, while Python isn't? (was "using Python for a CS 2 course" )

Terry Hancock hancock@anansispaceworks.com
Fri, 22 Nov 2002 11:45:35 -0800


Let me summarize my point, since I think we agree on everything else. :-)

I think the reason why one would want to teach Python, instead of, say Logo 
or Boxer, is NOT because Python is a *better* teaching language, but because 
it is more mainstream, AND it *comes close* to being *as good as* Logo for 
teaching.

So, why does the mainstream-ness matter -- especially for elementary kids?

1) The teacher knows it. (In my case, this means me, the parent, who is 
tutoring my own children).  That's because Python is actually useful to the 
teacher, not just to the kids.  Knowing is widely regarded as a  
pre-requisite for good teaching. ;-D

2) The kids know the teacher uses it, so they can see it has real-world 
applications. That's not a teenager-only, "so I can get a job" kind of 
concern.  Kids want to use "real stuff".  My dad was a mechanic and a 
machinist, so when I was seven, I was very fascinated with cars and engines 
and lathes and mills and so on. I don't work on them now, but it motivated me 
to understand a lot of design and engineering principles.  I still like 
machines, and I still have the hand-eye coordination and mechanical skill.

My son has ambitions of writing his own computer games. I can try to 
generalize that, and say "well you have to learn all these concepts, which 
you can generally apply to the problem, and then one day you can take the 
time to actually learn the sort of language they're written in".  OR, I can 
say, "hey 'Solar Wolf' is written in Python, want to learn Python?"  He 
already wants to know how to hack Thrust so that the gravity points sideways 
(which is probably possible, though I think Thrust is written in C).

My mom wanted to give my kids a big Christmas gift one year, and suggested 
getting a $150 toy piano from Amazon.com.  I said "$150 for a toy!? -- why 
not spend the same money on an inexpensive, but *real* keyboard synthesizer? 
They'll like it better, they can keep using it as they get older, they can do 
music homework/practice with it, and  (if it has a MIDI port), we'll one-day 
be able to hook it up to their computer and do sequencing and stuff". 

Same reasoning.

So why not teach C++ or Java or Lisp?

I think those languages are simply too hard to understand. There's too much 
time between writing the code and seeing the result, too much required 
groundwork to make anything remotely useful, and so on. Anybody under the age 
of 13, will, IMHO, get frustrated, bored, and lose interest.

Logo (and now Boxer?) were created (or at least applied) to solve that 
problem (and it was clearly a problem when they were created).

If Python, as a mainstream language, can even come close to Logo's simplicity 
of use, however, I think it ought to at least be considered as an early 
teaching language.  Especially if you, the teacher, know Python and not Logo.

If on the other hand, you are teaching Logo successfully, then I'm not sure 
Python should displace it. It is probably still harder to learn than Logo, 
and the merits of using a mainstream language are primarily the two I mention 
above. If you already know Logo, "1" doesn't apply, and if your kids are 
already paying attention, then "2" doesn't either.

But if you're like me, and you were thinking, "gosh I need to have Logo to 
teach my kids" (but you already have Python), I'd say, forget it -- teach 
Python, you won't lose much, and it will be easier for  you, which means 
you're more likely to do it.

Lastly, does it really matter if you teach kids to program when they're so 
young?

I doubt it seriously harms them not to, any more than not learning the piano 
will.  On the other hand, playing the piano, and programming, both are likely 
to improve hand-eye-coordination, creative-thinking, and reasoning.  Both are 
a lot of fun.  And both are things they will enjoy for a lifetime.

Don't force them, but don't deny them, either. Choice of instrument is much 
less important.

Cheers,
Terry

--
Terry Hancock ( hancock at anansispaceworks.com )
Anansi Spaceworks  http://www.anansispaceworks.com