Final Project Submission¶
Your final project submission is due on 5/13/2025 at 1pm EST. We will begin grading projects based on commits made by this time, but you are of course welcome to continue working on your projects for as long as you would like after class.
The final project is worth 20% of your total grade. Projects will be graded on the following criteria:
- Commit history/effort (40%)
- Python Code (15%)
- Minimal working example (15%)
- GitHub repository organization (15%)
- README.md install and demo instructions or other docs (15%)
Commit history¶
By the project submission date you will have worked on your project for over six weeks. Kind of amazing. Over this time you've probably changed the code dramatically, and hopefully developed something that is approaching your proposed goal. The git commits that you made along the way provide a record and timestamp of your progress. We will review your commit history to get a snapshot of your contributions. It's OK if you committed very little one week, and much more another week.
Python code¶
We spent a fair bit of time in class discussing the proper way to organize Python code. This involves following conventions that make it easier for others to read your code and understand what it is doing. You should place imports at the top of modules, and use proper indentation, and try to split your code among multiple separate modules if it becomes too long and complicated. These conventions can take a while to learn, and that is why I repeatedly, relentlessly, tried to get everyone to implement a working linter in your code editor to provide hints about how to improve the style of your code. We will examine your code organization to see that you have followed good coding styles. This doesn't mean you need to have fixed or accepted every single warning from your linter, but it will be very apparent if you have ignored all of them.
Minimal working example¶
I should be able to install and run a minimal working example of your code as described in your README file. As discussed previously, this does not mean that your program needs to be able to completely accomplish your proposed goal at the time of submission. But it does need to be able to do something that shows it is on the way towards its goal.
GitHub repo organization¶
I will examine your GitHub repo to check that you have organized files into folders, that it looks well maintained and updated, and that you have removed any files that are not meant to be synced, like .egg folders, or .DStore files (files that are not part of your code or demos).
README instructions and/or documentation¶
Your README file should contain the name of your program, and short description, and instructions for how to install and run the minimal working example. It should be nicely formatted using Markdown. Spend some time making the formatting look nice. This should be a freebie, since you were required to make most of this during your proposal.