Project

Goal

The goal of the project is for you to develop an interactive, Web-based visualization for a real-world dataset. You will need to understand the data (its types and semantics), the questions your visualization will answer, the tasks it will support, and make justifiable visualization design choices.

Instructions

You should produce an interactive, Web-based visualization that could be published to the Web. You may work with a partner (encouraged) or individually on the project. Note that the complexity and expectations will scale between partnered and individual projects. The project should utilize visualization libraries and provide custom visualizations (i.e. not the charts that applications like Excel would produce).

If you are currently working on research and would like to have a visualization project that fits with your research, please contact me so we can design a good project.

Steps

  1. Dataset Selection, 2025-03-07
  2. Proposal, 2025-03-07
  3. Designs, 2025-04-11
  4. Presentation, 2025-04-28 and 2025-04-30
  5. Report, TBA

Dataset

Potential datasets include:

If you have a particular interest in another dataset, please talk with me about it.

Note that you do not need to use all of the data. If you need any help extracting or transforming the part of the dataset you wish to use, please contact me. While it’s great to put data manipulation skills to use, the focus of the project is on the visualizations.

Proposal

Submit, via Blackboard, a proposal that includes:

  • Information: Include your name(s) and project title. If you are working with a partner, include the names of both participants, and both partners must turn this information to confirm the arrangement. (Once this is confirmed, future steps only require a single submission for each group.)
  • Dataset Information (What): The name and URL of the dataset(s) you will be working with and a description of the types and semantics of your dataset. This means defining the attributes and their types (categorical, ordered, quantitative). This should also include necessary background information about the domain being studied. Explain any ideas and terms being examined.
  • Tasks/Questions (Why): A detailed list of the tasks you envision in your project. For example, if you are examining a dataset of taxi data, you might ask “Are there any trends between the day of the week and number of rides?” or “Which locations see the highest density of ridership?”. These should be questions that cannot be answered via a simple statistical calculation; examples of bad questions include “What day had the maximum number of rides?” or “How many days are in the dataset?”. That is not to say that these questions are not important but rather that a visualization is not required to answer them.
  • Initial Visualization Ideas (How): A collection of ideas and requirements for your visualization and its interactions. Many projects will have multiple views and/or customized techniques. This may include sketches (can hand-draw and use a camera to include in proposal). If you use multiple views, focus on how the views are linked together (e.g. linked highlighting). In addition, consider what interactive elements you would like to have (e.g. zooming, dropdown menus, transitions from one data subset to another).

Designs

Submit, via Blackboard, your current sketches and code for the project and include at least four different design iterations for your visualization: three good designs and one bad design. If you have updated any of the details based on feedback on the proposal, please indicate the updates and include them as well. At least one of the designs should be prototyped, and the others should be detailed sketches (as with Five Sheets Design). If you work iteratively, consider using GitHub and tagging iterations of the design or creating branches for different ideas. Your submission must include a table of contents that clearly identifies at least three good designs and one bad design that you have produced. You may put all the different designs on one web page with a table of contents section at the beginning (preferred) or on separate web pages with a separate table of contents page. Any sketches should be scanned/photographed and included in the web page. You may turn in an Observable notebook, and if you do, please share the link with me (@dakoop) but also turn in the archive version to Blackboard. If not using a notebook, make sure to include all JavaScript and CSS files as well as the HTML files.

Presentation

You will present your final visualization during the last week of classes. Before then, please submit, via Blackboard, an index.html file that contains or links to all of your project material. If you create your project using Observable, you may just put the link to that notebook in the file. Otherwise, include any other files (JavaScript, data, etc.) you need to run for your presentation in the submitted file as well. Your presentation should describe the dataset and the questions it answers in addition to showing your visualization and describing its features and your design choices. We will plan to run all presentations via my laptop in Chrome to ensure we get through all of the presentations.

Report

Your submission should contain:

Code:

  • All the code you developed for the project.
  • Include data if it is not linked directly in your visualization, or include a README with instructions on how to obtain it if it is too large (>5MB) to include. Please do not turn in files >20MB to Blackboard.
  • You may submit a link (e.g. to an Observable notebook) as long as it will be live until at least the end of the semester, but I recommend also downloading the tgz file and turning that into Blackboard just in case.

Report (3-4 pages of text, more if screenshots are included):

  • Describe the dataset.
  • Describe the questions your visualization is designed to answer.
  • Describe the visualization you created and how its design evolved. What marks and channels are used? What techniques do you build on?
  • Describe how the visualization can be used to answer the questions.
  • Your report may be integrated with an Observable notebook, but could be a separate PDF or Word document. If you turn in a notebook link, I strongly recommend printing the notebook to a PDF and turning that in as well just in case.