Best GUI- Python for children - pygame and blender32

A

Andr? Roberge

Sorry about the cryptic subject line, but I wanted to capture the
essence of my message in a single line.

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. From what I
hear, their friends will be interested in that tutorial too. When/if
I am satisfied with it, I'll make it publicly available (first in
French though - an English translation will have to wait).

My approach is to use what I called JITT (just in time teaching :)
i.e. introducing as few concepts as are needed in order to understand
the "next topic", leading to game creation as soon as possible.

Seems to be working so far.

I am now at the point of writing a "chapter" on GUIs. I've written a
few sections about Tkinter but I haven't shown them to my kids yet as
I am not convinced this is the best way to go; I've read enough about
anygui, pythoncard, pyui, easygui, not to mention wxpython, etc. to
instill doubts in my mind. I can't really afford to take the time to
learn enough about all of those to make an informed decision on my
own, decision that I could regret later on. As long as the chosen
GUI is as easy as possible to learn but "complete" enough (and fast
enough as an interface?) to do fun stuff with pygame (and, possibly,
blender3d, if a separate GUI is needed), I will be satisfied.

Any advice would be much appreciated.

André Roberge

PS As for the python survey, I'm 43 years old, started learning about
Python about a month ago, have done some programming in the past for
fun using Fortran, C, and java, but haven't done any serious
programming for years and it is not required at all for my day job.
 
I

Ian J Cottee

Andr? Roberge said:
Sorry about the cryptic subject line, but I wanted to capture the
essence of my message in a single line.

I am now at the point of writing a "chapter" on GUIs. I've written a
few sections about Tkinter but I haven't shown them to my kids yet as
I am not convinced this is the best way to go; I've read enough about
anygui, pythoncard, pyui, easygui, not to mention wxpython, etc. to
instill doubts in my mind. I can't really afford to take the time to
learn enough about all of those to make an informed decision on my
own, decision that I could regret later on. As long as the chosen
GUI is as easy as possible to learn but "complete" enough (and fast
enough as an interface?) to do fun stuff with pygame (and, possibly,
blender3d, if a separate GUI is needed), I will be satisfied.

The PyGame website lists PyUI - http://pyui.sourceforge.net/

Never used it but might be worth looking at. Your kids might find
Tkinter a little 'dry' for games.

Ian
 
S

Shawn Wheatley

You may want to try Wax (http://zephyrfalcon.org/labs/) It is a
higher level GUI that sits on top of wxPython. This gives your
children an easy entry into GUIs, and as they learn more, they can
enhance existing programs they have written with more advanced
wxPython features. Also, because it is built on wxPython, it should
allow integration of PyGame. Sounds like a win-win situation. (Note:
I haven't used Wax yet, so I cannot comment on stability. Hans Nowak
keeps a weblog of progress at http://zephyrfalcon.org/weblog2/)

Shawn
 
P

Pete Shinners

Andr? Roberge said:
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. From what I
hear, their friends will be interested in that tutorial too.

You'll want to wrap all of pygame up in a nice kid-friendly wrapper. I'd
start with things like defining functions that get called when certain
events happen.

Learning programming you will not want them starting with the important
parts of pygame, like handling event queues, managing dirty updates, and
those details.

Good luck with your plans, I recommend the pygame mailing list and irc
chat if you get stuck on details.
 
M

Michael Sparks

Andr? Roberge said:
Sorry about the cryptic subject line, but I wanted to capture the
essence of my message in a single line.

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.

Have you seen the LiveWires course? It's been running several years
now and sounds like they've been successful. They use Tk and pygame
for what it's worth.
* http://www.livewires.org.uk/python/

Regards,


Michael.
--
(e-mail address removed)
British Broadcasting Corporation, Research and Development
Kingswood Warren, Surrey KT20 6NP

This message (and any attachments) may contain personal views
which are not the views of the BBC unless specifically stated.
 
J

Jeff Sandys

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,014
Latest member
BiancaFix3

Latest Threads

Top