Data Visualization
Submit assignments and discussions on Canvas.
This course is an introduction to key design principles and techniques for interactively visualizing data. The major goals of this course are to understand how visual representations can help in the analysis and understanding of complex data, how to design effective visualizations, and how to create your own interactive visualizations using modern web-based frameworks.
After you successfully complete the course you will be able to:
- Understand the value of visualization
- Critically evaluate visualizations and suggest improvements and refinements
- Use best practices from design to create effective visualizations
- Use principles of human perception and cognition in visualization design
- Learn how to use visualization as a communication tool
- Conduct exploratory data analysis and transform data
- Create web-based interactive visualizations using frameworks such as Vega-Lite and D3
- Be prepared to do research in visualization
Jump to
- TOC
Schedule and Readings
Introduction and the Value of Visualization Slides
- Required Introduction to Vega-Lite
- Required Information Visualization (Chapter 1) by Stuart Card, Jock Mackinlay, and Ben Shneiderman 1999
- Optional The Value of Visualization by Jarke van Wijk 2005
Sketching Slides
- Required Data Types, Graphical Marks, and Visual Encoding Channels
- Required The Anatomy of Sketching (Chapter 9) by Bill Buxton in Sketching User Experiences
- Required Sketching with Data Opens the Mind's Eye by Giorgia Lupi
- Optional The Shape of My Thoughts by Giorgia Lupi in Eyeo 2014
Data and Image Models Slides
- Required Scales, Axes, and Legends
- Required The Eyes Have It: A Task by Data Type Taxonomy for Information Visualizations by Ben Shneiderman in IEEE Symposium on Visual Languages 1996
- Optional A Tour through the Visualization Zoo by Jeffrey Heer, Michael Bostock, and Vadim Ogievetsky in ACM Queue 2010
Effective Visual Encodings Slides
- Required Data Transformation
- Required Basic Principles of Visualization (Chapter 5) by Alberto Cairo in The Truthful Art
Exploratory Data Analysis Slides
- Required Multi-View Composition
- Required Data analysis and statistics: An expository overview by Tukey, Wilk 1966
- Optional Voyager: Exploratory Analysis via Faceted Browsing of Visualization Recommendations by Kanit Wongsuphasawat, Dominik Moritz, Anushka Anand, Jock Mackinlay, Bill Howe, and Jeffrey Heer in IEEE Transactions on Visualization and Computer Graphics 2016
- Optional Polaris: A System for Query, Analysis and Visualization of Multi-dimensional Relational Databases by Chris Stolte, Diane Tang, and Pat Hanrahan in IEEE TVCG 2002
Transform Data with SQL Slides
- Required Introduction to SQL
- Required A Relational Model of Data for Large Shared Data Banks by Edgar F. Codd 1970
Interactivity Slides
- Required Interactive Dynamics for Visual Analysis by Jeffrey Heer and Ben Shneiderman in ACM Queue 2012
- Required Interaction
- Optional The death of interactive infographics? by Dominikus Baur 2017
- Optional In Defense of Interactive Graphics by Gregor Aisch 2017
Visualization Tools Slides
-
Optional
A Minimal Introduction to JavaScript and Observable.
Read this first if you are new to JavaScript and/or Observable notebooks! - Required Introduction to D3, Part 1
- Required D3: Data-Driven Documents by Michael Bostock, Vadim Ogievetsky, Jeffrey Heer in IEEE Trans. Visualization & Comp. Graphics (Proc. InfoVis) 2011
- Optional Vega-Lite: A Grammar of Interactive Graphics by Arvind Satyanarayan, Dominik Moritz, Kanit Wongsuphasawat, and Jeffrey Heer in OpenVis Conf 2017
- Optional Vega-Lite: A Grammar of Interactive Graphics by Arvind Satyanarayan, Dominik Moritz, Kanit Wongsuphasawat, and Jeffrey Heer in IEEE Trans. Visualization & Comp. Graphics (Proc. InfoVis) 2017
Narrative Visualization Slides
- Required Narrative Visualization: Telling Stories with Data by Edward Segel, Jeffrey Heer in IEEE Trans. Visualization & Comp. Graphics (Proc. InfoVis) 2010
Designing for Perception Slides
- Required Layering and Seperation (Chapter 3) by Edward Tufte in Envisioning Information
- Optional What to consider when choosing colors for data visualization by Lisa Charlotte Muth 2018
Ethics in Visualization Slides
- Required Ethical Dimensions of Visualization Research by Michael Correll in CHI '19: Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems
- Optional Introduction by Catherine D'Ignazio and Lauren F. Klein in Data Feminism
Geographic Visualization Slides
- Required Cartographic Visualization
- Required What to consider when creating choropleth maps by Lisa Charlotte Muth 2018
Network Visualization Slides
- Required Chapter 2: Networks by Isabel Meirelles in Design for Information
Scalable Visualization Slides
- Required imMens: Real-time Visual Querying of Big Data by Zhicheng Liu, Biye Jiang, Jeffrey Heer in EuroVis 2013
- Required Bin-summarise-smooth: A framework for visualising large data by Hadley Wickham 2013
- Optional Falcon: Balancing Interactive Latency and Resolution Sensitivity for Scalable Linked Visualizations by Dominik Moritz, Bill Howe, Jeffrey Heer in ACM CHI 2019
Accessibility Slides
- Required Sociotechnical Considerations for Accessible Visualization Design by Alan Lundgard, Crystal Lee, Arvind Satyanarayan in IEEE VIS 2019
- Required Social Model Of Disability
- Optional Are Your Data Visualizations Excluding People? by Frank Elavsky, Larene Le Gassick, Sarah Fossheim 2021
Visualization and Machine Learning Slides
- Required The Myth of the Impartial Machine by Alice Feng, Shuyan Wu 2019
- Required The Beginner's Guide to Dimensionality Reduction by Matthew Conlen, Fred Hohman 2018
- Optional Gamut: A Design Probe to Understand How Data Scientists Understand Machine Learning Models by Fred Hohman, Andrew Head, Rich Caruana, Robert DeLine, Steven Drucker in ACM CHI 2019
Uncertainty Slides
- Required The Curious Absence of Uncertainty from Many (Most?) Visualizations by Jessica Hullman 2019
- Optional The effects of communicating uncertainty on public trust in facts and numbers by Anne Marthe van der Bles, Sander van der Linden, Alexandra L. J. Freeman, and David J. Spiegelhalter 2020
Final Project Presentations Slides
Details
Prerequisites
Expected skills you should have before entering the course:
- Programming
- Git (collaborative software development)
Skills that can be learned during the course:
- JavaScript
- HTML, CSS, DOM
- Vega, Vega-Lite, D3
- SQL
Projects
The course is project oriented. It includes a large final group-defined project along with 2 homework assignments designed to provide the stepping stones needed to complete the final project. Tentative due dates for these projects can be found at the bottom of this syllabus under the ‘Course Summary’ heading. Your work will be evaluated relative to your background and level of effort. This is a graduate class, and the assumption is that you are a mature and motivated student, and that you will define your work so that you learn and grow, given your background. Students who are taking this course as a part of a technical requirement (such as the computer science course requirement in the HCI PhD) will need to do more advanced or ambitious projects, and should consult with the instructor to make sure they are meeting this bar.
All homework assignments are to be done as individual work. It is expected that students may assist each other with conceptual issues, but not provide code. If you use example code, you must explicitly acknowledge this in your assignment submission. If you are unsure about these boundaries, ask.
Work Required
This will not be an exam-heavy course. Instead, much of the work will focus on projects. The course will focus on understanding the techniques of data science and visualization through developing creative analyses and visualizations using tools to solve defined problems.
There is no final exam in this course. Students who do well will be invited to continue on an independent project on topics related to the course, working with Prof. Perer or Prof. Moritz during a future semester.
Readings
You will be expected to read assigned readings before the lecture they pertain to. These may include chapters drawn from textbooks about data, or readings about the research literature. To incentivize this, each student will be required to make at least one relevant postings to the discussion group before the class on which each reading is due. This participation will count toward the Participation and Attendance portion of their grade.
All students are required to submit at least 1 substantive discussion post per lecture related to the course readings. Each student 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
Grades
The tentative breakdown for grading is below. As a reminder, here is the university policy on academic integrity.
- 30% Homework Assignments
- 60% Final Project
- 10% Participation and Attendance
Resources
The MDN web docs are the go-to guide for web technolgies such as HTML, CSS, and JavaScript.
For D3 questions, check out D3’s documentation.
For Vega-Lite questions, check out the Vega-Lite documentation and the examples in the online editor.
Policies
Respect for Diversity
It is our intent that students from all diverse backgrounds and perspectives be well served by this course, that students’ learning needs be addressed both in and out of class, and that the diversity that students bring to this class be viewed as a resource, strength and benefit. It is our intent to present materials and activities that are respectful of diversity: gender, sexuality, disability, age, socioeconomic status, ethnicity, race, and culture. Your suggestions are encouraged and appreciated. Please let us know ways to improve the effectiveness of the course for you personally or for other students or student groups. In addition, if any of our class meetings conflict with your religious events, please let us know so that we can make arrangements for you.
Accommodations for Students with Disabilities
If you have a disability and are registered with the Office of Disability Resources, we encourage you to use their online system to notify us of your accommodations and discuss your needs with us as early in the semester as possible. We will work with you to ensure that accommodations are provided as appropriate. If you suspect that you may have a disability and would benefit from accommodations but are not yet registered with the Office of Disability Resources, we encourage you to contact them at access@andrew.cmu.edu.
Health and Well-being
This year is unlike any other. We are all under a lot of stress and uncertainty at this time. Make sure to move regularly, eat well, and reach out to your support system or us if you need to. We can all benefit from support in times of stress, and this semester is no exception.
Due to the ongoing pandemic, do not under any circumstances physically come to class sick to keep your fellow students and instructors safe. Reach out to the instructors to determine a way to participate remotely and/or catch-up.
If you or anyone you know experiences any academic stress, difficult life events, or feelings like anxiety or depression, we strongly encourage you to seek support. Counseling and Psychological Services (CaPS) is here to help; call 412-268-2922 and visit their website at www.cmu.edu/counseling/. Consider reaching out to a friend, faculty or family member you trust for help getting connected to the support that can help. If you or someone you know is feeling suicidal or in danger of self-harm, call someone immediately, day or night:
- CaPS: 412-268-2922
- Re:solve Crisis Network: 888-796-8226
If the situation is life threatening, call the police. On campus call CMU Police: 412-268-2323. Off campus: 911.
Food Insecurity
If you are worried about affording food or feeling insecure about food, there are resources on campus who can help. Email the CMU Food Pantry Coordinator to schedule an appointment: Pantry Coordinator: cmu-pantry@andrew.cmu.edu SLICE office: 412-268-8704
If you have questions about this or your coursework, please let the instructors know. Thank you, and have a great semester.
Acknowledgements
Material for this class has been adapted from classes taught by Jeffrey Heer at the University of Washington, and Arvind Satyanarayan at MIT, which in turn build on materials from many others.
The class draws heavily on materials and examples found online, and we try our best to give credit by linking to the original source. Please contact us if you find materials where credit is missing or that you would rather have removed.