[CS134.P1] 💻 Student Project
CS 134: Programming Fundamentals, Summer 2022
Assignment turn-in link:
CANVAS TURN IN
📝 Assignment
Projects are meant to be solo effort, please try to complete it on your own. You can ask the instructor or a tutor questions if you get really stuck, but all the information you need to complete the assignment is in here, or in the related reading/lectures.
If you get stuck, please post questions in the
Unit 7 'Help!' discussion board.
🔧 Setup
FIRST, from your "My Repls" page on Repl.it
create a new replit project for this project.
When you turn in the assignments, you will copy the URL to your project as the submission
and share your work on the class discussion board.
🎁 Submitting your work
First, make sure all your programs are inside your
Project
folder. If they're not you can click on the three dots on the right side of the program name and click "Move".
To submit your work, navigate to the folder for your exercises on replit.
Copy the URL to that directory
(e.g., https://replit.com/@rsingh13?path=folder/Unit02)
and paste it in here in Canvas.
Once you've turned in the assignment, make sure to also post your program
in the code review assignment,
💻 Writing your project
For this assignment you will come up with a program that you want to create.
You can keep the scope pretty small, you do not need to over do it!
You'll also find some project suggestions if you can't think of anything.
Requirements
You will need to turn in the link to your replit project, as well as
post the project on the discussion board for a
peer reivew.
Your program can be about anything that you'd like. Try to keep the scope small,
since there is limited time. It is OK to turn in an incomplete project,
as long as there is some functionality implemented and the core code requirements are met.
Code requirements:
- Use at least one CLASS. The class isn't required to have functions, it could just be a class that contains variables.
- Use at least one FUNCTION, but preferably try to use them wherever the design would be appropriate.
- Use at least one LIST or DICTIONARY; you do not have to include both.
- Write your program so that it contains at least one WHILE LOOP that keeps the program running until the user decides to quit.
- Use at least one FOR LOOP to iterate over your LIST/DICTIONARY.
Project ideas
You can utilize one of these ideas or use them to plan your own project.
- Applications:
- Recipe program - Store a series of recipes, where the user can do a search for recipes that match some criteria, such as "is vegetarian" or "contains tomatoes". A class could be the recipe, which includes a list of ingredients.
- Pizza builder - Make a pizza ordering program where the person can select toppings for their pizza. On check out, it will calculate the total price of the pizza based on the toppings. A class could be the pizza, with a list of toppings and prices.
- Account logins - Make a program where the user can log in with a username and password, with the program storing several usernames/passwords. The user can only log in if they enter the correct password. A class could be the User Account, containing username and password.
- Games:
- Number guessing game - The game gives the player a limited amount of guesses. If they run out of guesses, then they lose. If they guess the correct number, then they win. They can continue playing new number guessing games to build up more score until they decide to quit. A PLAYER CLASS contains their name and score.
- Virtual pet - A basic pet simulation where the pet has stats like "health", "happiness", "hunger" (these can be stored in a Pet class), and the player decides an action to do each turn. For example, "feed" could have a submenu for "pizza", "broccoli", "candy", which will affect the pet's health/hunger stats in different ways.
If you have an idea but want to check that it isn't too big, you can also post in
the Unit 7 'Help!' discussion board
or email me!