teaching programming to children

Stan Graves soundinmotiondj at yahoo.com
Thu Oct 16 10:00:59 EDT 2003


andy at post.tau.ac.il wrote in message news:<mailman.138.1066287341.2192.python-list at python.org>...
> A young friend of me (12 years old) has asked me to teach him 
> programming (after I shortly described my programming job as 
> telling the computer what to do and not the other way arround). 
> I choose python because I personally like it but I was wondering 
> to what extent is it appropriate for this task.
<snip/>
> What do you think would be our first programming assignments? And what 
> language constructs should we start with?

I'd start the same way that all real world programming starts, with a
problem to solve.

Start with the problem analysis and decomposition.  Then move into
prototyping, and develpment.  You can even deliver the product in
stages, eventually adding the GUI and the networked version.

I'd try to find a simple task that would be of use and interest to the
person.  Maybe a simple database to keep track of all his comic books
- or the stats of his favorite sports team - or an insect collection -
something that he is interested in already and can be easily
represented on a computer.  Once you have a real problem, then you
have something to talk about.  The problem and the proposed solution
will drive the way the programming language is introduced.

In essence, I'd step back from "programming" and focus on the
"design".  To me, "programming" a set of written directions to get
from one place to another.  It's a set sequence, often without
context, the only known points are the start and the end.  If you get
lost along the way, it can be difficult to recover.

I prefer to focus on the "problem" and the "design" space - I think of
that as a map.  I know where I am, I know where I'm going.  I like to
have a feel for how those two places are related, and what I'm likely
to find along the way.  But, I don't have any specific directions or
instructions that describe how to get from one place to the other. 
It's simplistic - but it gives me a useful way to think about my
approach to solving problems.

--Stan Graves
stan at SoundInMotionDJ.com
http://www.SoundInMotionDJ.com




More information about the Python-list mailing list