This course is a hands-on introduction to design principles, theory, and software techniques for visualizing data. Classes will be a combination of lecture, design studio, and lab. Through readings, design critique, and code assignments, students will learn how visual representations can help in the understanding of complex data, and how to design and evaluate visualizations for the purpose of analysis or communication. Students will develop skills in processing data and building interactive visualizations using D3. Topics include visual perception, exploratory data analysis, task analysis, graphic design, visual hierarchy, narrative, etc.

Students should have experience in JavaScript programming and web development, as well as familiarity with databases and data formats. You should be comfortable picking up new programming tools on your own. Experience with Python or R for data processing is helpful but not required.

Course Objectives

Students will learn to:


  1. Clocks (0%): Apply for this class by completing a warm-up assignment designing an abstract clock.
  2. Sparks Presentation (5%): Prepare a 15 min. slideshow presentation on a data visualization practitioner or team that is inspiring to you.
  3. Visualization Design (8%): Design 10 divergent representations for the US Census data set and provide a rigorous rationale for your design choices. Present for design critique in class.
  4. Exploratory Data Analysis (10%): Identify a dataset of interest and perform an exploratory analysis to understand the shape & structure of the data, investigate initial questions, and develop preliminary insights & hypotheses. Present a report on your findings.
  5. Interactive Visualization (20%): Build a visualization that enables interactive exploration along at least three dimensions using a dataset of your own choosing and publish it on the web.
  6. Midterm Exam (8%): individual closed book exam, for 90 min. during class session. Comprises multiple-choice and written essay questions.
  7. Final Project (30%): Build a web-based interactive visualization that allows you to answer questions about a topic of your own choosing. You will acquire the data, design your visualization, implement it using D3, and evaluate the results.
  8. Labs (3%): Fork the assigned Observable notebook and complete individually, graded pass/fail.
  9. Reading Quizzes (8%): Expect a quiz at beginning of class most weeks; 2–4 multiple-choice questions, each covering one of the central concepts in a required reading.
  10. Class Participation (8%): Actively engages in class and online (Slack) in critique, analysis, and assisting peers.


Caveat Emptor

Online Code of Conduct

This course will be taught partially online in spring semester of 2022. All members and guests of this community are expected to commit to the following standards and obligations, aimed to make our class an inclusive and welcoming environment.


Auditors are welcome in class, and encouraged to form their own homework groups; the teaching team simply won’t be able to provide grading or feedback due to time constraints.

Optional Textbooks