Best GUI- Python for children - pygame and blender32

Jeff Sandys sandysj at juno.com
Thu Aug 26 23:00:14 CEST 2004


I made the mistake of trying to teach computer programming with 
the goal of writing a game, and ended up alienating all the 
students.  First, the students who were serious about learning 
about programming, to use the computer as a tool, never returned 
after they learned we were going to write a game.  All that was 
left were students with low attention spans, who played Doom, and 
wanted to make their own Doom game.  They weren't interested in 
something simple like starting with Pong or Hunt the Wampus.

I would advise teaching programming as a serious craft that can 
also be fun.  Most programmers believe that programming is the 
greatest game of all.  Take a look at Georgia Tech's Intro to 
Media Computing, a CS class for non-majors.  The first project 
is to use a blue screen background to put a picture of themselves 
in another picture.  It is just a few lines of code but they 
learn about data, functions, loops and the if statement.  The 
JIT approach is used in this class.
     http://coweb.cc.gatech.edu/mediaComp-plan

If you are serious about 3D I would use VPython for dynamic
images and POVRay for static 3D.  Check out Kirby Urner's 
stuff:
     http://www.4dsolutions.net/ocn/oop.html

For a 2d GUI, wxpython works cleanly on most all platforms, 
but it isn't easy.  If you want 2d GUI I would focus on web 
and html generation, most kids know a little html.

Pygame is a nice cross platform package, but again it is not 
easy.  If students could write a Pygame in a few weeks of 
classtime the Pygame site would be full of games.  Check out 
Sean Riley's _Game Programmign with Python_ or this site:
    http://childsplay.sourceforge.net

If you really want games I would look at David Ahl's old 
Basic computer games books.  These are text terminal type 
of games like 'hunt the wampus' that are fun and teach the 
basic organization of programming and games, and are do-able!
If you have a web server these games could be ported to 
python to run on the web, your school will never forgive you.

My approach will be that of a guild with apprentices, journeymen 
and masters.  I'll teach the apprentices the basics, they'll work 
in pairs.  Once they have a good understanding of Python, they 
will bea journeyman who pairs with a master.  The master can 
write complete programs with very little outside help.  They'll 
get their projects from a list the teachers make, or can work on 
their own project.  The completed projects will be posted on a 
webserver where anyone can download them.  Popular projects will 
be converted into web applications.  I'm trying to get the 
teachers or school to pay for the projects so that we can reward 
the students.

What age group are you working with?  I'm working as a volunteer 
in an after school 7th and 8th grade programming club.

I do incourage you to continue working on your tutorial and 
share your progress on the Python edu-sig:
    http://www.python.org/sigs/edu-sig/

Thanks,
Jeff Sandys

Andr? Roberge wrote:
> 
...
> I am learning Python (which, as everyone know is the best language :-)
> so that I can write a tutorial to teach my kids about computer
> programming.  The motivation for them will be to use Python to create
> their own games using pygame and, eventually, blender3d.



More information about the Python-list mailing list