CS 110 Final Project
You will work on a final project that will be worth two labs. What you work on for your final project is up to you, but it is expected that it will be a program of significant complexity (i.e., more complex than any of our labs, even the Hangman one, since it is worth 2 labs). You may team up with one other person for this project, but in that case I will expect more ambitious project goals.
Your final project can be a program to do anything that is interesting to you. Think hard about how you could apply what you have learned in this course to something that you are deeply interested in. You could program
- your favorite game or puzzle (e.g., Sudoku, Connect4, Reversi/Othello, Quarto, Set, Battleship, etc.),
-
a complex image manipulation (e.g., creating a mosaic of a picture like the ones on the wall in Olin),
- a set of general image transformations (e.g., a picture equivalent of the sound editor),
- an image-gathering robot mission, or
- any other idea that you discuss with me before submitting your proposal.
Your final project will be graded on the following criteria:
- Overall complexity of your program
- Number of programming concepts you incorporate
- Originality
- Design - how appealing the interface looks
- Modularity - how well you split subparts into functions
- Correctness - that your program works correctly
Final Project Proposal
A two-page proposal of what you would like to do your project on is due in class on Wednesday, April 11th at class time. You could possibly switch to another topic later (after talking with me), but I want you to start thinking about what you would like to work on early.
This proposal should include a description of your intended project (e.g., if it is a game you should include a list of the rules), a mock-up of the layout, and some thoughts on what Python concepts (e.g., graphics, files, lists, etc.) you will need to use for it.
Project Submission
You are required to submit a preliminary version of your project on Wednesday, April 25th, and the final version on Friday, April 27th. The preliminary version should be a working version, with possibly just cosmetic issues to iron out before the final version. I will be testing the preliminary version and, if buggy, will reflect poorly on the grade for your final project. Students will demonstate their final projects to all the members of the class on the last class day of the semester.