MIT 4.032 / 4.033
Information Design + Visualization
2 February – 6 May 2022

Ben Fry – fry at mit dot edu

Teaching Assistant
Rui Wang – ruiw at mit dot edu

This course is an introduction to working with data for exploration and explanation. The course mixes history and theory of information with a series of projects that apply the ideas directly. Students will start with basic data analysis, then learn about visual design and presentation, followed by more sophisticated interaction techniques. Topics include storytelling and narrative, choosing representations, understanding audiences, and the role of practitioners creating tools to help people work with and make sense of information. Experience with code and/or design may help, but it is not expected or required.


This class is not a “how to” on creating data visualizations. There are many books, frameworks, and online tutorials for recreating popular work seen online. Those resources can be very useful, but it’s something better learned on your own time. This course is focused on making sense of data, and helping others do the same. We use a mix of work from inside and outside the field, plus professional work to demonstrate different ways of looking at narrative and interactive information design as broadly as possible.

Units and Registration

Listed as 2-4-6, but 1-2-9 would be more accurate. About an hour of lecture, two hours lab, and 9 hours homework per week. Bottom line, expect 12 hours/week.

Listeners are not allowed: this is a hands-on studio course. Similarly, pass/fail is not an option.

We like to have students from as many different departments as possible. Cross-registration from other schools is also welcome.

Assignments and Grading

Because we focus on iteration, expect frequent assignments. They'll always be due 9pm the evening before class. Late assignments are not accepted for credit, except when excused in advance.

Letter grades will be assigned at both the middle and end of the semester. Only the end of semester grade is on record. The following criteria are used for assessment:

  • Completion – Were the projects completed on time?

  • Design – What was the quality of the concept? Has effort been made to lend a unique perspective? Was there enough design iteration and process sketching?

  • Code – What is the student's understanding of code? Were they able to iterate and modify code to implement a concept as intended?

  • Participation – Did the student attend class? Arrive on-time? Did they participate in class lecture discussions and provide feedback for other students during critique?

Design + Code = 70% of grade
Completion + Participation = 30% of grade

Each of these pieces are important, and interrelated:

  • Completion – This course moves quickly, so if an assignment is missed or not completed in time, it will be very difficult to catch up. Each new assignment builds upon the previous, so missed steps are not an option. This is also about being considerate to the course staff: time spent managing late projects and exceptions takes away from time dedicated to the rest of the group.

  • Design – The “design” of the projects is not about what things look like. It’s about how they work and how they help the intended audience think about a set of data. The first attempt at a design will always be insufficient, and many iterations will be required as you refine your ideas. An all-nighter won’t give you enough iteration to work through the necessary steps for a project. Focus on smaller steps and getting feedback on them before doing your final push. If this is unfamiliar, it will be one of the most important things you can learn from this course.

  • Code – This is not a coding class. If you know how to code, you’ll find that part of the course easier, but you’ll still need to put considerable effort into the design and conceptual part of what you create. On the other hand, if you’re not familiar with code, we’ll help you along and can assure you that you’ll be able to figure it out—but only if you attend class and are engaged.

  • Participation – Significant deductions will be made for students who don't engage or participate. Laptops are essential tools in this class, but should not be used during lectures. We have limited class time each week, so make use of it! Starting late or leaving early is not an option—even if it's a working session.


It is important to understand that this is different from a course in the sciences or engineering because there are fewer “correct” answers: we’re teaching you an approach and skills for thinking about data and design problems.

However, it’s also not a loosely structured art class: there are important objective truths to learn, practice, and understand.


We'll make adjustments along the way, so keep an eye on this space.

There are a lot of assignments! But most are sketches or progress check-ins for a longer project. We have four units: clocks, storytelling, weather, and deconstruction/reconstruction. These represent four “projects,” and then we finish out the semester with a longer final project that ties everything together.

Week 1 – Introduction

  • Wednesday, February 2
    • Lecture: Course overview, historical precedents, and contemporary context

Thursday, February 3
Assignment 1 (examples) due

  • Friday, February 4
    • Discussion: Two examples of information design/data visualization
    • Lab: Coding with p5.js, clock examples

