Best GUI- Python for children - pygame and blender32
Jeff Sandys
sandysj at juno.com
Thu Aug 26 17:00:14 EDT 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