Course Schedule

(tentative, subject to change)

Week Date Description Assignments Readings
1 Aug 23 Introduction (slides)
Aug 25

HTML/CSS/SVG basics (slides)

code from class demo

example code for face

Assignment 1 Complementary (optional, after class): The Basics of the Web Stack
2 Aug 30 Javascript basics (slides)

Required (before class): Murray, Chapter 3, pages 36-52 (JavaScript section)

Complementary (optional, before class): JavaScript, The Very Basics

Sep 1 Javascript + DOM, SVG (slides) Assignment 2 due
3 Sep 6

d3 basics (slides)

barplot code

scatterplot code

Required (before class): Murray, Chapter 5, and Chapter 6
Sep 8

d3 joins and scales (no in-person class) (slides)

Video 01 (setting up your work environment, use forEach to build scatterplot) 17 minutes

Video 02 (use data join to build scatterplot) 7 minutes

Video 03 (intro to scales) 10 minutes

Video 04 (scales and axes) 12 minutes

scatterplot code

Recommended: Murray Chapter 7
4 Sep 13

design principles: edges and color (slides)

herman grid code

dark light code

Assignment 3 due due | Recommended: Munzer Chapter 5
Sep 15

design principles, vis analysis framework (slides)

penguins code

Recommended: Munzer Chapter 10
5 Sep 20

Intro to Vega


penguins with vega code

Assignment 4 due Required: Perception in Visualization
Sep 22

Bar plots with Vega


bigfoot sightings with vega

6 Sep 27

Bar plots with Vega


ferris wheels code

Assignment 5 due
Sep 29

Bar plots with Vega II


artists in the US code

7 Oct 4 Assignment 6 due
Oct 6

Line plots with Vega


class recording

avocado prices code

baby names code

8 Oct 11

Avoiding Pitfalls


baby names line plot

fixed lego bar plot

fixed broadway line plot

Recommended: Apple’s human interface guidelines for charts
Oct 13 Midterm Midterm Study Guide
9 Oct 18

Interactive Visualizations


interactive broadway plot

Recommended: Reactive Building Blocks Interactive Visualizations with Vega
Oct 20

Interactive Visualizations


yarn plot

10 Oct 25

Multiple Views


halloween candy plot

mobility plot

Assignment 07 due Required: Munzer Chapter 12
Oct 27

Map Plots


faceted mobility plot

Required: Munzer Chapter 8
11 Nov 1

Map Plots


world gapminder map

us elections map

Assignment 08 due Recommended: Schwabish Chapter 7
Nov 3

Audiences and Purposes


ccd barplot

Recommended: Schwabish Chapter 3
12 Nov 8



Assignment 09 due

Required: Decoder Ring Podcast – The Storytelling Craze

Recommended: Citations Needed Podcast – “Follow The Data”

Nov 10

Visualizing Multidimensional Data


Video 1

Video 2

Video 3

Video 4

completed code

13 Nov 15

Visualizing Multidimensional Data


Assignment 10 due
Nov 17

Deploying your visualization

(download starter project)

14 Nov 22

Data Wrangling


Recommended: Tidy Data (Wickham)
Nov 24 Thanksgiving recess begins with no classes until Monday
15 Nov 29

Shiny (R and Python)

Altair (using Python with Vega)


Assignment 11 due Install Altair and Jupyter Notebooks
Dec 1


(slides pdf)

(slides pptx)

altair code

tableau student license form

download tableau desktop

16 Dec 6

Final exam review

(practice exam)

(practice answers)

17 Dec 12 (Monday) Final exam (3:30pm - 5:30pm) Assignment 12 due