In this final project assignment, you will conceive of, design
and implement a GUI-based Python application of your choice. Examples
include the following:
- An Animation Controller - Build a GUI
controller for an animation of your choice.
- A Simple Game - Build a GUI controller for a
simple game of your choice (e.g., a board game like memory or an
image-based guessing game).
We will discuss the components and complexity required for this
project. You can find some fully-implemented sample applications here:
code/samples/* and some screen shots of
past projects here: code/hall_of_fame/*.
Deliverables and Grading
The following project “deliverables” are required: (100 pts total)
- Project Proposal
- This is a brief, written proposal for your project.
- Grading: 3 pts
- Due: Submitted along with a weekly homework assignment (as
specified by your instructor).
- Project Design -
This is a planning document for your project.
- Grading: 4 pts
- Due: Submitted along with a weekly homework assignment (as
specified by your instructor).
- Project
Walkthrough - This is a walk-through of your project code with one
of us.
- Grading: 10 pts
- Due: by 5:00pm of the reading recess day
- Project Showcase
- This is a showcase in which everyone exhibits their final project.
- Grading: 3 pts
- Due: by the beginning of your final exam period
- Project
Submission - This is your final submission of all your project code
and resources.
- Grading: 80 pts
- 50 pts: correctness: program does not crash, program is complete, etc.
- 20 pts: cleanliness/hospitality of code: good variable/function/class names, good use of whitespace, etc.
- 10 pts: complexity: Code that is very similar to code that we used in lab or homework or code that
I've given you in class will receive 0 of 10 pts. Code that is original and relatively complex with receive
10 of 10 pts.
- Due: by 23:59:59 of the day of your final exam period
If you intend to use code from other people outside of the
class, talk to us first, and remember that we'll grade you on the code
you wrote, not on what other people wrote. If you do may make use of
existing code and libraries, be sure to clearly indicate who wrote
what parts of the code; using code without proper attribution is a
form of plagiarism.
As a reminder (from the syllabus), you must work on your own.
Feel free to discuss ideas with me or with your classmates, but don't
copy code (i.e. plagiarise). Here are examples of what plagiarism
looks like:
- You find a program online and copy the entire contents of the
file into your submission without attribution.
- You find code online, and change the variable names.
- Your room mate writes some code, which you add to your
program. You add documentation that shows you understand the code, but
never indicate the source of the code.
- Your older sibling sends you a function that will help your
program. You add it to your submission without attribution.
You may, on exceedingly rare occasions, reuse someone else’s code
provided that you make it clear what code you’re reusing and what code
you wrote yourself. You will be graded only on the code you
write! Consider these rules of thumb:
- If it would be efficient to use copy/paste to write some
portion of code, you must supply documentation that indicates the
original source of the code.
- If the moment you figure out how to do something occurs while
you are looking at a website, you should document that website.