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 images of past projects.

Deliverables and Grading

The following project “deliverables” are required:

  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.

Project Complexity

We will grade, in part, on the significance and complexity of your project. Generally speaking, here is a breakdown of the likely grading for different sorts of projects:

For full credit, projects must be properly designed, implemented, tested and documented.

Reuse vs Plagiarism

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 write, not on what other people write. If you do 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 policies), you must work on your own for this project assignment. Feel free to discuss ideas with us or with your classmates, but don’t copy code (i.e. plagiarise). Here are examples of what plagiarism looks like:

Consider these rules of thumb:

Note that these rules of thumb apply to the code supplied in this course’s materials as well.