← 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 Framework. Observable Framework lets you create websites that run on the same reactive engine as Observable Notebooks, but you can also edit your code in an editor of your choice, work easily with teams using GitHub, and deploy your project to a webpage (e.g., using GitHub Pages, Netlify, or similar services). I also expect most teams will use Vega-Lite to create interactive visualizations, but you are also encouraged to use D3.js for custom interactive graphics. 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 (see below) 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.

As your project begins to take shape, please read Up and Down the Ladder of Abstraction by Bret Victor.

You may be inspired by the following examples:

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 the rest of the course schedule and see that we will cover more advanced visualization tools and techniques. So you are certainly going to go beyond the visualizations and interactions that are possible through Vega-Lite.

Turn in your write-up to Canvas as a PDF. Only one team member will need to make the submission.

P2: Interactive Prototype

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

  1. A public link to your webpage.
  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 day of week 10.

The final interactive article should include:

Additionally, your article should clearly cite its sources. This includes:

Final presentation

Final presentations will take place on the last day of class: Thursday, June 4.

Presentation content

Each presentation will include three pieces:

Since you have a relatively short time in which to present, it’s extremely important that you rehearse!

Each presentation should include the following pieces (with the recommended amount of time you should devote to each piece). I strongly recommend that you rely on graphics and visuals in your slides—try not to have slides with a lot of text.

Deliverable and grading

In the Canvas Discussion for this assignment, submit two links:

Presentations will be graded on the following criteria:

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.