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 Game of Life or the Picture Editor ones, 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 -- scaling, non-uniform scaling, edge detection, swirl pattern, fun-house mirror effect,
- learning about the robots and their programming in Python, and accomplishing some "robot behavior"
- 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 Tuesday, November 19th at class time. I want you to start thinking about what you would like to work on early.This proposal should include
- 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.