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 an 8-12 page paper written in the format of a conference paper submission. Though the majority of projects concern the development of a software artifact, design studies or evaluations of visualization techniques may also be acceptable projects — please talk to Jeff and Mike if you have questions.
In addition, each group will be responsible for presenting the project twice. The initial presentation should describe the visualization problem that the project will address, the relevant related work, the approach the group plans to take to solve the problem, and early prototypes or storyboards. Take advantage of this presentation as a chance to get feedback on the direction of the project from the rest of the class! At the end of the class we will have a public final project poster session so that groups can show their work to others.
Prior to starting your project, it is helpful to gain a sense of what goes into formulating a successful visualization project. We encourage you to read the following guidelines for writing visualization research papers. It is an enjoyable read and should help you avoid common pitfalls, even if you do not have a research focus:
Project proposal due: 11/4 (end of day)
- Initial project presentation (plan on a 5 minute presentation)
Final project poster presentation: 12/2 Gates Hall Lobby, 4-6pm
Final project paper: 12/7
Project Proposal (Due 11/4)
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 Project Presentation (Due 11/9 or 11/11)
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 11/9 or 11/11. 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. Quickly mention the most relevant pieces of prior work in your presentation. Post your full list of references to your wiki page.
- 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: Before giving your presentation, you should create a new wiki page for your presentation submission, linked from your final project page. Be sure to include a [[Comments]] directive at the bottom of the page so that your classmates can share feedback. After giving your presentation you should add a link to your slides and other presentation materials to this wiki page.
Final Paper and Presentation
We will have public poster session in which you can share the results of your project with your classmates and others. The date of the session is Wed 12/2. Your final project paper is then due (submitted to the wiki) by end of day on Mon 12/7.
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: we will hold a public presentation of the final projects. The presentation will be in the form of a poster session. Be prepared to give a 5 minute oral presentation at your poster to both the instructors and visitors. You should include a demo of your project along with the poster. The poster will be considered a final deliverable, so don't forget to apply good visual design principles to your poster as well as your project.
Note: After giving your final presentation you should add links to your poster 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 possibilities). However, software projects 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.
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 we can provide poster board for you to mount your poster on. Please talk with us 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.
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.
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/InfoVis, 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 from your work? What new insights or practices has your system enabled? A full blown user study is not expected, but informal observations of use that help evaluate your system are encouraged.
Future Work - A description of how your system could be extended or refined.
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.
To submit your project, create a new wiki page with a title of the form:
Your submission page should include all the deliverables described above. You can use the "Attachments" link found at the bottom of a page to attach files to your assignment page.
You should also create a link to your submission in the list below. The first entry in the list is an example.
Add a link to your final project page here