Final Project Overview

The final project is your opportunity to apply everything you’ve learned in CS123 to create something unique with Pupper. You’ll have three weeks to develop, implement, and present your project.

View the rubric you will be graded on here.

Limited Late Days

  • You can only use 2 late days on the progress report; no late days will be allowed on the final demo video or presentation

  • Failure to submit any section on time results in a 0 for that component

  • Office hours will be available as usual to help you meet deadlines–we’re here to support you!

Submission Requirements

  1. Project Proposal (Due 11/14 11:59 PM)

    • ~One page or more, single-spaced document (excluding images) containing:

      • Problem description: State the problem you will solve. Why this project is interesting/important and how it builds on course material?

      • Proposed solution:

      • Detailed breakdown of required components and implementation approach

      • List of needed hardware/software resources (which we can reimburse for)

      • Identification of key technical challenges and proposed solutions

      • Expected results: Explain in detail what you will show on demo day.

      • Milestones and Schedule:

      • Detail the steps you will take to successfully complete the final project in the timeframe we have

      • Think of milestones in terms of three tiers of goals: target, reach and dream

      • Week-by-week timeline of milestones and deliverables

      • Specific goals to hit by progress report deadline (12/1)

      • On 12/1 during the lecture, each team will demonstrate their current progress to the instructors and TAs

      • In the proposal, you will specify which milestone you expect to complete by 12/8

      • Backup plans for each major component if original approach fails

      • Risk assessment of which parts may take longer than expected

    • TAs will provide a link to schedule your mandatory meeting after grading your proposal

    • We will grade your proposals and schedule meetings as soon as possible to help you get started on your project

    • Due to the strict deadline on progress report, we recommend submitting your proposal as early as possible

  2. Progress Report (Due 12/1 11:59 PM)

    • ~One page or more, single-spaced (including images)

    • Free in form, but must be completely different from your proposal

    • Must include a video showing some implemented and functional features

    • If you’re too busy to compile a detailed progress report, we encourage just submitting your in-progress project log + demo video instead

    • Important: Failure to show functional implementation in the video, or copy/pasting from the project proposal will result in significant penalties (50%+ reduction in your progress report score)

  3. Final Demo Video & Presentation (Due 12/8 11:59 PM)

    • ~1 minute video showing your (almost fully ready) final project

    • Must be uploaded and submitted on Gradescope

    • The demo video is needed as a final progress check, and also comes in handy if you encounter technical difficulties during your presentation (which happens quite often)

    • We will not collect presentation slides, but you should prepare them for your final presentation (around 5~10 minutes)

Project Ideas

We’ve compiled a list of potential project ideas to help you get started. You can find them in our Project Ideas Spreadsheet. The spreadsheet includes suggested starting points from various labs (including the optional labs), which you can extend in creative ways. Feel free to use these as inspiration or come up with your own ideas!

Project Advice

  1. Think Big, Plan Carefully

    • Aim for an ambitious project that excites you

    • Break down your project into manageable milestones

    • Have a clear backup plan if your primary idea proves too challenging

  2. Time Management

    • Three weeks is not a lot of time, and time flies!

    • Set clear weekly goals and stick to them

    • Leave buffer time for debugging and refinement

  3. Documentation

    • Keep track of your progress

    • Document challenges and solutions

    • Take videos of your work-in-progress

  4. Testing

    • Test early and often

    • Start with simple functionality and build up

    • Don’t wait until the last minute to test your complete system

  5. Presentation

    • Plan your demo carefully

    • Have a backup plan in case of technical issues

    • Practice your presentation

Remember: The best projects are those that are both ambitious and achievable. Choose something that challenges you but can be completed within the time constraints. Good luck!