Teaching programming concepts to kids

Michael Torrie torriem at chem.byu.edu
Sun Nov 12 22:05:31 MST 2006

On Sun, 2006-11-12 at 09:48 -0800, Ross Werner wrote:
> On Sat, 11 Nov 2006 23:40:00 -0800, Levi Pearson <levi at cold.org> wrote:
> > Back in those days, even some commercial programs were written in BASIC  
> > with simple menu-driven interfaces.  Creating those was within the reach  
> > of a hobbyist programmer, and more importantly, it /felt/ like it was  
> > within reach.
> This is, I think, the big difference between "programming then" and  
> "programming now". When text adventure games were all the rage, and a few  
> lines of BASIC could look the same as one, it was pretty easy to get the  
> feeling that you were creating something that people would actually want  
> to play.

While what you say is true, I think that there are some problems with
the idea of throwing people into these more modern, advanced languages
and paradigms.  I think the gap between knowing nothing about
programming and being a professional programmer is much wider now than
in the 80s when I learned to program.  Thus it's a bigger jump for
people.  Therefore I see nothing wrong with teaching people how to
program the 70s and 80s way, with text games, etc.  I mean today we
teach modern fractal mathematics to students, but first we teach them
the basics.  trigonometry, algebra, calculus.  

The interesting thing for me about working with python is that I
discover everything old is new again.  All our paradigms are rooted in
the principles first discovered in the 60s.  Lambda calculus, functions,
flow control, data structures, and even object-oriented programming.

> However, with powerful (and free/Free) libraries existing today, I think  
> we're starting to get close to having this ability again. I've been  
> intrigued by PyGame in particular. It's cross-platform and drop-dead  
> simple to make games with--that *feel* like they're within reach of  
> commercial games. Take a look at these two tutorials, for example:
> 	http://www.pygame.org/docs/tut/chimp/ChimpLineByLine.html
> 	http://www.linuxjournal.com/article/7694
> Both are more or less understandable by someone just learning to program,  
> and can be tweaked by novices to do more than they currently do. I've also  
> heard of this book:
> 	http://www.amazon.com/gp/product/1598631128
> which actually wraps PyGame around something even easier. I haven't read  
> it, but I've heard that it's geared towards the absolute newbie who  
> doesn't even know what a for loop is, takes them through the basics and at  
> the end has them writing a game with sound and graphics.

Absolutely.  I think the Free Software movement has brought about tools
that restore the hobby aspect of programming and computers.  And, just
as all computers shipped with a BASIC intrepeter in the olden days, all
computers now can have free access to a plethora of good languages, such
as python, Java, etc.

As for things like PyGame, these are tools that will hopefully help and
inspiring budding programmers.  As long as they can start simple and not
get overwhelmed by class architecture issues, advanced primitives, etc.
Simple line plotting and painting is probably a good beginning.  Can
PyGame do this?


> So for people who are past the "Logo" stage of wanting to program,  
> Python/PyGame seems like a great way to go. Has anyone else tried this  
> route?
> 	~ Ross
> /*
> 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