Skip to main content

Final Project

For the final project you will select your own topic. It can be an extension of one of the homework assignments, a portion of your graduate research, a significant module of a final project for another course, or a brand-new project. You are highly encouraged to work in a team of 2 for the final project. Individual projects or teams of 3 must have advance approval from the instructor.

The project must include a significant programming component related to computer graphics. You may use existing libraries or other open source code to build your project, just make sure you document and give credit to the original source. You are not required to use C++ and OpenGL for your project.

You will share your results through an in-class presentation to your peers and a publication-quality writeup (e.g., motivation, related work, algorithm/technique, results, conclusions, and bibliography). Note: Students registered for CSCI 6530 are expected to complete a more extensive project and are required to format their project report for submission to an appropriate graphics-related conference or journal (e.g., SIGGRAPH, Symposium on Computer Animation, Symposium on Geometry Processing, Eurographics Symposium on Rendering, Graphics Interface, etc.)

Brainstoring Ideas & Team Forming Post (Part 1)

Each student should 2 different possible projects. Even if you're certain what you will choose for your final project, you still must describe 2 different ideas. And even if you have confirmed your partner for the final project, each student must make their own post with their own individual ideas.

For each of your 2 ideas: Write a short ~100-200 word paragraph describing of the project. Describe the most significant and specific technical challenge for the project. Make sure the scope of the project is reasonable and can be accomplished during the final 5 weeks of the semester.

At the bottom of the post indicate if you've already chosen one of these ideas, if you already have a partner for the final project (who?), if you're looking for a partner for one of these ideas, and/or if you're open to working on some other topic.

Peer Feedback on Project Ideas (Part 2)

Read your classmates ideas posts. Post a response to 3 other students' posts. Pick one of their proposed ideas and:

  • Ask a detailed question about the project idea,

  • Suggest a specific illustrative example or input dataset,

  • Suggest a specific data structure or algorithm or library to use for the project,

  • Suggest a reference (paper, book, URL, etc.), or

  • Suggest an extension or hybrid project related to your own idea or the idea of another student.

Let's try to distribute the responses so that everyone gets at least 2 responses of feedback.


As you choose your topic and begin to flesh out the details, keep in mind that implementing new data structures or algorithms can take much longer than anticipated. Also be warned that designing and implementing even relatively simple user interfaces require alot of effort (and is not particularly relevant to this course).

Your proposal should be formatted using pdf. The document should be a minimum of 500 words (equivalent of 2 pages double spaced text) and include:

  • A brief summary of the technical problem you are going to investigate.

  • A list of the specific research papers and other sources you've collected for background reading. Talk with the instructor if you are unable to find at least 3 relevant research papers. Read and summarize the contributions of each paper and describe how your project relates to this work.

  • As appropriate for your project, describe a sequence of examples (from the most trivial to moderately complex) that you plan to test to demonstrate the features of your project.

  • A timeline for your assignment with a list of the tasks you will execute and who will do what. It's ok to list optional tasks that you will work on once the core features are functional. You will be graded relative to the completion of the core tasks, so make sure your plan is feasible.

Final Report

Your final report should be formatted using pdf and follow a standard technical writing format (e.g., motivation, related work, algorithm/technique, results, conclusions, and bibliography). All students are encouraged to format their final report for submission to a relevant academic graphics or graphics-related conference (SIGGRAPH, Eurographics, etc.). The report must be a minimum of 2000 words (equivalent of 8 pages double spaced text, excluding figures & references). Your report should describe the technical details of your project; in particular, we want to know about:

  • Any algorithms or data structures you implemented.

  • The core features of your assignment and how you tested them.

  • The challenges that you overcame (or failed to overcome). Note: As you're working on your project, save "blooper" images or video that show your intermediate results and how you debugged your project, and include them in your report & presentation.

  • Images/screenshots/visualizations/video showing the results of your project. Include simple and moderately complex examples.

  • Any known bugs or limitations in your implementation, and potential avenues for future work.

  • How long it took you to complete the assignment, and who did what.

Make sure to acknowledge (in proper bibliographic format) all references you consulted to complete the assignment and the extent of any collaboration with other students or outside sources. As with the other assignments, submit your source code, any necessary data files, and sample images or video showing the results.

The final project reports are due on the date specified on the calendar. You may not use any late days for the report. We will not accept any late material unless accompanied by a note from the Dean of Students office.

Please include a representative 200x200 image with your submission for the project index page (see last year's projects). All projects reports will be posted online by default. If you do not want your project report posted online please send the instructor an email.

Final Project Presentation

During the last few class periods of the term, each individual/team will present their final project to the class (individuals will have 10-15 minutes, teams of 2 will have 20-25 minutes). Attendance and participation (asking good questions) at your classmate's presentations is mandatory.

  • Summarize prior work as necessary. You don't need to discuss papers we covered in class.

  • Be technical: What were the challenges? How did you solve them?

  • Please give a live demo of your project if possible & relevant (depends on the project of course).

  • Teams of 2: Both students should present, and make it clear who did what.

  • Practice and time yourself.