banner image

Visual media are increasingly generated, manipulated, and transmitted by computers. When well designed, such displays capitalize on human facilities for processing visual information and thereby improve comprehension, memory, inference, and decision making. Moreover, visual representations may help to engage diverse audiences in the process of analytic, data-driven thinking.

In this course we will study techniques and algorithms for creating effective visualizations based on principles from graphic design, visual art, 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 participating in class discussions, students will have to complete several short data analysis and visualization design assignments as well as a final project.

There are no official prerequisites for the class, but the class is aimed at graduate students and advanced undergraduates. Familiarity with the material in CS147, CS148 and CS142 can be useful. Most important is a basic working knowledge of, or willingness to learn, web-programming, especially JavaScript, Vega-Lite and D3. Experience with data analysis applications (e.g. R, Python, Excel) is also helpful. While we will cover a little bit of JavaScript/Vega-Lite/D3 in class, most of the other APIs, applications and languages will not be taught in the course. However many introductory tutorials at the level required for the class are available on the web and we will help you find the relevant information as you need it.

*Contact us via Piazza if you are worried about whether you have the background for the course.

Learning Goals

The goals of this course are to provide students with the foundations necessary for understanding and extending the current state of the art in visualization. By the end of the course, students will have:

  • 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 exploratory data analysis and network analysis.
  • Practical experience building and evaluating visualization systems.
  • The ability to read and discuss research papers from the visualization literature.


  1. The Visual Display of Quantitative Information (2nd Edition). E. Tufte. Graphics Press.
  2. Envisioning Information. E. Tufte. Graphics Press.
  3. Optional. Interactive Data Visualization for the Web (2nd Edition). Scott Murray. O’Reilly Press. [Read Online] [Code Examples on Github]

Your best bet is to order them online. Please order soon. Readings will be assigned in the first week of class.


