02.526 Interactive Data Visualization

Schedule | Objectives

Subject Description

This course teaches students the concepts and skills for online interactive data visualization. There are three aspects of this course:

  • A user experience focus on visualization design.
  • A practical industry perspective, with guest talks from practitioners on how they use visualizations in their work.
  • A technical component of how to execute interactive visualizations

For the technical component, the course uses the building blocks for the web (HTML, CSS, javascript) to create the interactive visualizations.

The course keeps a focus on the entire iterative design workflow throughout the semester and culminates in a project in which a sequence of prototypes leads to a final online, interactive data visualization.

Learning Objectives

  • Understand why (the task), what (the data) and how (the idiom) we design and put together visualizations.
  • Be able to critique and validate visualizations. Is the chosen visualization appropriate for the data and use case?
  • Get a perspective on how visualizations are used in the real world through use case examples, from data science exploratory analysis to guided interactive storytelling.
  • Design and build an online, interactive visualization as a final showcase project, putting together everything we've learnt.

Measurable Outcomes

  • Accurate summary and assessment of foundational concepts, techniques and technologies used in interactive online visualizations.
  • Communicate orally and visually the iterative progress of data visualizations through prototypes and presentations.
  • Development and delivery of a published showcase visualization project for the web.

Assessment Methods

Assignment Items Percentage Period
Class Participation 15% Throughout term
Assignments(five) 40% Throughout term
Final project 45% Week 14

Software and technical requirements

We will be using open-source software in this course, and in teaching we will stick mainly within the HTML/CSS/JS stack.

Software like Tableau and PowerBI are geared more for exploratory analysis, but the main drawback is that they are neither free nor truly customisable at a low level. For open source data science languages like R (e.g. ggplot2) and Python (e.g. matplotlib), the interactivity is never going to be as good as a one built for the web.

As the course is more design-centric, I'll be teaching D3.js, the defacto data visualization library for the web. We'll also touch on other web-based libraries /platforms for interactive visualizations - Google Maps, Mapbox, Leaflet, etc.

Tech-stack wise, however, students are free to choose any tech stack / platform that they are comfortable with (Tableau, Python, R) as long as they can create and publish the required course work and final project.

For that we'll be using version control software Git, and students will need a GitHub account(free) to submit and publish all their lab assignments.

This course teaches a bit of web programming, and students should hopefully come equipped with some basic HTML/CSS/JS background. Students can, however, choose to create and publish their visualizations on the web using other languages.

Students should also have a code editor of their choice installed on their laptops - Visual Studio Code, Notepad++, Atom, Eclipse, etc.


We will be using Tamara Munzner's Data Visualization Analysis and Design as a guidebook to understand the interactive data visualization space.

By Chan Chi-Loong | www.viz.sg | www.vslashr.com