Project 3: Final Project
Description
Instead of a final exam, you will complete a final project which will
count for 200 points of your final grade in the course.
Important dates
- Project design due (40): Wednesday, April 22 @ 5pm
- Project due (160): Tuesday, May 12 @ 8pm
Guidelines
Unlike the other projects, you may work with one partner for the final
project. You can also work individually if you wish.
You have wide latitude in choosing what to do for your final project.
The only requirements are that it should be sufficiently complex and
should somehow go beyond what we have done in class or lab.
Your project
idea must be approved by your lecture instructor (who is also happy
to help you brainstorm) via email or conversation prior to the design submission.
Get started early! Waiting until just before
the deadline to start thinking about your final project will be too
late.
Projects should either be a deep dive into data or if similar to games or any lab,
must make use of Python class
es to encapsulate and
structure data.
Design
By Wednesday, April 22, you must turn in a design document describing
your project and planning details of how you will implement it.
Warning: You should start thinking about, designing, and even
implementing your project before this!
Your design must include:
- A description of the classes you will use to decompose the
information in your project, with a list of the variables and
methods in each class.
- A description the main algorithm which will control the project.
- A list of functions you will use to decompose the project, with the
inputs, output, and description for each.
- A timeline of steps you will take to complete your project with
deadlines for each step. Plan not just what you must do but the
ordering of steps that will allow you to complete by the final
deadline.
- A description of the way(s) in which your project goes beyond what
we have done in class and labs.
You should be as detailed as possible for full credit in your
description. Time spent on the design will pay off immensely as you
implement your project.
What to turn in
You should turn in
- A document explaining how to run your project and any other special
notes to the grader.
- All the Python source files, data files, etc. necessary to run
your project.
Of course, the Python style guide and
style checker still apply!