CS448B Final Projects


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 tw. Projects can cover a wide variety of concrete visualization problems (see examples bellow) 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 final project to the class.


Project Proposal

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

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


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 a date TBD.

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


The final project will count 3/4 (or more, if based on our judgment, we consider the project truly outstanding) towards your final grade in the course. We 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, students may consider submitting their work as an InfoVis 2004.

The project are done by small groups, but 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!