Unit 2 Project
Purpose: The purpose of this assignment is to showcase how much you have learned during this Python unit of the class. You will get to choose with your team between 3 different prompts listed below.
Instructions
- Assemble your team. Here is the google sheet where you declared this in case you forget: (If you need to change teams for any reason, please contact the head TA or the professor)
-
You will then choose one of the three prompts listed below.
-
Complete the project using all the following requirements (this is where your grade will come from):
- An introductory text block with:
- instructions on how to use your code
- link to your external file
- group name
- members of your group
- a report on how each team member contributed (with rubric items that they did)
- Links to any out of class resources you used (Please don't forget this part. If there are no links you will lose points)
- At least 1 if-elif-else statement
- Use file reading and or writing. Should be a file that your code creates or one that you upload to your Colab session and use in your code or both.
- At least 1 loop (for or while)
- Use numeric and string variables
- At least 1 list or dictionary
- Use comments throughout your code explaining what is happening
- At least 3 functions that you write/define
- At least 1 class that has attributes and methods that you write/define
- Use of forms or input statements.
- Use markdown to organize code
- "# @title, Imports, Get Data"
- Markdown Guide
- Your program is bug free and runs without error
- An introductory text block with:
-
After you have completed your project, create a video. You can use ScreenPal (formerly ScreenCast-O-Matic) for this https://screenpal.com/. ScreenPal records your screen and your voice as you demonstrate what your project does and how it works. After you record your video, there is a "share" link in ScreenPal that lets you upload the video to YouTube and get a public link for it. The main purpose of this video is to make grading these projects easier. When making your video: - Keep it short (ideally under 4 min) - Show how your group completed every element in the rubric - Have each group member share one thing they learned.
The Prompts
Prompt 1 - Rock, Paper, Scissors
Create the game “Rock, Paper, Scissors” using python. The user will be playing against the computer who will choose a result randomly and it will be compared to the user's input. Incorporate the use of storing and accessing data from a file in this project. The user should be able to play as many times as desired until they ask to stop. Create a file that stores the results of each game played (who won, what the user chose, what the computer chose, etc). At the end of the session, display to the user how many games they won, how many games the computer won, and how many ties there were. Be sure to include the items in the grading rubric below.
Prompt 2 - Inventory management
Create an inventory management system. Your code should be able to add, remove, and modify the different inventory items. Each item should have a name and an amount. Store the inventory summary in a separate file.
Prompt 3 - To Do List
Create a code that will allow a user to take a current to-do list and be able to create, update, and delete tasks. Elements to include in your to-do list could be: task name, task category, due date, and status. Also include code that will allow the user to store tasks on a file.
Turning in/Rubric
Only one team member needs to turn in the following in the feedback box on the assignment in Learning Suite: - A colab link with sharing turned on and editing on - The link to watch the video (not the video file) - All files your code uses to run and/or generates (this will be a file you upload to Learning Suite)
Rubric:
| Item | Points Possible |
|---|---|
| An introductory text block with all the relevant information asked for | 3 |
| Uses if-elif-else statement | 5 |
| Uses file reading and or writing | 5 |
| Uses loops | 5 |
| Uses numeric and string variables | 2 |
| Uses a dictionary or a list | 5 |
| Uses comment to explain the code | 15 |
| Writes and defines 3 custom functions | 15 |
| Writes and defines 1 class with attributes and methods | 5 |
| Uses colab forms or input statements | 5 |
| Use markdown to organize your code | 5 |
| Prompt completed | 10 |
| Video uploaded (link to video not file) | 10 |
| Participation points | 10 |
Total |
100 |
The following is not a part of the rubric, but specifies how you can lose points. For example: if you do not explain your code when using AI to help you create it or fail to share your link correctly.
| Reasons for Points Lost | Amount |
|---|---|
| Link shared incorrectly | -10% |
| Turned in late (per week) | -10% (up to -50%) |
| No comments explaining where AI is used and what its provided code does | -50% |