Final Project

The goal of the final project is for you to choose a graphics or imaging problem that is of interest 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 in front of the class, and create a final report. We are giving you wide latitude 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 two members.

Important deadlines:

  • Proposal: Friday April 7th 11:59pm.
  • Graded Milestone: Monday April 24th 11:59pm.
  • Final Presentations: (Tentative) Wednesday May 3rd - Thursday May 4th
  • Final Deliverables: Friday May 5th 11:59pm. Due to grading deadline constraints, there are absolutely no late days allowed!

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.

1. Choosing a Project

Creating your project idea is up to you!

We provide some possible ideas for you. Check out our Project Ideas pages Part 1, Part 2, Part 3, Part 4. The number of stars represent our 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!

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 2016. Note that in 2016 these projects were 2.5 weeks long, but this year we shortened some of the assignments to give you 4 weeks for your final project.

Here are some award-winning projects from classes at other institutions, as inspiration:

2. Your Project Proposal

Due Date

As soon as possible, and no later than Friday April 7th 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.

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

Monday April 24th, 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, 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 (Dates and Times Are Tentative and May Be Updated)

  • "Poster" Session
    • Session A: Wednesday May 3rd 10:00 - 11:30pm in VCL.
    • Session B: Wednesday May 3rd 1:30 - 3:00pm in VCL.
    • Students are required to attend the duration of your poster session, and are encouraged to visit the other session to see other projects as well.
  • Showcase Presentation Session
    • Tentatively Thursday May 4th at 2:00 - 3:00 pm. All students are strongly encouraged to attend.
    • Top project teams will be invited to present their projects to all students at a final showcase in which the EECS department will be invited to attend. Your friends (they don't need to be 184 students) are welcome to attend as well!

4.2 Deliverables

  • "Poster" Presentation
    • During the poster session, each team pair will have the opportunity to co-present your project and results to instructors with presentation slides on your own laptop. Be prepared for questions, and plan for 5 minutes including questions. You will need to bring a charged laptop to show your presentations and results (we will have some limited power extension cables for top-up charging.)
    • While waiting for instructors to visit your team, you will present your own project to other students and also walk around to check out other team projects. One team member should be presenting at your station while the other will check out other projects. You can swap around throughout the session.
  • Video
    • Each team will also be required to share a 1-2 minute final project video online during your session. These will be viewable by other instructors for deciding on teams for the Showcase Session. Please submit your video via this Google form.

4.3 Other Info

Check out this Piazza post for further instructions and sign-ups for the poster session!

5. Final Deliverables

Due Date

Friday May 5th 11:59pm. Due to grading deadline constraints, there are absolutely no late days allowed!

5.1A 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.1B Final Paper (CS284A Students)

If you are 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.2 Project Video

Link the video you presented in your Final Presentation on your report webpage.

5.3 Final Deliverables Submission

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

In addition, you must submit a zip containing your code and your website on okpy. Please follow this link for more instructions.