CS 465 Information Visualization

Project Three - Data Dashboard

Objectives

  • Learn about dashboards
  • Get experience with the Vega-lite interaction/selection model

Interactive Data Dashboard

For this project I would like you to build an interactive data dashboard. I would like to use data from the New York Times Covid-19 dataset. Spend a few minutes poking around in there before you jump in. They have some fairly straightforward state and county level data, but they have some other interesting collections as well. This does not need to be a pure "tracking the cases" style dashboard (though it certainly can be).

I will be looking for at least four distinct visualizations, and at least two interactive elements, at least one of which should involve a selector. You should take inspiration from the tutorials, but it doesn't need to be a tightly bound web of interconnected filters where every graph doubles as a control that filters the data.

This is not exploratory data analysis -- this is presentation, so you should know what you are showing ahead of time. Don't just start throwing things together and call it a dashboard. Spend some time doing some exploration (in a different notebook) and experimenting with different visualizations. I suggest building each element individually before trying to combine them. I would also suggest sketching out some possible designs (paper, white board, tablet, whatever...) so you have a basic design laid out in your mind before you get to implementation.

Feel free to look at other examples (there are a ton of Covid dashboards out there). If you feel like you want to directly copy one that you find, that is fine, provided you credit the source. It would still take thought and skill to duplicate a visualization when you only have the visual form to go by.

Teamwork

This will again be a team project. You should find a partner to work with you (one group will need to have three as we now have an odd number of students in the class). As the results from my poll were split right down the middle we will try self-selected groups for this assignment. If you don't have someone to work with, post a message on Slack in #general. When you have your group, please go to Canvas and add yourselves to one of the Project 3 groups (you will find the groups under the 'People' tab.)

You should use a pair programming approach to this project. In other words, you should never be working on the assignment alone. In pair programming, there is only one keyboard. The person in front of the keyboard is the driver. The second person is responsible for maintaining the bigger picture as well as catching typos, etc. There should be constant communication between the two. This should be a noisy process. If it is quiet, then it means the driver has taken over and not letting the other person participate. Every fifteen to twenty minutes, you should switch roles.

In this age of Covid, I suggest actually using two laptops, and making use of the Share feature in Observable to share the notebook. This will allow you to watch the other person type in real time, and will allow you to switch roles very rapidly.

Deliverables

Your notebook is your deliverable. I expect to see a couple of things in the notebook:

  • At the top, I should see your names

  • Immediately under your names I would like to see your full dashboard.

  • Under the dashboard, please write a short description of what I am looking at and how to interact with it.

  • At the bottom, I would like you to write a short reflection about the process. What were the thoughts that led to the final dashboard? Were there other designs? How close is this to what you imagined (you can attach images of design sketches or visualizations that didn't work out or that didn't fit into the dashboard)? What are you most proud of? What didn't live up to your expectations, or didn't work out the way you had hoped?

As with our other assignments, notebooks should be shared with me, and the URL submitted on Canvas.


Last updated 10/14/2021