Spring 2026 (February 4 – May 8)

Instructor
Ben Fry – fry at mit dot edu

Teaching Assistant
Nermine Hassanin – nermine 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.

Goals

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? (Absences must be excused in advance!)

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.

Approach

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 just a loosely structured art class: there are important objective truths to learn, practice, and understand.

Generative AI

Use of AI tools is simply not recommended. I'm not interested in banning them outright, or policing their use, but they will hinder your ability to learn and think about the material we cover.

Assignments are structured as small steps that help you understand how to do the next, more complicated step. Many of these small steps can be handled easily by an LLM, but this is the proverbial “using a forklift to do weights at the gym.” (You can do it, and it's even faster! But it completely misses the point of going to the gym.) We're interested in what you learn while you work on the assignment, not just the product of the assignment itself.

Schedule

Assignment links will be posted on the front page for the course. We will make adjustments along the way, so but we will try to keep this calendar up to date.

There are a lot of assignments! Most are sketches or progress check-ins for a longer project. They are smaller steps that build on one another, so they cannot be skipped. Similarly, incomplete work is far better than no work turned in at all!

We have three units planned: clocks, storytelling, and weather. These represent three “projects,” and then we finish out the semester with a longer final project that ties everything together.

Week 1

Introduction

Wednesday 2/4

Lecture: Course Overview

Thursday 2/5

Simple and Complex due

Friday 2/6

Discussion: Two examples of information design/data visualization

Lab: Sketching and coding with clocks

Week 2

Code and Iteration

Tuesday 2/10

A Dozen Clocks due

Wednesday 2/11

Lecture: Iteration

Thursday 2/12

Iteration Time due

Friday 2/13

Lecture and Exercise: Color

Week 3

Color and Context

Tuesday 2/17

Color Clocks due

Wednesday 2/18

Crit: Time and Color

Lab: Context Clocks

Thursday 2/19

Context Clocks due

Friday 2/20

Crit: Final Clocks

Lecture & Lab: Finding Stories in Data

Week 4

Finding Stories

Tuesday 2/24

Group members and dataset choices due

Wednesday 2/25

Lab: Story finding, working in groups

Thursday 2/26

Initial storytelling deck due

Friday 2/27

Storytelling Presentations

Lab: working in groups

Week 5

Telling Stories

Tuesday 3/3

Final storytelling deck due

Wednesday 3/4

Final Storytelling Presentations

Thursday 3/5

Friday 3/6

TBD

Week 6

Going Small

Tuesday 3/10

Draft mini story due

Wednesday 3/11

Discussion: story progress

Feedback and work in groups

Thursday 3/12

Final mini story due

Friday 3/13

Group Crit: Mini Stories

Week 7

Designing for Dynamic Data

Tuesday 3/17

Wednesday 3/18

Lecture: Weather apps

Lab: weather coding, work time

Thursday 3/19

Weather app progress due

Friday 3/20

TBD

Spring Break

Week 8

Weathering the Semester

Tuesday 3/31

Weather progress & sketches due

Wednesday 4/1

Crit: weather status

Lecture: Alternative Weather

Thursday 4/2

Next Weather due

Friday 4/3

Crit: weather updates

Lab: using the phone, deployment, debugging

Week 9

Fit & Finish

Tuesday 4/7

Final weather app due

Wednesday 4/8

Crit: final weather apps

Lecture: kicking off the final project

Thursday 4/9

Final project ideas due

Friday 4/10

Discussion: final project ideas

Week 10

Discovery & Analysis

Tuesday 4/14

Project sketches and initial data due

Wednesday 4/15

Guest Lecture: “Scaled in Miles”

Thursday 4/16

Friday 4/17

Lab: parsing data

Lecture: perception & representation

Week 11

Design & Development

Tuesday 4/21

Initial (code) sketch with data due

Wednesday 4/22

TBD

Thursday 4/23

Friday 4/24

Lab: quick introduction to motion

Lab: work time

Week 12

Iterate & Refine

Tuesday 4/28

Draft due most pieces in place

Wednesday 4/29

Crit: representation & interaction progress

Thursday 4/30

Near-final due

Friday 5/1

Lab: feedback and help in groups

Week 13

Final Presentations

Tuesday 5/5

All Final Projects Due!

Wednesday 5/6

Day 1: Final Presentations

Thursday 5/7

Friday 5/8

Day 2: Final Presentations