CSE412 Intro to Data Visualization (Spring 2021)

The world is awash with increasing amounts of data, and we must keep afloat with our relatively constant perceptual and cognitive abilities. Visualization provides one means of combating information overload, as a well-designed visual encoding can supplant cognitive calculations with simpler perceptual inferences and improve comprehension, memory, and decision making. Furthermore, visual representations may help engage more diverse audiences in the process of analytic thinking.

In this course we will study techniques and algorithms for creating effective visualizations based on principles from graphic design, perceptual psychology, and cognitive science. Students will learn how to design and build interactive visualizations for the web, using the Vega-Lite and D3.js (Data-Driven Documents) frameworks.

In addition to class discussions, students will complete visualization design and data analysis assignments, as well as a final project. Students will share the results of their final project as both an interactive website and a video presentation.


Learning Goals & Objectives

This course is designed to provide students with the foundations necessary for understanding and extending the current state of the art in data visualization. By the end of the course, students will have gained:

Schedule & Readings Show short citations.

Week 1

Fri 4/2 Image Models Slides

Week 2

Week 3

Fri 4/16 Narrative (Matt Conlen, UW & New York Times) Slides

Week 4

Thur 4/22 Interactive Vega-Lite Tutorial

Week 5

Thur 4/29 Intro to Git & Web

Week 6

Wed 5/5 Intro to D3.js Slides

Week 7

Mon 5/10 Maps Slides
Thur 5/13 D3 Tutorial, Part 2
Fri 5/14 A3 Review

Week 8

Thur 5/20 Final Project Check In

Week 9

Thur 5/27 Statistical Visualization Tutorial
Fri 5/28 Review Slides

Week 10

Mon 5/31 No Class (Memorial Day)
Wed 6/2 Final Project Showcase, Part 1 Slides
Thur 6/3 Machine Learning + Visualization Tutorial
Fri 6/4 Final Project Showcase, Part 2 Slides

Week 11 - Finals Week

Mon 6/7 Final Project Deliverables Due


Individual Assignments: The three course assignments are all individual assignments. You are welcome to ask questions of the instructor and/or TAs during office hours, and you may also ask general questions on the Ed discussion board to receive answers from staff and students.

Team Project: The final project should be completed in teams of 3-5 people, and therefore encourages collaboration on all parts of the project. All team members will receive the same grade for the assignment, but team members will be asked to catalog their individual contributions to ensure an equitable devision of labor across the team.

Class Participation

It is important to attend the lectures (or if you are unable to attend during class time, to watch the recordings after they are posted) and read the readings. Each lecture will assume that you have read and are ready to discuss the day's readings.

Class participation includes both in-lecture activities (as is feasible) and engagement on the course discussion site (Ed). Up through week 8, all enrolled students are required to submit at least 1 substantive discussion post per week related to the course readings or lecture material. Each student also has 1 free pass for skipping the discussion and quiz.

Good comments typically exhibit one or more of the following:

In addition, we will post short quizzes to reinforce important concepts. The quizzes are not graded (your score on a quiz will not affect your course grade), but you are required to complete the quiz as part of your course participation.


Late Policy: We will automatically deduct 10% for each day an assignment is late. Please contact the instructors well in advance to request an extension if needed.

Plagiarism Policy: Assignments should consist primarily of original work. Building off of others' work—including 3rd party libraries, public source code examples, and design ideas—is acceptable and in most cases encouraged. However, failure to cite such sources will result in score deductions proportional to the severity of the oversight.

Religious Accommodation: Washington state law requires that UW develop a policy for accommodation of student absences or significant hardship due to reasons of faith or conscience, or for organized religious activities. The UW's policy, including more information about how to request an accommodation, is available here: Religious Accommodations Policy. Accommodations must be requested within the first two weeks of this course using the Religious Accommodations Request form.


See the resources page for a general list of visualization tools, related web sites, and software development tips to support your work in this class.


General questions should be posted on the course discussion site (Ed). If you have a private question, please email the instructors at cse412-staff [at] cs [dot] washington [dot] edu or discuss it privately during office hours.


The material for this course have been adapted from classes taught by Jeffrey Heer here at the University of Washington, Arvind Satyanarayan from the Massachusetts Institute of Technology, and Niklas Elmqvist at the University of Maryland, College Park.