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:

  • Proposal Due: Friday April 9th 11:59pm.
  • Proposal Revisions Sent, Project Start: Tuesday April 13th, by EOD.
  • Graded Milestone Due: Tuesday April 27th 11:59pm.
  • Final Presentations: Thursday May 6th.
  • Final Deliverables Due: Tuesday May 11th 11:59pm.
    • Due to grading deadline constraints, there are absolutely no late days allowed, even if you have DSP extension accommodations, so please plan accordingly!

For CS284A students: Recall that you need to do a substantial final project and submit a paper-style write-up (see 5.2B below), and this is worth 40% of your overall grade of the class. Note that if your group has 1 or more CS284A students (even if it's not all CS284A students), you will have to follow this format.

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.

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/284A in prior semesters:

2. Your Project Proposal

Due Date

As soon as possible, and no later than Friday, April 9th, 11:59pm.

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 your course instructors can give you feedback if necessary, regarding scope and expectations for the project.

The course staff will reach 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 three team members.
  • 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 with your analysis?
    • 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

Please fill out this Project Proposal Submission Form. Only one member per team should fill out the form.

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.

Due Date

Tuesday, April 27th, 11:59pm.

3.1A Milestone Status Report Webpage (CS184 Students)

Create a short webpage for your milestone report. This should be about 1 page long if printed. 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.1B Milestone Status Report Webpage (CS284A Students)

If you are a CS284A student (or are in a group with a CS284A student), read Section 5.1B for a description of how you will format your paper as a journal-style paper. For the milestone, download and familiarize yourself with the ACM SIGGRAPH paper template (you are encouraged to try using LaTeX). Format your milestone report in this template.

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.

3.3 Presentation Slides

2-3 slides summarizing your project and current progress. Link these on your webpage too.

3.4 Milestone Submission

Please fill out this Project Milestone Submission Form. Only one member per team should fill out the form.

4. Final Presentation

4.1 Schedule

Final Presentations on Thursday, May 6th

Save the date! More details to come.

4.2 Deliverables

  • Each team will be expected to co-present their project and results to instructors. Be prepared for questions, and plan to make your presentation less than 5 minutes including questions. This presentation will most likely occurr over Zoom, with one member of the team sharing their presentation slides as everyone on the team presents.
  • More details to come. The above information is subject to change.

4.3 Other Info

Check out this Piazza post (to be posted later) for further instructions and sign-ups for the poster session!

5. Final Deliverables

Due Date

Tuesday, May 11th, 11:59pm.

Due to grading deadline constraints, there are absolutely no late days allowed!

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.

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 (CS184 Students)

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. 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.

5.2B Final Paper (CS284A Students)

If you are a CS284A student (or in a group with a CS284A student), you will write up your project formatted as a journal-style paper. Use the ACM SIGGRAPH paper template (you are encouraged to try using LaTeX), and aim for a concise 4-6 page paper. Given this format of deliverable, your project should aim for a novel technical contribution, and focus your paper around describing this. See recent ACM SIGGRAPH papers for format and style, although your 4-week project will obviously not contain the depth of a SIGGRAPH publication!

5.3 Final Deliverables Submission

Please fill out this Project Final Deliverables Submission Form. Only one member per team should fill out the form.

5.4 Peer Review Form

In addition to the final deliverables form, please fill out the Final Project Peer Review Form, intended for you to talk about your experience working in your final project groups, by Tuesday 5/11 at 11:59pm PT. Every team member should fill out this form 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!