Final Project

From CS294-10 Visualization Fa08

Jump to: navigation, search



The purpose of the final project is to provide hands-on experience designing, implementing, and evaluating a new visualization method, algorithm or tool. Projects will be carried out by a team of up to three people. Your project should address a concrete visualization problem and should propose a novel, creative solution. The final deliverable will be an implementation of the proposed solution and a 8-12 page paper written in the format of a conference paper submission.

In addition, each group will be responsible for presenting the project twice to the rest of the class for design discussions. The initial presentation should describe the visualization problem that the project will address, the relevant related work, and the approach the group plans to take to solve the problem. The midpoint presentation should report on the progress the group has made so far and is a chance to get feedback on the direction of the project. At the end of the class we will have either a final project presentation session or a poster session so that groups can show their work to others.


  • Project proposal due: 10/27
  • Initial problem presentation (plan on a 15 minute presentation)
  • Midpoint design discussions
  • Final paper and presentation: 12/10


Project Proposal (Due 10/27)

As a first step you should create a project proposal (in the form of a wiki page) that includes the names of the members of your group and a short (1 to 2 paragraph) description of the visualization problem you plan to address. See the bottom of this page for instructions on making the wiki page for this assignment. This sample assignment page gives an example of the kind of the page format you might wish to use for the project.

Initial Problem Presentation (Due 10/27, 10/29 or 11/3)

A good way to assess the strengths and weaknesses of your project proposal is to present your ideas to your classmates for feedback. Thus, each group will be expected to initially present their project to the rest of the class on either 10/27, 10/29 or 11/3 (we will finalize the schedule in class on 10/20). The presentation should expand on the the project proposal and include the following material:

  • Description of the problem and motivation explaining why it is worth addressing.
  • A background survey of related work and a list of references.
  • A list of the key technical challenges your group expects to face and a description (or storyboard) of the approach you plan to use to address the challenge.
  • A list of milestones breaking the project into smaller chunks and a description of what each person in the group will work on.

Note: After giving your presentation you should add a link to your slides and other presentation materials to the wiki page for your project.

Midpoint Design Discussions (Due 11/19, 11/24 or 11/26)

A couple of weeks later each group will be expected to once again present their project to the class for further feedback. This time the presentation should include:

  • A description of how the project has evolved since the first presentation.
  • A report on the current state of the project.
  • A prototype implementation showing the type of interactive visualizations your system will produce. We will expect to see some working code and storyboards showing what you expect the system to do for the parts of the system that are not yet working.

Note: After giving your presentation you should add a link to your slides and other presentation materials to the wiki page for your project.

Final Paper and Presentation (Due date to be determined)

The final paper and presentation will be on the last day of class (12/10).

The final delivarables will include:

  • Code: an implementation of your system (source code and executable).
  • Paper: an 8-12 page paper written in the form of a conference paper submission. The paper should present related work, a detailed description of your system and a discussion of your design.
  • Presentation: we will hold a public presentation of the final projects. The presentation will either be in the form of an oral talk or a poster session. The slides or the poster will be considered a final delivarable.

Note: After giving your final presentation you should add links to your final delivarables to the wiki page for your project.


Your implementation should be able to handle typical data sets for the problem at hand, and run at speed compatible with the intended use (for example interactive visualization should run at interactive frame rates). Developing algorithms that scale to large data sets is particularly challenging and interesting. However, the project is not a programming contest and mega-lines of code is seldom associated with a good project.

We are very flexible about the underlying implementation of your projects. You can start from scratch using OpenGL or any other graphics and windowing toolkit, or use an available visualization toolkit (see Assignment 3 for some toolkit possiblities). However, the project must include some new code written by your group. You should not simply use existing software such as Excel, Tableau, Spotfire, Photoshop, etc. to create the visualizations for your final project.


Due: 12/10

The final poster should provide an overview of your project. It should include the following information:

  • Problem - A clear statement of the problem your project addresses.
  • Motivation - An explanation of why the problem is interesting and what makes it difficult to solve.
  • Approach - A description of the techniques or algorithms you used to solve the problem.
  • Results - Screenshots and a working demo of the system you built.
  • Future Work - An explanation of how the work could be extended.

You will be responsible for printing your own poster. However I can provide poster board for you to mount your poster on. Please talk with me if you need a board for mounting.

Plan on bringing a laptop with a working demo of your system. You should set up the laptop near your poster and use it to explain your project. The EECS wireless network should be available.

During the presentation session visitors will be wandering from poster to poster asking you questions about the work. Be prepared to give a short 5 minute oral explanation and demo of what you did.


Due: 12/15

The final paper should be in the style of a conference paper submission. The paper should include content that is typical of papers that appear at IEEE Visualization, SIGGRAPH, or CHI. In particular it should contain:

  • Introduction - An explanation of the problem and the motivation for solving it.
  • Related Work - A description of previous papers related to your project.
  • Methods - A detailed explanation of the techniques and algorithms you used to solve the problem.
  • Results - The visualizations your system produces and data to help evaluate your approach. For example you may include running times, or the time users typically spend generating a visualization using your system.
  • Discussion - What has the audience learned about visualization from your work?
  • Future Work - A description of how your system could be extended.

We have read papers from a number of conferences throughout the course, but if you are having trouble figuring out how to write your paper, take a look at representative papers from the conferences listed above.

Your final paper should be formatted using the 2 column formatting of papers that appear at IEEE Visualization, SIGGRAPH or CHI. Although there are some differences in format between these conferences, you are free to pick from any of these three. If you need help finding a formatting template talk to me.


The final project will count for 40% of your final grade in the course. I will consider strongly the novelty of the idea (if it's never been done before, you get lots of credit), how it address the problem at hand, the methodology you employ in doing the research, and your technical skill in implementing the idea.

In small group projects, each person will be graded individually. A good group project is a system consisting of a collection of well defined subsystems. Each subsystem should be the responsibility of one person and be clearly identified as their project. A good criteria for whether you should work in a group is whether the system as a whole is greater than the sum of its parts!

Suggested Project Topics

To get you started we have written a few suggestions for project ideas. Edward Tufte's site is another excellent place to look for project ideas. His question/answer area is full of ideas that would make good class projects.

Several previous visualization courses have had project components. Browsing through the final reports may help you think about what you might like to do. These descriptions may also help you determine the realistic size and scope of a project.

How to create your wiki page

Begin by creating a new wiki page for this assignment. The title of the page should be of the form:


Replace Firstname and Lastname with your real first and last names. You can create the page by entering a url of the following form into your browser:

Groups of two or more people should use URLs of the form:


To upload images to the wiki, first create a link for the image of the form [[Image:image_name.jpg]] (replacing image_name.jpg with a unique image name for use by the server). This will create a link you can follow that will then allow you to upload the image. Alternatively, you can use the "Upload file" link in the toolbox to upload the image first, and then subsequently create a link to it on your wiki page. Use the "Upload file" link to upload other files, such as the required .zip or .tar.gz archive.

Add a link to your finished assignment here

One you are finished editing the page, add a link to it here with full name as the link text. The wiki syntax will look like this: *[[FP-FirstnameLastname|Firstname Lastname]]. Hit the edit button for this section to see how I created the link for my name.

[add comment]
Personal tools