Description:

READ THE ENTIRE DOCUMENT – This is a self-designed final project, thus is an opportunity for you to create a program that utilizes and builds upon the material you’ve been exposed to in CS021. You are free to choose your own final project theme and design.

Some ideas include:

An engineering or scientific application

Board or card game (with or without sound and/or pictures. No text-adventure or hangman)

Web application (e.g. utilizing Python Flask, Djanjo, etc.)

Related to a hobby (skiing, photography, etc.)

Set of activities for children (e.g., to learn physical science concepts, foreign language vocabulary, etc.)

A data management system (e.g., keeping track of any kind of inventory stored in a file, fitness or nutrition tracker)

Business application (estimating jobs for a construction site, creating billing or payroll)

Data analytics (working with a dataset to extract meaningful information, graphing trends, etc.)

…or whatever else you can dream up!

Please review the following requirements:
Must be coded in Python 3
Group size of 1-3 students
Project complexity and effort must be proportional to group size as follows:
a. Group of 1: Effort = 2X assignment
b. Group of 2: Effort = 3X assignment
c. Group of 3: Effort = 4X assignment
For groups, include in the comments who coded what (function headers are a good place for this)
Partners can be from another section, but has to be same professor
No external code permitted (i.e. no copying code from the Internet or another source, etc. However, you may use existing libraries/modules/packages/API’s).
Any/all resources referenced in the development of your project MUST be properly cited (including textbooks, web tutorials, Stack Overflow, etc.).
Professors and Teaching Assistants are available for consultation on program design only; no debugging of code (this is an opportunity for you to demonstrate what you’ve learned in the course).
Appropriate for an academic environment

Evaluation:

The following rubric will be used in the assessment of your final project:
 45% - Complexity & Functionality (effort appropriate, does it work?)
 25% - Programming Style (code using functions, appropriate documentation, etc.)
 15% - Error/Exception Handling (can I break your program at run time?)
 10% - Originality & Implementation (is it a unique idea, does it impress?)
 5% - Submitted Materials (includes testing instructions, citations, etc.)

Submission:

The following materials must be submitted to Blackboard [Final Project dropbox] NO LATER THAN NOON (11:59 AM) FRIDAY, December 6th. No credit awarded after that time.
1. Project Summary Document [1-page] consisting of:
 Summary of program (what does it do, why did you build it?)
 Testing instructions (detailed steps to run your project, including what and how to install any dependencies necessary to run your project. E.g.: pip3 install flask)
 Citations (any resources referenced, APA format)
2. Project files, including:
 All files needed to run and test your program
 For groups, include in the comments who coded what (function headers are a good place for this)
 For groups, use the self-enroll group feature in Blackboard for this assignment. Include the FULL NAME and NetID of each group member in the submission comments as well. Only one submission per group is necessary. Files must be submitted and not just added to the group file exchange on Blackboard).
Note: If your project is particularly complex to setup, please schedule a time to demo your project with your instructor prior to the due date.