Data Visualization

Fall 2024
T/H 11:00am-12:20pm in SH 234
Picture of Adam Perer
Adam Perer

Submit assignments and discussions on Canvas.

The course covers theoretical foundations of perception, principles of effective data visualization, ethics of data visualization, and how to implement interactive web-based data visualizations.

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 Svelte and D3
  • Be prepared to do research in visualization

Jump to

Schedule and Readings

Coming soon.



This course is open to both undergraduate and graduate-level students with proficiency in programming. Students should be comfortable diving into new technologies and programming languages, as needed, in order to rapidly create working interactive data visualization systems.

Students are expected to have taken the following prerequisites, or to have equivalent prior knowledge and experience:

Two or more introductory programming courses (e.g., 15-112 and one additional programming course above it) In addition, prior exposure to concepts or methods from web development (e.g, Javascript, HTML, CSS, DOM), data visualization libraries (e.g., Vega-Lite, D3), collaborative software development (git), human-computer interaction, and/or data science will be helpful, although not required.

Skills that can be learned during the course:

  • JavaScript
  • Svelte, Vega-Lite, D3


The course is project oriented. It includes a large final group-defined project along with 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-level 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.

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 during a future semester.


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


The tentative breakdown for grading is below. As a reminder, here is the university policy on academic integrity.

  • 40% Homework Assignments
  • 50% Final Project
  • 10% Participation and Attendance


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.


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

Health and Well-being

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 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:

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: 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.


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.