Winter 2005: CS 558 Visualization

Final Project


The purpose of the final project is to provide hand-on experience in designing, implementing, and evaluating a new visualization method, algorithm or tool. Projects will be carried out by a single person or a small team of two. Projects can cover a wide variety of concrete visualization problems (see examples below) but should propose a novel, creative solution to this problem. The deliverable will be an implementation of the proposed solution and a 8-12 page paper written as a conference paper submission. Each group will be given the opportunity to present the project in class for design discussions during the week of 2/21. A final presentation is scheduled for 3/14.


Project Proposal  (Due 2/8)

As a first step you should write a one page project proposal. The proposal should motivate the problem you are attacking and why it is interesting, state the goal of your project, identify the key technical challenges you will face, and outline your technical approach. Give a list of milestones breaking the project down into smaller chunks. If you plan on collaborating with others, identify your partners and briefly describe how each person's piece relates to the others. Provide references to previous work and survey what has already been done.

I will provide feedback as to whether we think your idea is reasonable, and also try to offer some technical guidance, such as additional papers you might be interested in reading.

Project deliverables

Design discussions

A good way to assess the strengths and weaknesses of your project proposal is to present your ideas to your classmates for feedback. I have set aside 2/22 and 2/24 for project design discussions. You will be expected to present your project proposal, the solution you envision, and the steps necessary to get to that solution. You should discuss the pros and cons of your approach and report on the current state of the project. Ideally a prototype implementation or hand-crafted storyboards should be presented to give the other students a sense of what you are aiming for.


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 rate). 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, use an available visualization toolkit (such as Vtk, or OpenInventor), extend a commercial application (such as AutoCAD, Excel...) or use fast prototyping tools (such as MacroMedia Director or Flash).

You will be expected to demo your implementation during the project presentation on 3/14

Final paper

The final project report should take the shape of a 8-12 page paper written as a conference paper submission. It should present related work, a detail description of your visualization, and include a discussion of your design. Final paper are due on 3/14.


The final project will count for 75% 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. A high grade will be roughly equivalent to a recommendation from us that you continue to pursue your work and submit it to a conference for publication. In particular, you may consider submitting the work to Visualization 2005InfoVis 2005, or UIST 2005.

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 Topics

To get you started, here are some topics that I think deserve more research. Edward Tufte's site is another good place to look for inspiration. Check out his question and answer area.

Other Courses

Several previous visualization courses have had project components. Browsing through the final reports may help you think about what you might like to do, and what scope is realistic for a course project.