Project 5: Final Project Proposals
Version 2.0. Last Updated: 2026-10-30.
We highly recommend reading through this spec in its entirety before you begin.
Content
VI. Proposal Review: What to Expect
Introduction
You will be building a project in Snap! or Python, completely from scratch (how cool is that!) First, youâll need to submit a project proposal that will be reviewed by a staff member to ensure that your project wonât be too easy or complex.
This proposal is meant to be just an ideas-focused starting point â the spec for the technical requirements and features of the final project can be found here
Important logistics
Project Groups
- You must work in groups of 2. Groups of 3 require TA approval and we will increase the project-complexity requirements.
- If you want to work alone you must get explicit permission from your TA and you will be graded as a group of 2. We very rarely permit students to work solo.
Proposal Submission Due Friday 11/6
- Submit your proposal on Gradescope before your meeting. There will be NO extensions available.
- The proposal be 1-2 pages, single-spaced.
- You can revise and resubmit until your meeting time.
Meeting Sign Up Due Friday 11/6
- Book a 10-minute slot here by Friday, 11/6 at 11:59 PM PST. In person meetings are at the OH / Lab location of that time (see Calendar)
- If all slots are full or you cannot attend, make a private Ed post by 11/6 to avoid a 0 score.
Project Proposal Meeting Details (Week 12: Nov 9 -13)
- Meetings will run during Week 12 (11/9 to 11/13). No meetings on Wednesday November 11th due to the holiday.
- You may attend either in person (at the regular OH / Lab location of that time) or via Google Meet. All locations and Meet links can be found on the course calendar.
- This is worth 5 points of your final grade.
- Only one member of your group needs to attend. Late arrivals receive a 0 score and must sign up for a new time slot.
Complexity Guidelines
Complexity means âhow difficult is it to implement?â and is used as a measurement to ensure that final projects fit a happy medium of not too hard and not too simple. Please read through the technical and feature requirements. If your project idea relies heavily on the following, we recommend you consider alternate projects:
- Using any primitive block in Snap! Will not count as a feature
- A guess-and-check game: considered too easy since it consists primarily of a series of if-then-else statements.
- Data entry: Projects that rely on data entry get âbiggerâ by having a bigger database. A fix for this would be having the data component be just one part of a bigger project.
- Games like Pong, Tic-Tac-Toe, Guess the word, Hangman, dress-up games, point and click games would not be complex enough and are NOT ALLOWED.
- Games like Angry Birds, Balloons Tower Defense, or Need for Speed would likely be too complex.
- Games previously implemented in Projects are not allowed.
- Use of AI is NOT allowed.
Donât be worried if you really like a project idea but think it may be too complex, or not complex enough â thatâs the purpose of the project proposal, so you can work with a TA to get your project complexity into the right range!
When considering your project, see if you can figure out a solution or a structure for a solution first! A few gauges for complexity are: coming up with logic to check for four-in-a-row in Connect 4 or recreating Flappy Bird in Snap!
Here are some examples of projects in the âaccepted proposalâ range
- The Chrome Dinosaur Game:
- Feature 1: TWO DIFFERENT OBSTACLES
- Randomly generated shrubs and pterodactyls appear on the screen.
- Obstacles NEED to be traveling at different speeds
- Feature 2: The game ends when the dinosaur runs into an object.
- Feature 1: TWO DIFFERENT OBSTACLES
- Mancala:
- Feature 1: When a player chooses a group of marbles, those marbles get distributed around the board, picking up more marbles when the last one falls on a non-empty hole
- Feature 2: Game over when all marbles are in the two goals, winner is the one with more marbles
- Doodle Jump:
- Feature 1: Doodle jumps continuously, moving higher up in the sky as he lands on bouncing platforms that continuously move downwards
- Feature 2: Game ends when Doodle falls off the screen
- Bubble Shooter (Difficult):
- Feature 1: Computer will generate randomly colored bubbles that players can shoot
- Feature 2: If the program detects groups of the same color, it will delete them.
Other projects that fit complexity requirements that students have done in the past include: Frogger, Checkers, Flappy Bird, Snake, Chutes & Ladders, various puzzle games, various board games, data science analysis, Battleship, and chatbots.
Proposal Contents
So now that youâve got a project idea, itâs time to write about it! Draft your answers on a Doc before submitting to Gradescope.
- Who are the group members (name and SID)?
- What language will your project be in? Python or Snap? If youâre doing a graphics-heavy project, we recommend Snap!, as staff will have limited capacity to assist with debugging Python libraries.
- What is your vision for the project? Describe the specific project and the major 2 - 3 features youâd like to accomplish. Groups of 2 should list 2 features, groups of 3 should list 3. Please go into detail, the clearer you are, the better your TA/tutor will be able to help you adjust the project if necessary.
- How will someone interact with your project? Describe the controls that will be used.
- What are the technical elements behind your features? How will you make the 2-3 features happen? What you write doesnât have to be exactly what you end up doing, but it should convey how you plan on implementing the project in terms of blocks/functions or computing ideas.
Here is an example proposal; it should give a sense of how much detail we want you to go into on the proposal. Feel free to make a copy.
Submission Guidelines
By Friday, November 6th 11:59pm, you and your partner will submit your project proposal as a group on Gradescope. Only one person needs to submit, donât forget to add your partner(s) to the submissions!

Proposal Review: What to Expect
You will explain your project and a staff member will review and approve/disapprove your project proposal.
If your initial project proposal is not approved:
- Itâs okay! This happens to lots of students every semester. If you decide youâd rather pursue a different project idea, please note that youâll need to write up another project proposal, and have that approved before you can start working. Note: If you choose not to adjust your project as suggested or do not submit a second proposal when your idea changes, you are unlikely to receive full credit for complexity.
If your initial project proposal is approved:
- Congrats! You can start working on your project. Note any questions (for resources, clarifications, or suggestions/advice on implementation) that you might have for your project TA/tutor, and bring them up during your proposal review session!
As you begin to code, you may feel the need to make adjustments to your project and features (often because of time constraints or unexpected complexity). This is perfectly okay! You donât have to run the changes by your project TA/tutor to start implementing them, but we do recommend that you check in with any adjustments to ensure that you are still within complexity guidelines.