Not to open Pandora's box or anything, but are you aware of the Roguelike community (subculture?) (cult?) of game development? Rogue was an old "text-based" role playing game for Unix, "text-based" in the sense that it used the console as a 2D map and ASCII characters as graphics. There has been a sort of revival of the genre and a lot of amateur game developers have done some simple or complex variations on the theme. They're not all RPGs. The category is defined by a few commonalities like procedural content generation.
There are very active forums and an extensive wiki. I think these might be particularly appropriate fodder for a tutoring experience because they are neatly broken down into bite-sized chunks. One day you could do procedural map generation, another day AI, etc. And all these lessons generalize to the "professional" game development world. Look at this forum: http://forums.roguetemple.com/index.php?board=7.0 This wiki: http://roguebasin.roguelikedevelopment.org/index.php?title=Main_Page This Python tutorial: http://roguebasin.roguelikedevelopment.org/index.php?title=Complete_Roguelike_Tutorial,_using_python%2Blibtcod By the way, I tried my hand at Markov chain name generation, too. My python code is at https://github.com/joeclark77net/jc77rogue/blob/master/program/namegen.py and what it does is read a corpus of names and generate new names that sound like that corpus. So you feed it a list of Roman names and it will give you fake names that sound Roman. // joseph w. clark , phd , visiting research associate \\ university of nebraska at omaha - college of IS&T ---------------------------------------- > Date: Tue, 16 Jul 2013 15:43:45 -0700 > Subject: Homework help requested (not what you think!) > From: john_lada...@sbcglobal.net > To: python-list@python.org > > Hi folks, > > No, I'm not asking for YOU to help ME with a Python homework assignment! > > Previously, I mentioned that I was starting to teach my son Python. > > https://groups.google.com/d/msg/comp.lang.python/I7spp6iC3tw/8lxUXfrL-9gJ > > He just took a course at his high school called Web Technology and Design. > They had the students use tools like Dream Weaver, but they also hand-coded > some HTML and JavaScript. He has a little experience. I am building on it. > > Well, a few other parents caught wind of what I was doing with my son, and > they asked me whether I could tutor their kids, too. I accepted the jobs (for > pay, actually). > > The kids all claim to be interested. They all want to write the next great 3D > video game. Thus, I'm a little surprised that the kids don't actually try to > sit down and code without me prompting them. I think that they're > disappointed when I show them how much they have to understand just to write > a program that plays Tic Tac Toe. > > Where programming is concerned, I'm an autodidact. I started programming when > I was twelve, with little more guidance than the Applesoft Basic manual and > the occasional issue of Byte Magazine. I hacked away. Over the years, I have > acquired a working knowledge of BASIC, 6502 assembly language, Pascal, C, and > finally Python (my favorite). If I knew how to impart a love of > experimentation to my students, I would do that. > > One kid looks like he's ready to forge ahead. In the mean time, one parent > has recognized his son's lack of independence, and has asked me to assign > programming homework. I hope it doesn't kill the kid's enthusiasm, but I'm > willing to try it. > > So, what I am seeking are suggestions for programming assignments that I can > give to brand-new students of Python. Please keep in mind that none of them > are even up to the task of a simple algorithm like Bubble Sort -- at least, > not yet. > > Many thanks! > -- > http://mail.python.org/mailman/listinfo/python-list > -- http://mail.python.org/mailman/listinfo/python-list