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 for creating effective visualizations based on principles from graphic design, perceptual psychology, and cognitive science. The course is targeted both towards students interested in using visualization in their own work, as well as students interested in building better visualization tools and systems.
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.
Textbooks
- The Visual Display of Quantitative Information, E. Tufte. Graphics Press, 2001.
- Envisioning Information, E. Tufte. Graphics Press, 1990.
- Vega-Lite Visualization Notebook Curriculum. Jeffrey Heer, Dominik Moritz, Jake VanderPlas, and Brock Craft.
- Optional:
Interactive Data Visualization for the Web, 2nd Edition. Scott Murray, O'Reilly Press.
- To read online, use the "O'Reilly (Formerly Safari)" link on the UW library page.
- Code examples available on GitHub.
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:- An understanding of key visualization techniques and theory, including data models, graphical perception and methods for visual encoding and interaction.
- Exposure to a number of common data domains and corresponding analysis tasks, including multivariate data, geo-spatial data, and networks.
- Practical experience building and evaluating visualization systems.
- The ability to read and discuss research papers from the visualization literature.
Schedule & Readings
Week 1
- REQUIRED Chapter 1: Information Visualization, in Readings in Information Visualization. Stuart Card, Jock Mackinlay, and Ben Shneiderman. 1999.
- REQUIRED Introduction to Vega-Lite / Altair. One of: JavaScript (Observable), Python (Colab), Python (Jupyter Notebook)
- Optional Decision to Launch the Challenger, in Visual Explanations. Edward Tufte. (See also a critique of Tufte's argument.)
- REQUIRED Data Types, Graphical Marks, and Visual Encoding Channels. One of: JavaScript (Observable), Python (Colab), Python (Jupyter Notebook)
- REQUIRED Chapter 1: Graphical Excellence, In The Visual Display of Quantitative Information. Tufte.
- REQUIRED Chapter 2: Graphical Integrity, In The Visual Display of Quantitative Information. Tufte.
- REQUIRED Chapter 3: Sources of Graphical Integrity, In The Visual Display of Quantitative Information. Tufte.
- Optional The Eyes Have It: A Task by Data Type Taxonomy for Information Visualizations, Shneiderman, Proc. IEEE Conference on Visual Languages, Boulder 1996.
Week 2
- REQUIRED Data Transformation. One of: JavaScript (Observable), Python (Colab), Python (Jupyter Notebook)
- REQUIRED Polaris: A System for Query, Analysis and Visualization of Multi-dimensional Relational Databases. Stolte, Tang, and Hanrahan. IEEE TVCG 2002.
- Encouraged Chapter 4: Data-Ink and Graphical Redesign, In The Visual Display of Quantitative Information. Tufte.
- Encouraged Chapter 5: Chartjunk, In The Visual Display of Quantitative Information. Tufte.
- Encouraged Chapter 6: Data-Ink Maximization and Graphical Design, In The Visual Display of Quantitative Information.
- Optional Introducing Arquero: A JavaScript library for query processing and transformation of data tables.
- Optional Voyager: Exploratory Analysis via Faceted Browsing of Visualization Recommendations. Kanit Wongsuphasawat, Dominik Moritz, Anushka Anand, Jock Mackinlay, Bill Howe & Jeffrey Heer. IEEE Transactions on Visualization and Computer Graphics, 22(1), 649-658, 2016.
- REQUIRED Scales, Axes, and Legends. One of: JavaScript (Observable), Python (Colab), Python (Jupyter Notebook)
- REQUIRED Design and Redesign in Data Visualization. Martin Wattenberg and Fernanda Viégas. 2015.
- Encouraged Chapter 8: Data Density and Small Multiples, In The Visual Display of Quantitative Information. Tufte.
- Encouraged Chapter 2: Macro/Micro Readings, In Envisioning Information. Tufte.
- Encouraged Chapter 4: Small Multiples, In Envisioning Information. Tufte.
- Optional Tidy data in JavaScript.
Week 3
- REQUIRED Interaction. One of: JavaScript (Observable), Python (Colab), Python (Jupyter Notebook)
- REQUIRED Interactive Dynamics for Visual Analysis. Jeffrey Heer & Ben Shneiderman. 2012.
- Optional The Death of Interactive Infographics? Dominikus Baur. 2017.
- Optional In Defense of Interactive Graphics. Gregor Aisch. 2017.
- Video Classic systems on stat-graphics.org
Week 4
- REQUIRED Narrative Visualization: Telling Stories with Data. Edward Segel & Jeffrey Heer. InfoVis 2010.
- REQUIRED Reinventing Explanation. Michael Nielsen, 2014.
- Optional GraphScape: A Model for Automated Reasoning about Visualization Similarity and Sequencing. Younghoon Kim, Kanit Wongsuphasawat, Jessica Hullman, Jeffrey Heer. ACM CHI 2017.
Week 5
- Optional A Minimal Introduction to JavaScript and Observable. Read this first if you are new to JavaScript and/or Observable notebooks!
- REQUIRED Notebook: Introduction to D3, Part 1.
- REQUIRED D3: Data-Driven Documents. Michael Bostock, Vadim Ogievetsky & Jeffrey Heer. InfoVis 2011.
- Optional Vega-Lite: A Grammar of Interactive Graphics. K. Wongsuphasawat, D. Moritz, A. Satyanarayan & J. Heer. OpenVis Conf 2017 Presentation.
- Optional Vega-Lite: A Grammar of Interactive Graphics. Arvind Satyanarayan, Dominik Moritz, Kanit Wongsuphasawat & Jeffrey Heer. IEEE InfoVis 2016.
- REQUIRED Notebook: Introduction to D3, Part 2. (Note: we will work through this in class, but we encourage you to skim it ahead of time!)
- Optional Chapters 9, 10 in Interactive Data Visualization for the Web, 2nd Edition. Scott Murray.
Week 6
- REQUIRED Effectiveness of Animation in Trend Visualization. George Robertson, Roland Fernandez, Danyel Fisher, Bongshin Lee, & John Stasko. InfoVis 2008.
- REQUIRED Easing Functions Cheat Sheet.
- Optional Animated Transitions in Statistical Data Graphics. Jeffrey Heer & George Robertson. IEEE InfoVis 2007.
- Optional Animation: Can It Facilitate? Barbara Tversky, Julie Morrison, Mireille Betrancourt, International Journal of Human Computer Studies, v57, p247-262. 2002.
- Optional Smooth and Efficient Zooming and Panning. Jack J. van Wijk and Wim A.A. Nuij. IEEE InfoVis 2003.
- REQUIRED Which color scale to use when visualizing data. Lisa Charlotte Rost.
- REQUIRED Somewhere Over the Rainbow: An Empirical Assessment of Quantitative Colormaps. Yang Liu, Jeffrey Heer. ACM CHI 2018.
- Optional Color Use Guidelines for Data Representation. Cynthia Brewer. Proc. Section on Statistical Graphics, American Statistical Association, pp. 55-60, 1999. Color Scheme Explorer.
- Optional Colorgorical: Creating Discriminable and Preferable Color Palettes for Information Visualization. Connor Gramazio, David Laidlaw & Karen Schloss. IEEE Transactions on Visualization and Computer Graphics. 2017.
- Optional D3 color scales: d3-scale-chromatic
Week 7
- REQUIRED Perception in Visualization. Christopher Healey.
- REQUIRED 39 Studies About Human Perception in 30 Minutes. Kennedy Elliott.
- REQUIRED Chapter 3: Layering and Separation, In Envisioning Information. Tufte.
- Optional Graphical Perception: Theory, Experimentation and the Application to the Development of Graphical Models. William S. Cleveland, Robert McGill. J. Am. Stat. Assoc. 79(387):531-554, 1984.
- Optional Crowdsourcing Graphical Perception: Using Mechanical Turk to Assess Visualization Design. Jeffrey Heer, Michael Bostock. ACM CHI 2010.
Week 8
- REQUIRED The Visual Uncertainty Experience. Jessica Hullman. OpenVis Conf 2016.
- REQUIRED Error Bars Considered Harmful: Exploring Alternate Encodings for Mean and Error. Michael Correll, Michael Gleicher. IEEE InfoVis 2014.
- Optional Visual Semiotics & Uncertainty Visualization: An Empirical Study. Alan MacEachren, Robert Roth, James O'Brien, Bonan Li, Derek Swingley, Mark Gahegan. IEEE InfoVis 2012.
- Optional When(ish) is My Bus? User-centered Visualizations of Uncertainty in Everyday, Mobile Predictive Systems. Matthew Kay, Tara Kola, Jessica Hullman, Sean Munson. ACM CHI 2016.
- REQUIRED Squarified Treemaps. Mark Bruls, Kees Huizing & Jarke van Wijk. Eurographics Data Visualization 2000.
- REQUIRED Hierarchical Edge Bundles: Visualization of Adjacency Relations in Hierarchical Data. Danny Holten. InfoVis 2006.
- Optional Scalable, Versatile and Simple Constrained Graph Layout. Tim Dwyer. EuroVis 2009.
- Optional ManyNets: An Interface for Multiple Network Analysis and Visualization. Freire et al. ACM CHI 2010.
- Optional Use the Force! Michael Bostock. 2011. (Video)
Week 9
- REQUIRED imMens: Real-time Visual Querying of Big Data. Zhicheng Liu, Biye Jiang, Jeffrey Heer. EuroVis 2013.
- REQUIRED Falcon: Balancing Interactive Latency and Resolution Sensitivity for Scalable Linked Visualizations. Dominik Moritz, Bill Howe, Jeffrey Heer. ACM CHI 2019.
- Optional Dynamic Prefetching of Data Tiles for Interactive Visualization. Leilani Battle, Remco Chang, Michael Stonebraker. SIGMOD 2016.
- Optional Trust, but Verify: Optimistic Visualizations of Approximate Queries for Exploring Big Data. Dominik Moritz, Danyel Fisher, Bolin Ding, Chi Wang. ACM CHI 2017.
Week 10
Assignments
- Class Participation 10%
- Assignment 1: Visualization Design 10%
- Assignment 2: Exploratory Data Analysis 15%
- Assignment 3: Interactive Visualization 25%
- Final Project 40%
Policies
Late Policy: We will deduct 10% for each day an assignment is late. Please contact the instructors well in advance to request extensions 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.
Class Participation
It is important to attend the lectures 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 pass for skipping comments.
Good comments typically exhibit one or more of the following:
- Critiques of arguments made in the papers
- Analysis of implications or future directions for work discussed in lecture or readings
- Clarification of some point or detail presented in the class
- Insightful questions about the readings or answers to other people's questions
- Links to web resources or examples that pertain to a lecture or reading
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.
Resources
See the resources page for visualization tools, related web sites, and software development tips.
Q&A
Questions should be posted on the course discussion site (Ed). If you have a private question, please email the instructors at cse512@cs or discuss it at office hours.