Project Description

Overview | Software | Pitches | Meetings | Proposals | Peer Project Reviews | Final Presentations/Reports | Sample Outlines | Example Projects | Back to 547 Home


There are three kinds of projects: programming, analysis, and survey. You may do the programming and analysis projects in teams of 2, 3, or 4. Survey projects must be solo. 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. Note that research novelty is not a requirement for a course project. The four common varieties of programming projects are:

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.

Survey: For a survey paper project, you will need to read many papers in a particular domain and write up a detailed survey. Talk to me for more details. Again, the writeup will be much longer than for a programming project, and this option is particularly suitable for non-CS students. This project type must be done solo, rather than in a team.


The language and platform for your project is your choice. You will submit your code along with to your final report, but I do not necessarily expect it to compile on my own machine.

There are pointers to datasets, and software packages/toolkits that you might use to build your final project on the Resources page.


There will be multiple milestones along the way, with a mix of written submissions and in-class workshopping/critiques.


You will briefly pitch your project idea(s) to the whole class. You'll have just 3 minutes each - like the proverbial elevator pitch, but in a really slow elevator... Slides are required. These pitches will give you (and me) have situational awareness of what other people are thinking of working on. You might find project partners, either because you find somebody else interested in what you care about, or you're more intrigued by a new idea than your previous plan. You must rehearse ahead of time to get your timing down! Pitch slides are due by noon on pitch day (Tue Oct 17) as PDF. You cannot use your own laptop, I'll compile them together on mine.


Groups need to be finalized by Fri Oct 27 5pm at latest.

You must meet with me in person to discuss your project at least once before submitting a proposal. It may take more than one meeting for me to sign off that you're ready to move on to the writeup stage.

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 me before Thu Nov 2 at 5pm. While I can sign off on some projects after only a single meeting, some people/groups have needed two or three meetings to find an appropriate project that gets approved.


One proposal per project is due on Mon Nov 5 by 10pm, by uploading the PDF into Canvas.

In addition to the structure expectations here, I strongly recommend that you read the relevant section of the final report expectations below to understand more about what you will do, before writing the proposal.

You're submitting a proposal, not a specification - it's natural that your plans will change somewhat as you refine your ideas. 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; do be careful to be specific about the scope of your infovis class project compared to the other work that may occur before, after, or during it. That's especially crucial when one team member has been working on something for a while and is joined by other people on the team.

You may also build on existing software, but your project should include some implementation work of your own if it is a programming project. The scope of what you attempt will depend on your goals: some people actively want to learn the low-level details of a toolkit like D3 and will "roll their own"; others want to use one or more layers of libraries in order to build something more ambitious than what's possible when doing all the coding from scratch.

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

Peer Project Reviews

There will be two peer project review sessions, on Nov 20 and Dec 5.

Final Presentations/Reports

The final presentations will be the afternoon of Tue Dec 12, 1-5pm. Refreshments will be served and the entire CS department will be invited (typically a dozen or so folks show up). Slides are required, and do include slide numbers.
Final presentation length: 15 min present (+ 1-2 min questions) for team projects, 12 min present (+ 1-2 min questions) for individual projects
Final paper format: PDF
Code format: tar/gzip/zip package

You will present the results of your project with both a presentation and a written report. The final presentations are two weeks into the of the exam period; there is no exam. The report is due 3 days later. 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, and make sure to have screenshots (or video) prepared as backup in case of problem. The reports should be at least 6-8 pages of text (programming) or 14-18 pages (analysis and survey), and should include many screenshots of your running software (programming and analysis). There is no length restriction, feel free to use as much space as you need for images.

Your final report should be a standalone document that fully describes your project. Do not assume the reader has seen your original proposal or any of your presentations. It should have both the structure and form of a conference paper (with a few exceptions, as below). Use the latest InfoVis conference templates. Pay attention to my writing correctness and style guidelines.

You are required to submit a teaser image showcasing your project (normally, a screenshot) that is suitable for a medium-sized thumbnail image for the projects web page. You are encouraged but not required to also submit a supporting video, with or without voiceover. You are encouraged but not required to make your project available as open source. You are encouraged but not required to have a live demo of your project posted publicly.

A good article on technical writing is The Science of Scientific Writing Gopen and Swan, American Scientist (Nov-Dec 1990), Volume 78, 550-558.

Your code should be packed up as well. You must include a README file at the root giving a brief roadmap/overview of the organization of what you're handing in: which parts are your code, which parts are libraries, and so on. It should also state how to compile and run the program. I do not necessarily expect that your software compiles on my machine if you developed for a different platform, but I want to see what you've done.

Sample Outlines

Below are sample outlines for papers for each kind of project, based on my experience in marking a mix of strong and weak papers in past offerings of the course. This structure is halfway between a suggestion/guideline and a requirement. The requirement part is that I do expect you to include at least the material that I indicate. The suggestion part is that you may also include other material as well (for example, as additional sections), and you may choose alternative structures (for example, different ordering). Feel free to consult with me for advice if you're wondering about the pros and cons of different writeup structures.

The first outline of design studies is the most detailed - in the other three I don't repeat all the relevant information, but instead focus on how they differ structurally from this common case.

Example Past Projects

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

Here's the complete set of projects from previous years, to help you judge scope and consider possibilities:

Note that the writeup instructions for courses before 2014 were somewhat different: although there was still emphasis on analysis and abstraction, there was not the requirement of following the book's analysis framework (since it wasn't out yet).

Back to 547 Home
Tamara Munzner
Last modified: Mon Dec 11 01:37:19 PST 2017