Final Project
The goal of the final project is for you to choose a graphics or imaging problem that is interesting to you, research ways to solve it, organize and schedule your work plan, execute a programming project of significant technical challenge that addresses your problem, present your work, and create a final report. We are giving you wide latitude of options on problem selection, computing platform, and what resources and software starting point you wish to use. Have fun, and work on something that you are excited about!
Project teams will be of four members. We will generally not allow teams smaller than this due to time constraints on the staff side.
Important deadlines:
| Task | Due | Feedback given by |
|---|---|---|
| Proposal + Team Signups | Sunday, July 27, 2025 | Tuesday, July 29, 2025 |
| Graded Milestone | Monday, August 4, 2025 | Friday, August 8, 2025 |
| Final Deliverables (Report & Video) | Tuesday, August 12, 2025 | |
| Final Presentations | Wednesday, August 13, 2025 | |
| Peer Reviews | Thursday, August 14, 2025 |
All assignments are due at 11:59 PM. Due to grading deadline constraints, there are absolutely no late days allowed for the Final Deliverables or Peer Reviews, even if you have DSP extension accommodations, so please plan accordingly!
There are no automatic slip days on any of the above deadlines. If you need accomodations due to extenuating circumstances, please reach out through our staff email
1. Choosing a Project
Creating your project idea is up to you!
We have provided some possible project ideas to spark your creativity: Project Ideas. We’ve also included estimated difficulty levels. You can also check out our FAQs for more information.
Note that your project idea is definitely not limited to these. You’re more than encouraged to come up with your own! Some of you may also want to attempt projects that tackle more real-time applications. To help support these students, we’ll provide some resources to help get y’all started with using the GPU and the basics of openGL.
The amount of work may vary for different projects. But don’t worry, we’ll consider this factor when we grade your project.
Example Past Projects
Here are some example project reports from CS184 in prior semesters:
- Realistic Hair Rendering
- Rendering with Distance Field Microgeometry
- Bi-Directional Path Tracing
- Water Simulation
- Smoke Simulation
Here are some final project showcases from past years:
- Spring 2025 Showcase
- Spring 2024 Showcase
- Spring 2023 Showcase
- Spring 2022 Showcase
- Spring 2021 Showcase
- Spring 2020 Showcase
1.1 Team Signups
Deliverable: Please submit the [Final Project] Team Signups assignment.
2. Your Project Proposal
2.1 Purpose
The purpose of the proposal is a deadline for you to organize your thoughts by writing them down, and to formalize your goals and plans. It also provides the information so that course staff can give you feedback if necessary, regarding scope and expectations for the project.
The course staff will provide you with some feedback after receiving the proposal & help you scope the project so it’s more manageable given the time frame.
2.2 Proposal Website
Please create a proposal webpage with the following sections.
- Title, Summary and Team Members
- Provide us a descriptive title, 2-3 sentences that summarize your project, and list your four team members.
- Please include your project name as the title of your proposal: this should be short, memorable, and relevant to the project you’re embarking on!
- Problem Description
- Here you should provide the context for your idea. Describe the problem that you are trying to solve, why it is important, where it is challenging. Give us a general idea on how you are going to solve it.
- Goals and Deliverables
- This is the most important part of your proposal. You should carefully think through what you are trying to accomplish, what results you are going for, and why you think you can accomplish those goals. For example:
- Since this is a graphics class you will likely define the kind of images you will create (e.g. including a photo of a new lighting effect you will simulate).
- If you are working on an interactive system, describe what demo you will create.
- Define how you will measure the quality / performance of your system (e.g. graphs showing speedup, or quantifying accuracy). It may not be possible to define precise target metrics at this time, but we encourage you to try.
- What questions do you plan to answer?
- You should break this section into two parts: (1) what you plan to deliver, and (2) what you hope to deliver. In (1), describe what you believe you must accomplish to have a successful project and achieve the grade you expect (i.e. your baseline plan – planning for some unexpected problems would make sense). In (2), describe what you hope to achieve if things go well and you get ahead of schedule (your aspirational plan).
- Schedule
- In this section you should organize and plan the tasks and subtasks that your team will execute. Since presentations are ~4 weeks from the due-date of the proposal, you should include a set of tasks for every week.
- Resources
- List what resources, e.g. books, papers and/or online resources that are references for your project. List the computing platform, hardware and software resources that you will use for your project. You have a wide latitude here to use what you have access to, but be aware that you will have to support and trouble-shoot on your platform yourselves. If you are starting from an existing piece of code or system, describe and provide a pointer to it here.
2.3 Submission
The Proposal submission is due on Sunday, July 27, 2025 at 11:59PM.
Deliverable: Please submit a PDF of your proposal webpage to the [Final Project] Proposal assignment.
In your proposal PDF submission, please include clickable links to your proposal webpage. If you are submitting by generating a PDF via Safari, please select Print -> Save as PDF. If you instead use File -> Export as PDF, this will generate one huge PDF page (not standard-sized), which is difficult for grading.
3. Milestone Deliverables (Graded)
Midway through your project you will submit the following graded deliverables. These are in the same format as the final deliverables, but shorter and focus on progress to date and updated plans.
3.1 Milestone Report Webpage
Create a short webpage for your milestone report. This should be about 1 page long if printed. Please include your project name at the top of your milestone report. You should briefly summarize what you have accomplished, preliminary results, reflect on progress relative to your plan, and update your work plan as appropriate. You must submit this milestone deliverable (and the final deliverable) on a persistent website that you can choose to keep up after class if you wish to present this work in your portfolio.
3.2 Milestone Video
A short 1-minute video summarizing your progress. The style of this milestone video is quite free. One idea is to make several slides with narration, showing the general idea and current progress. You can include some screenshots of code and images. You can also run your current program and record the screen to show us what is happening. Keep in mind that your video submission should clearly explain and demonstrate to us what you have achieved so far. Link this video on your webpage.
Every group member should be present / speak within this video.
3.3 Presentation Slides
2-3 slides summarizing your project and current progress. Link these slides on your webpage too.
3.4 Milestone Submission
The Milestone submission is due on Monday, August 4, 2025 at 11:59PM.
Deliverable: Please submit the PDF of your milestone to the [Final Project] Milestone assignment.
You should submit a PDF of your milestone webpage (like in the homeworks).
In your milestone PDF submission, please include clickable links to your milestone webpage, slides, and video. If you are submitting by generating a PDF via Safari, please select Print -> Save as PDF. If you instead use File -> Export as PDF, this will generate one huge PDF page (not standard-sized), which is difficult for grading.
Make sure that your video is accessible to TAs: this means either making an unlisted YouTube video or shared Google drive video that is visible to all Berkeley users (at a minimum).
4. Final Presentation
4.1 Schedule
Final Presentations will be Wednesday, August 13, 2025 in Berkeley Way West.
Please see this Ed post () for your assigned presentation times.
4.2 Presentation Logistics
- Presentations are run like a poster session–your team will set up at a table with your laptop(s) ready to present, to Professor Elaydi/staff/other teams!
- You will give two presentations. Please note that these presentation lengths are hard limits:
- 1.5-minute presentation to Professor Elaydi
- 5-minute presentation to a pair of TAs
- We’ll have 1-2 minutes of Q&A at the end of each presentation.
- Feel free to walk around and listen to other students’ presentations during your session. You are also welcome to drop in to any other presentation sessions if you’re curious about what other teams created (or want to watch your friends present!). This is a showcase of your hard work!
- Lateness: Due to the tight schedule and sheer number of students presenting in one day, we expect you to be on time for your presentations. If for some reason you miss your assigned presentation session, please come to a different session and let the TAs/Professor Elaydi know and we will do our best to fit you in.
4.3 Presentation Tips
- Present your best, most exciting results first, in case you run out of time.
- 1 major point per slide. Put the point in the slide title.
- Pictures tell a thousand words - make your slides visually rich!
- For text, use short bullets, large font, and elaborate in voice-over.
- Strive to be clear and engaging instead of packing in as much information as possible.
- Turn on do not disturb.
- Have fun!
4.4 Suggested Format for presentation to Professor Elaydi
For the 1.5-min presentation for Professor Elaydi, we suggest giving a bit of background and highlighting the demo final results/findings of your project.
4.5 Suggested Format for presentation to TAs
Your presentation style is totally up to you! Here is a suggested format for the 5-minute presentation:
- Title slide (15 seconds)
- Engaging title, iconic graphic, team member names.
- Explain your project in one engaging sentence. E.g. “We built a GPU-accelerated smoke simulator that you can ‘blow’ around interactively.” or “We tried to implement Metropolis light transport, but it was hard! So we switched to photon mapping, and rendered caustics at the bottom of a swimming pool.”
- Background and intro (30 seconds)
- Provide the background on your project. Why did you choose this project? What problem did you solve, and why does it matter?
- Describe succinctly but clearly what your code starting point was.
- Demo / final results teaser (30 seconds)
- Start by showing off a live demo, or final images, of your best results. Explain what is cool / hard about it, what’s unique to your project, what we should pay attention to, what you are proud of.
- Why? This acts as motivation for your technical material, and makes sure that you don’t run out of time to show your results!
- Technical approach and implementation (1-1.5 min)
- Illustrate and describe clearly what you built on top of your starter code. One engaging way to do this is to demo modules of your project, with key intermediate results.
- It is wise to highlight what you did that was unique.
- More results (0.5 - 1.0 min)
- More show and tell
- Conclusion (15 - 30 sec)
- Summarize top lessons learned, and/or compliment your team mates.
- Finish positive and optimistic!
5. Final Deliverables
Due to grading deadline constraints, there are absolutely no late days allowed!
5.0 Requirements
For your video, webpage report, and presentation: please make it crystal clear technically and visually what your team’s starting point was, what you built on your own, and what your output was in contrast to the starting point.
5.1 Final Project Video
Each team will also be required to share a 1-2 minute final project video online. We strongly encourage you to take the time to polish your video and use the time to clearly highlight your most beautiful and compelling results, explain your technical approach at a high level and in an engaging way, and to explain what you learned and why future students should be interested to pursue a similar project.
Every group member should be present / speak within this video.
Teams selected as Showcase Projects (see below) will have their video, and only their video, appear on a class webpage recognizing the Showcase Projects. This further underscores the importance and visibility of these videos.
5.2A Final Report Webpage
Your team will write a final report as a webpage that describes what work you did, goes over what you learned, and presents your final results. Please include your project name at the top of your report. You may re-use material from your proposal and milestone, updating them based on what you actually did and adding detail as necessary. The report should be about 2-3 pages long if printed. The basic structure of your report will likely include:
- Abstract
- A paragraph summary of the entire project.
- Technical approach
- A 1-2 page summary of your technical approach, techniques used, algorithms implemented, etc. (use references to papers or other resources for further detail). Highlight how your approach varied from the references used (did you implement a subset, or did you change or enhance anything), the unique decisions you made and why.
- A description of problems encountered and how you tackled them.
- A description of lessons learned.
- Results
- Your final images, animations, video of your system (whichever is relevant). You can include results that you think show off what you built but that you did not have time to go over on presentation day.
- References
- Contributions from each team member
- A clear description of the work contributed by each team member.
Reminder: You must submit your final deliverables on a persistent website that you can choose to keep up after class if you wish to present this work in your portfolio.
EDIT: Please include in your final deliverable a small clip, gif, movie, or animation of your team’s output for the final showcase.
5.3 Final Deliverables Submission
The Final Deliverables submission is due on Tuesday, August 12, 2025 at 11:59PM. Due to grading deadline constraints, there are absolutely no late days allowed!
Deliverable: Please submit the PDF of your final deliverables to the [Final Project] Final Deliverables assignment.
You should submit a PDF of your final webpage (like in the homeworks).
In your final deliverables PDF submission, please include clickable links to your deliverables webpage, slides, and video. If you are submitting by generating a PDF via Safari, please select Print -> Save as PDF. If you instead use File -> Export as PDF, this will generate one huge PDF page (not standard-sized), which is difficult for grading.
Make sure that your video is accessible to TAs: this means either making an unlisted YouTube video or shared Google drive video that is visible to all Berkeley users (at a minimum).
5.4 Peer Review Form
In addition to the final deliverables form, please fill out the [Final Project] Peer Review assignment, intended for you to talk about your experience working in your final project groups, by Thursday, August 14, 2025 at 11:59pm. Every team member should fill out this Gradescope assignment individually!
6. Showcase Projects
We will select a number of teams for recognition as Showcase Projects. At least one of these projects will be recognized for Artistry. Top project teams will have their names and projects displayed on the 184 class webpage, visible to the wider EECS department. Winning teams will have excellent quality results overall, and will have taken the time to submit polished Project Videos and deliver polished live presentations.
Have fun, and good luck!