Project 3: Final Project
Description
Instead of a final exam, you will complete a final project.
Important dates
- Project design due: Friday, April 18 @ start of class
- Demo session: Friday, May 9, Final Exam Period
- Project due: Friday, May 9 @ Final Exam Period
Note: Generally, no extensions will be granted for the final project! Exceptions to this may be worked out at least two days in advance of a due date.
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 must make use of Python class
es to encapsulate and
structure data – or have a well-reasoned explanation as part of the design document about why classes are uncessary.
Design
By Friday, April 18, 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 document must include:
- Your name, and also the name of your collaborator if it is a team project.
- A description of the way(s) in which your project goes beyond what
we have done in class and labs.
- A description of the main algorithm which will control the project.
- A description of how you envision the project code will be
decomposed into classes, methods, and functions.
- 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.
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.
A sample design document for Prof. Seme’s Star Trek game can be
found
HERE. You
are welcome to use this as a starting point.
Demo
During the scheduled final exam time on Friday, May 9 from 2-5pm,
everyone will have the opportunity to demo their projects. We will
meet in MC Reynolds 314, and split into 2 or 3 groups. Each group
will have a turn to be prepared to demo their projects while the other
group(s) can wander around and look at everyone else’s.
Note: Do not show us your code! This is super boring and wastes a lot of –>
<!– challenge you overcame, copy it onto one of your slides.
–>
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.
Grading Criteria
- A Level 2 project includes:
- A design document submitted on-time and meeting the requirements
given earlier.
- Project demo on May 9.
- An implementation in which the following are true:
- The program is sufficiently complex and goes beyond what we have
done in class or lab.
- Makes appropriate use of classes, methods, and functions
to encapsulate and structure data.
- No runtime errors, including those resulting from erroneous user input.
- No syntax errors.
- Instructor feedback is properly incorporated into the final program.
- A Level 1 project:
- A design document is submitted.
- Project demo on May 9.
- An implementation in which:
- The program is sufficiently complex and goes beyond what we have
done in class or lab.
- No syntax errors.