Week 2 – Iteration & Code

Tuesday, February 8
Assignment 2 (clocks) due

  • Wednesday, February 9
    • Crit: Clocks
    • Guest Lecture: Iteration – Paul Cronan

Thursday, February 10
Assignment 3 (clock iterations) due

  • Friday, February 11
    • Crit: Clock Iterations
    • Guest Lecture: Case study on finding stories in data – Olivia Glennon

Week 3 – Data and Storytelling

  • Wednesday, February 16
    • Lecture: Storytelling & learning from other media
    • Lab: Working through data sets in groups

Thursday, February 17
Assignment 4 (storytelling deck) due

  • Friday, February 18
    • Storytelling Presentations
    • Lab: working in groups

Week 4 – Form and Translation

Tuesday, February 22
Assignment 5 (storytelling final) due

  • Wednesday, February 23

    • Final Storytelling Presentations
    • Lecture: Weather apps
  • Friday, February 25

    • Lab/work: Weather apps
    • Class canceled due to weather

Week 5 – Context and Dynamic Data

  • Wednesday, March 2
    • Lecture and Lab: Weather apps
    • Guest Lecture: Color - Paul Cronan
    • Crit: Draft Weather App

Thursday, March 3
Assignment 6 (weather app sketches)

  • Friday, March 4
    • Guest Lecture: Color - Paul Cronan
    • Lab: weather app progress

Week 6 – Weather Apps

Tuesday, March 8
Assignment 7 (draft weather app)

  • Wednesday, March 9
    • Lecture: Alternative Weather
    • Lab: using the phone, sizing, debugging

Thursday, March 10
Assignment 8 (weather app progress)

  • Friday, March 11
    • Crit: weather apps
    • Lecture: Alternative Weather

Week 7 – Deconstructing Narratives

Tuesday, March 15
Assignment 9 (weather app final)

  • Wednesday, March 16
    • Lecture: deconstructing and reconstructing stories
    • Discussion: film poll, movie choices

Thursday, March 17
Assignment 10 (deconstruction ideas) due

  • Friday, March 18
    • Discussion: your ideas; identifying threads and themes

Week 8 – Spring Break

  • Wednesday, March 23
    • No Class
  • Friday, March 25
    • See Wednesday

Week 9 – Reconstructing Narratives

Tuesday, March 29
Assignment 11 (reconstruction progress) due

  • Wednesday, March 30
    • Crit: selected assignments
    • Lecture: more storytelling

Thursday, March 31
Assignment 12 (reconstruction) due

  • Friday, April 1
    • Crit: narrative reconstructions

Week 10 – Discovery & Analysis

Tuesday, April 5
Assignment 13 (reconstruction final) due

  • Wednesday, April 6
    • Lecture: kicking off the final project

Thursday, April 7
Assignment 14 (final project plans) due

  • Friday, April 8
    • Crit: final project ideas

Week 11 – Design & Development

Tuesday, April 12
Assignment 15 (data in hand)

  • Wednesday, April 13
    • Guest Lecture: “Scaled in Miles” (Mark Schifferli)
    • Lab: Finding and parsing data

Thursday, April 14
Assignment 16 (planning sketches)

  • Friday, April 15
    • Lecture: perception & representation
    • Lab: quick introduction to motion

Week 12 – Iterate & Refine

Tuesday, April 19
Assignment 17 (working sketch)

  • Wednesday, April 20
    • Crit: representation & interaction progress
  • Thursday, April 21
    • 3–5pm Individual Meetings via Zoom
  • Friday, April 22
    • 9–11am Individual Meetings at N-52

Week 13 – Deploy & Test

Tuesday, April 26
Assignment 18 (near-final) due

  • Wednesday, April 27
    • Lecture: Wrapping Up
  • Friday, April 29
    • Crit: last round of in-class feedback

Week 14 – Presentations

Tuesday, May 3
Final Projects Due

  • Wednesday, May 4
    • Final Crit (Group 1)
  • Friday, May 6
    • Final Crit (Group 2)