CS 3891.06 / 5891.06 - Introduction to Visualization


The final assignment in the course is a project. You have the choice of two different types of projects: a technique project and a design study project.

A technique project is concerned with implementing a visualization technique, and understanding its effectiveness. The technique must be based on a paper published in the proceedings of IEEE Vis, beit SciVis, InfoVis, or VAST, within the past 5 years, as well as other papers if applicable. Techniques are intended to be applicable to a certain type of data, thus to demonstrate a technique’s effectiveness you will also be responsible for collecting a set of datasets, at least 2, and ideally data that was not considered in the original paper. Through this process, you are expected to show the technique’s advantages and disadvantages.

A design study is concerned with building a visual interface to understand a given problem. You will be expected to first formulate a problem that you are interested in, find a dataset that is pertinent to the problem, and derive a set of questions that you hope to answer about the data. You will then design a visualization that will help answer these questions.


Common to both types of projects are a sequence of milestones that you must meet at their specified due dates. Unlike assignments, there will be no credit given to milestones that are submitted late. The milestones are intended to keep you on track for the project, to make sure that the choices you are making for the project are sound. Milestones for the project are:

Team Formation and Project Description

Each project will be comprised by a team of 2-3 students. Undergraduate and graduate students may be within a single team, or separate teams, no distinction will be made. If there are extenuating circumstances and you would rather work by yourself for the project, please contact the instructor first.

The project description will be 3-4 sentences, providing an overview of what you hope to accomplish. For the design study you should describe the type of problem you are interested in addressing, as well as any specifics on the data you want to visualize. For technique, you should identify a topic of interest, and corresponding set of papers that you are interested in, of which one of them you will eventually select for the project.

Last, you should setup a project on GitHub that is shared by your team. Every aspect of the project should be included there.


The proposal will outline all aspects of the project, and should be a 4-5 page document. Common to both types of projects, the proposal should include:

And specific to the project types:


Design Study

Project Updates

On Wednesdays, we will devote some class time to having all of the teams give brief updates on their project.


Approximately halfway through, you are expected to hand in your code and process book, demonstrating a prototype for your project.

You should have completed your data collection and data cleaning, as well as have your data structures in place, with the ability to load up and visually display the data. But note that this is only a prototype, so if you are only able to load up a subsample of data due to performance limitations, thats ok.

For the design study, you should have a working visualization prototype. Not all of the views and interactions need be in place, but the direction that the project is headed must be clear.

For the technique, you should at least have a rough implementation of the method working. Not all of the visual encodings associated with the technique need to be present, nor the analysis of the technique with multiple datasets, but the core of the method should be running, and the remaining pieces of the technique to be implemented should be clear.

If you have questions about what to show for the prototype please contact the instructor.

Process Book

You will maintain a process book throughout the entire project in order to document all aspects of your work — above and beyond your code. This is very important, as the steps you take to get to the final outcome is just as important as the outcome itself! So be dilligent with documenting your process: decisions that you made, prototypes, successes and failures. In particular, the process book should include the following:

And specific to the project types:


Design Study


You will be expected to present your project to the class. You will have 5 minutes to demonstrate your project, optionally with some slides if you wish to establish some content up front. The presentation should cover the following points:

Final Project Submission

The final project submission should be everything that you maintain in your team’s GitHub project. It should consist of the following items:

Peer Assessment:

It is important to provide positive feedback to people who truly worked hard for the good of the team and to also make suggestions to those you perceived not to be working as effectively on team tasks. Please provide an honest assessment of the contributions of the members of your team, including yourself. The feedback you provide should reflect your judgment of each team member’s:

Your teammate’s assessment of your contributions and the accuracy of your self-assessment will be considered as part of your overall project score.

Project Assessment



The structure of the project was influenced by the Vis projects of Hanspeter Pfister, Alexander Lex, and Alvitta Ottley. Please visit their respective websites for inspiration on choosing projects.