Python in High School

John Henry john106henry at hotmail.com
Wed Apr 2 16:01:00 EDT 2008


On Apr 1, 11:10 am, sprad <jsp... at gmail.com> wrote:
> On Apr 1, 11:41 am, mdomans <mdom... at gmail.com> wrote:
>
> > Python needs no evangelizing but I can tell you that it is a powerfull
> > tool. I prefer to think that flash is rather visualization tool than
> > programing language, and java needs a lot of typing and a lot of
> > reading. On the other hand python is simple to read and write, can be
> > debuged easily, is intuitive and saves a lot of time. It also supports
> > batteries included policy and you can't get more OO than python.
>
> One advantage of Flash is that we can have something moving on the
> screen from day one, and add code to it piece by piece for things like
> keyboard or mouse control, more and more complex physics, etc. Is
> there an equivalent project in Python?

I downloaded the "How to Think Like a Python Programmer" book and read
it.  I think it's a fine reference book for the purpose you
indicated.

Here's my 2 cents on the subject.

I had been a volunteer mentor to my son's middle school robotic team
for several years and I have some experiences, therefore, in how kids
react to "programming".  Granted, high school kids are "bigger kids" -
but they are kids nevertheless.

Last summer, I experimented teaching my own kid Python.  He was in 7th
grade going onto 8th grade.  He was the main goto person for the
robotic team and had no trouble learning the common applications such
as the Microsoft Office suite, and had some experience in ICONic
programming (Lego Mindstorm).  So, I tried to see what would happen if
he tries to learn Python - using somewhat similar approach you are
taking: start with something visually appealing on day one.  Instead
of Flash, I used Pythoncard - a no-brainer Python GUI construction
toolkit.  He was really excited seeing how easy it was to have tic-tae-
toe type program up so easily (we are taking minutes - not hours) and
was very interested and motivated to continue.  So far so good.
However, once I start teaching him variables, expressions, loops, and
what not, I found that (by surprise) he had great difficulties
catching on.  Not soon after that, we had to quit.

We - as adults - take many things for granted and sometimes don't
remember, or don't understand how kids learn.  My experience tells me
that in order to teach today's video game generation of kids, the
approach really has to be entirely visual.  After I abandoned my
attempt to teach my kid Python, I started them on Robolab - a
simplified version of LabView and to my delight, they were able to
cook up a few simple programs (like fibonacci series and so forth)
without too much effort - although my own kid had some minor trouble
understanding the concept of a container (LabView's version of a
variable).

I don't know if you have access to LabView or Robolab or similar
packages but if you do, I would highly recommend those.  LabView is
every bit as powerful, full-featured, and "real-life" as many of the
other languages and I believe that kids will have a much easier time
learning computer programming with it.

And you are going to teach them Java?  Oh, please don't.  Let the
colleges torture them.  :=)



More information about the Python-list mailing list