From CS294-10 Visualization Sp11
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 to the rest of the class for design discussions. This 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. 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.
Schedule (final presentation and paper due dates may change slightly)
- Project proposal due: 3/14
- Project presentation 4/4
- Final presentation due: 5/2-5/6
- Final paper due: 5/6
Project Proposal (Due 3/14)
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.
Project Presentation (Due 4/4)
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 present their project to the rest of the class on 4/4 (we will finalize the schedule in class on 3/30). 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/storyboard/demo 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.
Final Presentation and Paper/Implementation (Presentation due 5/2-5/6, everything else 5/6)
The final deliverables 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: The presentation will either an oral talk on 5/2-5/6 The slides or the poster will be considered a final deliverable.
Note: After giving your final presentation you should add links to your final deliverables to the wiki page for your project.
Due: 5/6 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. However, the project must include some new code written by your group. You should not simply use existing software such as Excel, Tableau, Photoshop, etc. to create the visualizations for your final project.
Your project does not have to contain an implementation that requires programming. Successful projects may also include human-subject experiments on perception/cognition of visualizations or other kinds of analyses. Please talk to me if you have any questions or concerns about alternative types of projects.
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.
- UC Berkeley 08 Fall
- UC Berkeley 07 Fall
- UC Berkeley 06 Spring
- UBC 03 Spring
- UBC 04 Spring
- Berkeley 02
- Maryland 01
- Virginia 01
- Georgia Tech
- Stanford 96
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.
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.
- Maneesh Agrawala
- Karl He & Saung Li
- Jessica Voytek & Julian Limon Nunez
- Siamak Faridani
- Manas Mittal and Dan Lynch
- Dhawal Mujumdar
- Brandon Liu
- Michael Hsueh
- Sally Ahn
- David Wong
- Krishna Janakiraman
- Michael Porath
- Thomas Schluchter
- Michael Cohen
- Matthew Can