[Edu-sig] Python Comp Sci course.

Mats Wichmann mats@laplaza.org
Fri, 24 Aug 2001 12:22:24 -0600


At 11:59 AM 8/24/2001 -0400, Robert Rickenbrode II wrote:
 >Hey folks, I"m gearing up to teach a Python-based computer science course.
 >I just spent about a week chugging through the list archives (almost quit
 >at the case-sensitivity debates ;) ).  I have a few questions:
 >
 >1. At several points in the past, people have offered to maintain or posted
 >sites hosting lesson plans.  Is there a site for these? Where is it? (For
 >example, this one, http://www.ibiblio.org:420/Zope/Python given in December
 >of last year does not work.)
 >
 >2. I'm interested in doing some kind of iterative instruction using one
 >project to illustrate a lot of the characteristics and functionality of the
 >language.  For example (after Lutz):
 >- start with a simple, hard-coded dictionary of names/addresses (an
 >addressbook). Print them out.
 >- add a simple, text-based UI, allowing user to add, delete, edit entries
 >(input/output/UI)
 >- complexify the data stored and move to file based storage (file io, data
 >stores)
 >- add ability to sort (without built-in methods, to learn the algorithms)
 >- add ability to find (more algorithms)
 >- then, move to a GUI?
 >and then....
 >(I've got lots of ideas - net-based sharing, file input/output, move to a
 >web-based CGI system, etc - just wondering what people think.  Also, would
 >this excite students?)

I've done something like this with an "employee database"
(very minimal): hardcoded dictionary, add text input and a
pickle (with a separate script to read the data to "prove"
the object really is restored from the pickle), turn it into
a class to give named storage to the fields, add a gui, and
eventually push the data to a a mysql database to show that
if the modules were "coded right" the interfaces used by
the gui and text update/retreive code do not have to
change, just the code to access the backend store.

I think this is okay, and students like it, but I'd caution
to not have it be your /only/ set of examples.  It seems to
work for me if you occasionally say "okay, now let's come
back to our XXX" but it's too much if the single "theme"
is the only thing you're showing.

My two cents' worth.

Mats