Week 1
M Jan 6: The Purpose of Visualization
    Submit Response | Slides
   Assigned: Assignment 1 (due Jan 13 by noon)
   Required Notebooks
        Introduction to Vega-Lite/Altair. (Javascript/Observable) (Python/Colab)
   Required readings
        Chapter 1: Information Visualization, In Readings in Information Visualization. Card, et al. (pdf)
   Optional readings
        Decision to launch the Challenger, In Visual Explanations. Tufte. (pdf)
        Representation and Misrepresentation. (Critique of Tufte's analysis). Boisjoly et al. (web)
        Graphs in Statistical Analysis. F. J. Anscombe. The American Statistician. (jstor)
W Jan 8: Data and Image Models
    Submit Response | Slides
   Required Notebooks
        Data Types, Graphical Marks, and Visual Encodings. (Javascript/Observable) (Python/Colab)
   Required readings
        Chapter 1: Graphical Excellence, In The Visual Display of Quantitative Information. Tufte.
        Chapter 2: Graphical Integrity, In The Visual Display of Quantitative Information. Tufte.
        Chapter 3: Sources of Graphical Integrity. In VDQI. Tufte.
   Optional readings
        Level of Measurement. (Wikipedia)
        On the theory of scales of measurement. Stevens. (jstor)
Week 2
M Jan 13: Visualization Design and Redesign
    Submit Response | Slides
   Due (by noon): Assignment 1
   Assigned: Assignment 2 (due Jan 27 by 4:30pm)
   Required Notebooks
        Data Transformation. (Javascript/Observable) (Python/Colab)
   Required readings
        Design and Redesign in Data Visualization. Viegas and Wattenberg. (web)
        The Power of Representation. Chapter 3 In Things that Make Us Smart. Norman. (pdf)
   Optional readings
        Chapter 4: Data-Ink and Graphical Redesign. In VDQI. Tufte.
        Chapter 5: Chartjunk. In VDQI. Tufte.
        Chapter 6: Data Ink Maximization and Graphical Design. In VDQI. Tufte.
        The representation of numbers. Zhang and Norman. (pdf)
W Jan 15: Exploratory Data Analysis
    Submit Response | Slides
   Required Notebooks
        Scales, Axes and Legends. (Javascript/Observable) (Python/Colab)
   Required readings
        Polaris. Stolte, Tang, and Hanrahan. IEEE TVCG, 8(1), Jan 2002. (pdf)
   Optional readings
        Voyager. Wonsuphawasat et al. IEEE TVCG, 22(1), 2016. (pdf)
Week 3
M Jan 20: MLK Day - No Class
W Jan 22: Using Space Effectively
    Submit Response | Slides
   Required Notebooks
        Multi-View Composition. (Javascript/Observable) (Python/Colab)
   Required readings
        Graphical Methods for Data Presentation. Cleveland. (jstor)
        Chapter 8: Data Density and Small Multiples. In VDQI. Tufte.
        Chapter 2: Macro/Micro Readings. In Envisioning Information. Tufte.
        Chapter 4: Small Multiples. In Envisioning Information. Tufte.
Week 4
M Jan 27: Introduction to D3
    Submit Response | Slides
   Due (by 4:30pm): Assignment 2
   Required readings
        D3: Data Driven Documents. Bostock et al. (html)
        D3 documentation (html)
        D3 bar chart tutorial (html)
        Work through Scott Murray's D3 tutorials (html)
        Cats and Dogs (D3 example code) (zip)
   Optional readings
        Software Design Patterns for Information Visualization. Heer and Agrawala (html)
        Protovis: A Graphical Toolkit for Visualization. Bostock and Heer. (pdf)
        prefuse: A Toolkit for Interactive Information Visualization. Heer, Card and Landay. (html)
W Jan 29: D3 Tutorial
    Submit Response | Slides
   Assigned: Assignment 3 (due Feb 10 by 4:30pm)
   Required readings
        Interactive Data Visualization for the Web. 2nd Ed., Scott Murray. Chapters 4, 5, 6. (html)
   Optional readings
        Interactive Data Visualization for the Web. 2nd Ed. Scott Murray. Chapters 7, 8, 9. (html)
        jQuery Enlightenment, Cody Lindley. Chapters 1, 2, 6. (pdf)
        Dive Into HTML5, Mark Pilgrim. Chapter 4. (html)
Week 5
M Feb 3: Interaction
    Submit Response | Slides
   Required Notebooks
        Interaction. (Javascript/Observable) (Python/Colab)
   Required readings
        Interactive dynamics for Visual Analysis. Heer and Shneiderman. (pdf)
   Optional readings
        The death of interactive infographics? Baur. 2017 (web)
        In Defense of Interactive Graphics. Aisch. 2017 (web)
        Dynamic queries, starfield displays, and the path to Spotfire. Shneiderman. (web)
        Visual queries for finding patterns in time series data, Hochheiser and Schneiderman. (pdf)
        Postmortem of an example, Bertin. (pdf)
        Classic systems from (videos)
W Feb 5: Perception
    Submit Response | Slides
   Required readings
        Perception in visualization. Healey. (html)
        Graphical perception. Cleveland and McGill. (jstor)
        Chapter 3: Layering and Separation. In Envisioning Information. Tufte.
   Optional readings
        Gestalt and composition. In Course #13, SIGGRAPH 2002. Durand. (pdf)
        The psychophysics of sensory function. Stevens. (jstor)
        Crowdsourcing Graphical Perception. Heer and Bostock. ACM CHI 2010. (pdf)
Week 6
M Feb 10: Visual Explainers
    Submit Response | Slides
   Due (by 4:30pm): Assignment 3
   Required readings
        The Pudding (read through at least 3 articles in detail) (html)
        Design for an Audience, Corum. (html)
        Narrative Visualization: Telling Stories with Data, Segel and Heer. (pdf)
   Optional readings
        Ice World: Visualizing Science at the New York Times, Corum. (html)
W Feb 12: Color
    Submit Response | Slides
   Assigned: Final Project: Proposal (due Feb 19 by 4:30pm)
   Required readings
        Color and information, In Envisioning Information, Tufte.
        Color Naming Models for Color Selection, Image Editing and Palette Design. Heer and Stone. (html)
        Color guidelines, Brewer. (html)
   Optional readings
        The crayola-fication of the world. Bhatia. (html)
        A rule-based system for assisting color map selection, Bergman, Treinish and Rogowitz. (pdf)
        Charting color from the eye of the beholder. Landa, Fairchild. (pdf)
        Color2Gray: Salience-preserving color removal. Gooch, Olsen, Tumblin, Gooch. (pdf)
        Bruce Lindbloom’s Useful color information, studies, and files
        Meet iCam: A Next-Generation Color Appearance Model
Week 7
M Feb 17: President's Day - No Class
W Feb 19: Animation
    Submit Response | Slides
   Due (by 4:30pm): Final Project: Proposal
   Assigned: Final Project: Presentation (due Mar 16 7-10pm)
   Assigned: Final Project: Code and Writeup (due Mar 27 by 11:59pm)
   Required readings
        Animated Transitions in Statistical Data Graphics. Heer and Robertson. (html)
        Animation: Can it facilitate? Tversky, Morrison and Betrancourt. (pdf)
   Optional readings
        Principles of Traditional Animation Applied to Computer Animation. Lasseter. (acm)
        Intuitive Physics. McCloskey. (pdf)
        Representing motion in a static image. Cutting. (pdf)
Week 8
M Feb 24: Network Layout
    Submit Response | Slides
   Required readings
        Graph Visualization: A Survey. Herman, Melancon and Marshall. (pdf)
        Hierarchical Edge Bundles. Holten. (ieee)
   Optional readings
        Let’s draw a graph. Khoury. (html)
        Visual Exploration of Multivariate Graphs. Wattenberg. (pdf)
        Improving Walker’s Algorithm to Run in Linear Time. Buchheim, Jünger and Leipert. (pdf)
        Dig-cola. Dwyer and Koren. (pdf)
        A Technique for Drawing Directed Graphs. Gansner, Koutsofios, North and Vo. (pdf)
        Visual Complexity - graph visualization gallery
W Feb 26: Network Analysis
    Submit Response | Slides
   Required readings
        Centrality and Prestige of Social Network Analysis. (pp. 169-198) Wasserman and Faust. (pdf)
        Balancing Systematic and Flexible Exploration of Social Networks. Perrer and Shneiderman. (pdf)
   Optional readings
        The Structure and Function of Complex Networks (Sections 1 and 2 only pp. 1-8). Newman. (pdf)
        The Social Organization of Conspiracy. Baker and Faulkner. (pdf)
Week 9
M Mar 2: Deconstructing Visualizations
    Submit Response | Slides
   Required readings
        Revision: Automated Classification, Analysis and Redesign of Chart Images.Savva et al. (html)
        Graphical Overlays: Using Layered Elements to Aid Chart Reading. Kong and Agrawala. (html)
   Optional readings
        Deconstructing and Restyling D3 Visualizations. Harper and Agrawala (html)
        Extracting References Between Text and Charts via Crowdsourcing. Kong et al. (html)
W Mar 4: Text Visualization
    Submit Response | Slides
   Required readings
        Mapping Text with Phrase Nets. van Ham, Wattenberg and Viégas. 2009 (pdf)
        Ch. 11: Info. Vis. for Text Analysis. In Search User Interfaces. Hearst 2009. (html)
   Optional readings
        Ch. 10: Info. Vis. for Search Interfaces. In Search User Interfaces. Hearst 2009. (html)
        Designing Model-Driven Visualizations for Text Analysis. Chuang et al. 2012 (html)
        Termite: Visualization Techniques for Assessing Textual Topic Models. Chuang et al., 2012. (html)
Week 10
M Mar 9: Final Project Feedback Sessions
W Mar 11: Final Project Feedback Sessions
Week Finals
M Mar 16: Cancelled Final Project Presentations (7-10pm)
   Due (7-10pm): Final Project: Presentation

Teaching Staff

Instructor: Maneesh Agrawala
    Office Hours: 1:30-2:30p Thursdays, Gates 364 and by appointment.
Course Assistant: Juliette Love
    Office Hours: 7:00-8:00pm Tuesdays, Lathrop Tech. Lounge and by appointment.

To contact us please use Piazza. This is the fastest way to get a response.

Assignments and Requirements

Class Participation (10%)
Assignment 1: Visualization Design (10%)
Assignment 2: Exploratory Data Analysis (15%)
Assignment 3: Creating Interactive Visualization Software (25%)
Final Project (40%)

Late Policy: We will deduct 10% for each day an assignment is late.

Plagiarism Policy: Assignments should consist primarily of your 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.