← CSC 477 Scientific and Information Visualization

Course project: Explorable explanations

Overview

For this project, you’ll work in teams of 3–4 to create and publish an interactive article that uses visualization to explain some complex subject to a reader. The visualizations you create should all embody the best practices for effective visualization that you have learned in class.

In terms of toolkits, I expect most teams will build an “interactive webpage” using Observable Notebooks. I also expect most teams will use Vega-Lite to create interactive visualizations, but you are also free to use D3.js or p5.js (both of which we will talk about later this term), or some combination thereof. D3 in particular has a vast gallery of examples that you are encouraged to explore and adapt as you see fit. The only requirement here is that you cite your sources (in a code comment) whenever you use code from another example.

If you want to use other tools that we haven’t talked about or that are not JavaScript-based, please talk to me first.

You will choose the topic, but it must have social or scientific importance. Example topics include philanthropic spending, election donations, economic development, humanitarian aid, climate change, education, civil rights, legislative voting records, a computer science algorithm or mathematical concept (or music concept, or any discipline you’re into in addition to CS), or some other important societal topic. Within this constraint, I encourage you to select something of great personal interest.

Create an interactive, engaging explorable explanation of your topic. Your job is to educate your non-expert reader about your topic, and also highlight its importance to society. You should use interactive visualizations to do this.

You may be inspired by the following examples:

Before you start, please read A Nested Model for Visualization Design and Validation by Tamara Munzner, or watch the videos about the topic (Part I and Part II) to help you understand what goes into making an effective interactive visualization.

Milestones

The project has three key milestones (see due dates in the course schedule):

P1: Project Proposal

Using this Word document as a template, propose your topic, dataset(s), and team members. Answer the following questions in your write-up:

Not including sketches, your write-up should be no longer than 1.25 pages.

As you brainstorm, consider that we will cover the following as this project progresses:

So you are not limited to the visualizations and interactions that are possible through Vega-Lite.

Turn in your write-up to Canvas as a PDF filled out by your team.

P2: Interactive Prototype

Develop an initial interactive prototype on Observable and submit the following to Canvas:

  1. A public (but possibly unlisted) link to your notebook. Please choose a custom URL for your notebook that communicates your chosen topic.
  2. A static PDF of your notebook, so that improvements you make between now and the final submission may be considered.
  3. A reflection of what you’ve learned and what you’ve been challenged by so far.

Your interactive prototype will be presented to the rest of the class in a “gallery walk” situation, kind of like a conference poster session. This will be an opportunity to receive constructive feedback from myself and your classmates about your prototype. At this stage, your project does not need to be in its final state. However, you should have:

P3: Final Deliverable

Finalise and publish your interactive article, and prepare a live demo for the rest of the class. You will present to the class on the last two days of week 10.

The final interactive visualization should have:

More details about the final presentation will be forthcoming closer to week 10.

Resources

Visualization tools

Possible data sources

Within the requirement that your topic be societally or scientifically important, you’re strongly encouraged to choose a topic that aligns with your own interests. This list of possible data sources should not dictate your project topic. I provide the list in the hope that something in there intersects with your chosen topic. But if not, please talk to me about finding a dataset! (Note that if your topic is an explanation of an algorithm or mathematical or musical concept, your dataset may be generated instead of downloaded.)

You’re obviously not required to choose from here!

You may also consider services like Google Dataset Search, but note that you are responsible for judging the legitimacy of the data you find.

Acknowledgement

This assignment is adapted from the original assignments from Jon Froehlich’s CSE 412 course and Jeffrey Heer’s CSE 442 course at UW.