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.
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.
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
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.
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!
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.
UBC 03 Spring