CS 3891.04 / 5891.04 - Data Visualization


The final assignment in the course is a project. You will be expected to conduct a design study.

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.


For the project, there 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. You should describe the type of problem you are interested in addressing, as well as any specifics on the data you want to visualize.

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. The proposal should include:

Project Update

You will be expected to present a project update, in order to communicate the status of your project. Have you collected and cleaned your data? What data issues have you run in to? What initial analyses, and visualizations, have you developed to help understand your data?


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, that is ok.

You are expected to demonstrate 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.

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:


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.

Schedule and 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.