Final Assignment

A brief description was due on Tuesday of the 3rd week. Your final presentation, and a one or two page paer talking about what you did, and your code, are all due on the last day of class.

THINK BIG!

The theme for this final project is THINK BIG! And that's in ALL CAPS, so you know it's important. Do some big project that you want to do. Python is exceptionally good at helping people scratch itches and make progress on their own pet projects. Because I want you to accomplish something big, no sources are off limits. You may download and integrate strangers' code and use bizarre libraries and whatever else you want. The only criteria are:

There are no real restrictions on what you can do beyond that. A networked multiplayer version of your favorite boardgame? Great! A color matching tool? Excellent! A DJ system complete with samples and effects? Yes! A peer-to-peer network client? Yes and yes! All of these and any others you might dream up are valid projects. If you have a java project already humming along, feel free to bring jython into the picture to extend it and make it better. The important thing is for you to get practice writing lots of real, functional, python code, and have some fun doing it. It doesn't have to work on Linux or Solaris, I won't be running it myself (especially if I cannot). I will be grading you on your writeup, the quality of your submitted code, how much you got done, and your presentation.

You can use code from any source as long as you cite it. If you are writing a game, feel free to download and integrate oodles of code from the games and samples at pygame.org. If you are writing some kind of network server, go ahead and use as much of the Twisted framework as you want. If you are doing a CMS thing, feel free to rip into the guts of Zope, Plone, or PyBlosxom for anything you might need. Don't reinvent the wheel, use other peoples' premade wheels to build something new and cool!

At the end of the term, I want you to turn in a 2 page writeup about your project and what you did, how you did it, and what issues you faced. It can be longer if you want, and it doesn't have to be incredibly well written. You have to give this to me in hardcopy on finals day. You also have to give me an electronic copy of your code by the end of the final period. The code doesn't have to be perfect, I just want something to peruse to look at how you have progressed and how you write code in a larger setting. Finally, you have to give a presentation on what you did to the whole class. The length of this presentation is 5 to 10 minutes - we have 120 minutes on Friday, and there are 10 of you.

Boilerplate

Please ask me if there are any questions at all. peter@cs.uoregon.edu, or simply commenting below will all reach me immediately. I am also available on AIM as "jongleur peter". The most recommended course of action is coming in to office hours if you have any questions.

Turn It In

Turn your project in using the following form:

What is your student #?
What is your name?
What is your email?
What file would you like to submit?
If you have more than one file in your project, please use an archiving tool to put them all into one archive file. Acceptable archive types are .zip, .jar, .tar, and .tgz.

Please make sure that you provide any README files in plain text. MS Word .doc files are not acceptable. .html, .txt, .ps, .dvi, and .pdf are all acceptable. Really you should just be turning in ASCII text (.txt) files and source code. And for most assignments, just well documented source code.

Comments and Clarifications


Questions? Answers!
Valid CSS! Valid XHTML 1.1!