PC204 --- Final Project Requirements

Objective

The main goal of the final project (which counts for 1/2 of the course grade) is to put together all the bits and pieces that you've learned about programming during the quarter: object-oriented programming concepts, well commented readable code, good data structure definitions, understandable algorithms, reasonable error checking on user-provided input, etc.

Over the many years that this course has been taught, we've seen great (and fun) final projects. Examples include:

The point of listing these examples is to show the variety of ideas students have come up with. Some programs have been used to further a research project a student was involved with, some were demonstrations of concepts that the student was interested in, and some have been computer games that were just plain fun to write.

Project Requirements

The requirements listed here are intentionally fairly general so as to maximize the flexibility you have. All will be discussed in class prior to the end of the quarter and most have been the topic of homework problems.

What To Turn In

Obviously you need to supply the source code so that we can test your program. You should also supply instructions on how to run your program if it's not totally obvious how to do so, or if you don't provide a "help" feature. If your program uses an input data file or user-provided keyboard input you'll need to supply that too. If you use other python packages that we have not discussed in class, tell us where to obtain these packages. Lastly, if it not completely obvious if your program is generating correct output, you'll need to supply sample output so that we can determine if the program works as advertised.