The final project is an opportunity to work on a creative idea and write a full program from scratch.
Purpose: The purpose of tackling a project like this in this course is to demonstrate that you have met the learning objectives of the course, which are
What it's worth: 20% of your overall grade for the course
Due Date: Tuesday, December 14th (end of the calendar day) - we will not meet during finals week.
Topic: You may choose to create a program that does anything you want as long as it meets the requirements listed below. Pick something that is of interest to you. This could be an opportunity to do more with something we didn't previously turn in code for, like images or GUIs. Or, you could choose to create a game or a useful productivity application. You could also look for interesting data sets to work with, and read them in as files that you allow the user to interact with.
If you're stuck on thinking of ideas, I recommend browsing data set and thinking about how you could write a program that uses that data in some useful way. Check out the following two links for good starting places to look for data (which is often available in either csv or json format)
Requirements: Your project must include the following things
Self Evaluation: Your code should include a big comment at the top of the file where you write the following things
The self evaluation comment should be formatted something like this:
"""
Name:
Date:
Description:
Sample runs:
Sources:
Functions:
Data Structures:
Recent Topics:
"""
Grading: You will turn in your .py file on codePost under the Final Project assignment. You will earn up to 5 points for each of the following things
This is worth a big part of our grade, so does it have to be a really big project (i.e., lots of code)?
No. It can be something simple as long as it covers everything listed in the requirements. You can show you've met the learning objectives with a relatively small amount of code. You can think of the code you wrote for the Sentiment Analysis labs as a good size comparison - that included many of these things - several functions, docstrings, and files.
Can I find a tutorial on a website or YouTube and use the completed code as my project?
No. This should be something original that you build from scratch. It's ok to use sources to help you complete parts, but you should cite them and make sure you integrate everything into a coherent whole.
What if I used a lot of code that I got from a source? Should I still turn it in?
Yes, you should still turn it in. As long as you cite the source, it won't be considered academic dishonesty. However, you can expect to receive less credit because you haven't demonstrated the learning objectives independently.