The Final Project

The final project is a chance to demonstrate what you've learned about Python. Your program can do anything you like but it must meet some minimum requirements.

Coding Requirements

Your project must meet the following requirements:

  • Syntax
    • It must have at least one class
    • It must use a list or a dictionary (or both)
    • It must have a for or while loop (or both)
  • It must be a Flask or other kind of web application.
  • It must be uploaded to Google
  • You must have at least one web form in your application.

You do NOT need to use a database.

Some Ideas

Many of the projects could be implemented as web-programs. Here are some ideas.

  • Web Calculator
  • Madlibs
  • Let's Make a Deal (the Monty Hall game)
  • Single-user blog site.
  • Spell checker

Other Requirements

  • You can name your files anything you want but they must have docstrings
  • Your classes must have docstrings describing them
  • Your functions must have docstrings describing them
  • Your project must have the following files
    • app.yaml - I will call this when I test
    • - A text file that describes your project

Getting Started

I have made starter code that has a working Flask on AppEngine project. You can download it here:


You will have to use pip to install Flask. Do that with these commands (run the commands in the same directory as your app.yaml):

sudo pip install --upgrade pip
pip install -t lib -r requirements.txt 

Demonstration and Turn In

  • On the day of the final you will demonstrate your project.
  • It should be demonstrated using Google App Engine
  • You should also turn in the source code on Canvas


The final project will count as a test and will count similarly to the midterm (100 points).

  • 30 points for a correct submission (including files and docstrings)
  • 50 points for meeting all the requirements
  • 20 points for originality and complexity