Project Description

Overview | Software | Proposals | Updates | Final Presentations/Reports | Projects from Other Courses | Back to 533 Home


There are two kinds of projects: programming and analysis. For programming projects, you may do the projects individually or in teams of two. The total amount of work done must be commensurate with the size of the group.

Programming: For a programming project, you will implement a visualization system of your own. You may use existing components as the base for your system.

Analysis: For an analysis project, you will pick an application domain to address, and write a combination survey/analysis paper about it. No serious programming is required, so this option is suitable for non-CS students. You will include a detailed survey of previous work in the area. This survey should be more considerably detailed than the required previous work section in the programming project writeup. You will pick one or more existing software tools to to analyze a dataset from that domain, so no serious programming is required. (You may need to write some scripts to change data formats, however.) The analysis should analyze the strengths and weaknesses of those tools, and discuss in detail whether they are effective for the task that you have chosen.


The language and platform for your project is your choice.

In many lectures, I will include a section going into detail on a few software packages and toolkits that you might use to build your final project. Some of these packages are now listed in the Software Resources page, and more will be added over the course of the lectures.


Meet with me in person to discuss your project at least once before submitting a proposal!

You're submitting a proposal, not a specification - it's natural that your plans will change somewhat as you refine your ideas. But your proposal should be based on an idea that we've discussed and I've approved. When you come talk to me about your proposal, I'll give you some pointers to background reading in the area of your interest. You need to meet with me the week of October 15 at the absolute latest, and earlier would be better. While I can sign off on some projects after only a single meeting, some people have needed two or three meetings to find an appropriate project that gets approved.

I advise that you start by thinking about what you want your software to do, and only then think about how you would implement it (languages, platforms, etc). The key is to find some domain and task that both interests you and presents an opportunity for infovis. That is, there is some task where a human needs to understand the structure of a large dataset. You're definitely welcome to link the infovis project to another class or research project. You may also build on existing software, but your project should include some implementation work of your own.

I do not advise that you start by deciding on a language, and then look around for some task that you might be able to do in that language - that's backwards, and is likely to stifle your creativity.

Proposal format: your writeup should be at least two pages and include:

One proposal per project (whether it is individual or team) is due on October 26 by 5pm. Your proposal should be in the form of either HTML or PDF. Send me the URL for the page to hand in the proposal. Your email must have the following subject header:

Subject: 533 submit proposal


The class session on November 14 will be used for project update presentations. You should aim for 12 minutes each. Please get your slides to me by noon if you're using my laptop, and right after class if you're using your own. Do not assume your classmates have read your proposal, so you'll want to summarize the problem and proposed solution. You should also explicitly discuss the progress you've made so far.

Final Presentations/Reports

Final presentation length: 20 minutes present, + 5 minutes for questions
Final report format: PDF

You will present the results of your project with both a presentation and a written report. The presentation will occur during the final exam slot for this course, and the report is also due at that time. The reports should be at least 8-10 pages of text (programming) or 15-20 pages (analysis), and should include screen snapshots of your running software. There is no length restriction, feel free to use as much space as you need for images. Showing live demos of your software in action is encouraged in the final presentation. If you are giving a demo, be sure to practice in advance so that you don't run over your time slot! Also remember that the audience has seen your project update, so you don't need to repeat all of that. Focus more on your results.

In contrast, your final report should be a standalone document that fully describes your project. Do not assume the reader has seen your original proposal. It should have both the structure and form of a conference paper, using the InfoVis templates. Your paper should include the following information:

A few examples of strong projects/papers from previous courses:

Projects From Other Courses

There are several previous infovis courses that have 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. Note that the scope of the projects may be different at other universities, but the UBC courses that I have taught can provide calibration.
Back to 533 Home
Tamara Munzner
Last modified: Mon Nov 26 02:57:06 PST 2007