Program 7 for Comp 150:  Final Python Project

This is a pair assignment worth 80 points.

The program should begin with a comment including your names, a brief description of what the program does and information on any help you received on the project.  If it is entirely your own work, say so.  If anyone helped either of you, identify them by name and describe how they helped.  If you modified code found elsewhere (or old code of your own), indicate that. 

Remember to turn in your work using the Blackboard Assignment system.  Have one member turn in the files for the work and each turn in logs, as described in the Pairs Administration page:  The log should indicate your hours working on the homework and an assessment of your contribution and an assessment of your partner's contribution.  

Be prepared to demonstrate your program to the class on the day after it is due in Blackboard.  Note the unusual due date and time.
 
This project is completely open ended as to subject or results.  The one requirement is that you must use functions in your project, if only to break it up into logical units.  You may want something that uses graphics.  You are perfectly free to use any of the modules in the book or to get ideas for projects from exercises in the book.  However, I am looking for work that you do. 

Of the 80 points total, 20% will be awarded for creativity.  10% will be based on whether you do a good job of dividing the job into individual functions which have the appropriate parameters and return the appropriate values.  Your program will also be evaluated on how easy it is to read, the quality of your documentation.  The project will also be evaluated on the degree to which it incorporates your abilities with many of the ideas in the course:   loops, decisions,  sophisticated logic, lists, reading/writing files if that fits in.  Merely making it long by writing more and more code with the same basic format does not add much.  In fact, writing almost the same thing over and over rather than using a function, will reduce your grade.  If you want your program to be a cgi script, executable from the web, that is OK but certainly not required, and if you do a cgi script, the emphasis is what the Python part does, not using a web page composer.  (Do make a comment as to the URL if your work runs from the web!)  If you want to look at the Python documentation, and use modules we have not used in class, that is definitely a bonus. The first day of class I mentioned renaming and reorganizing files.  That would require reading more in the module os, for instance....

If your first open-ended graphics project was appropriate you may be able to expand it into something appropriate for this project as well.  Games are always a good source of ideas.  Rewriting something you did before, but much more clearly and concisely this time, counts as some progess, too, but be sure to go way beyond the original, and make sure to organize your work into functions!

On Thursday, April 27, I will ask you to give a description of your project and a progress report, emailed to me and Nilanjan.  This is not something to start on the last day!