In this final project assignment, you will conceive of, design and implement a GUI-based Python application of your choice. Examples include the following:

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)

  1. Project Proposal - This is a brief, written proposal for your project.
  2. Project Design - This is a planning document for your project.
  3. Project Walkthrough - This is a walk-through of your project code with one of us.
  4. Project Showcase - This is a showcase in which everyone exhibits their final project.
  5. Project Submission - This is your final submission of all your project code and resources.

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 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: