Course Objectives

This class will do two things. First, it will teach you how to use modern, widely-used tools to create insightful, beautiful, reproducible visualizations of social science data. Second, you will also learn about the theory and practice of efforts to visualize sociological data, and society more generally. We will think about different ways of looking at social science data, about where data comes from in the first place, and about the implications of choosing to represent it in different ways.

By the end of the course you will

Core Texts

I strongly recommend you buy two books:

You should also consider buying this one:

Other Material

We will also read material from the following books, amongst other sources:


We will do all of our visualization work in this class using the programming language R. We will use RStudio to manage our code and projects. R and R Studio are widely used tools for data analysis in academia and industry.

You will need to install some software first. Here is what to do:

  1. Get the most recent version of R. R is free and available for Windows, Mac, and Linux operating systems.

    the version of R compatible with your operating system. If you are running Windows or MacOS, you should choose one of the precompiled binary distributions (i.e., ready-to-run applications) linked at the top of the R Project’s webpage.

  2. Once R is installed, download and install R

    R Studio is an “Integrated Development Environment”, or IDE. This means it is a front-end for R that makes it much easier to work with. R Studio is also free, and available for Windows, Mac, and Linux platforms.


    the tidyverse library and several other add-on packages for R. These libraries provide useful functionality that we will take advantage of throughout the book. You can learn more about the tidyverse’s family of packages at its website.

    To install the tidyverse and some additional useful packages, make sure you have an Internet connection and then launch R Studio. Type the following lines of code at R’s command prompt, located in the window named “Console”, and hit return. In the code below, the <- arrow is made up of two keystrokes, first < and then the short dash or minus symbol, -.

my_packages <- c("tidyverse", "broom", "coefplot", "cowplot",
                 "gapminder", "GGally", "ggraph", "ggrepel", "ggridges", "gridExtra",
                 "here", "maps", "mapproj", "mapdata", "MASS", "quantreg",
                 "rlang", "scales", "survey", "srvyr", "usethis", "devtools")

install.packages(my_packages, repos = "")

R Studio should then download and install these packages for you. It may take a little while to download everything.

With these packages available, you can then install one last package that’s useful specifically for this course.



Date Topic
August 21st, 23rd Orientation and Setup
August 28th / 30th Ways of Seeing / Expressing Yourself with R
September 4th / 6th Looking at Data / Working Tidily with Data
September 11th / 13th Making Graphs / Showing the Right Numbers
September 18th / 20th (No class this week)
September 25th / 27th Groups, Kinds, and Comparisons / Working with Tables
October 2nd / 4th Time, Trends, and Flows / Expanding your Visual Vocabulary
October 9th / 11th Populations and Distributions / Beeswarms, Pyramids, and Lexis Surfaces
October 16th / 18th Trees, Ties, Relations / Visualizing Networks and Hierarchies
October 23rd / 25th Midterm Workshop / Midterm Presentations
October 30th / November 1st Space and Place / Maps I
November 6th / 8th Nations and States / Maps II
November 13th / 15th Design Thinking / Refining Plots
November 20th / 22nd Representing and Intervening
November 27th / 29th Thanksgiving (No Class)
December 4th / 6th Final Projects

As the weeks go by, consult the Schedule Page for more information on weekly topics, problem sets, readings, and other materials. The schedule is likely to change as we go. Links to readings, assignments, and other materials from class will be posted on that page.

Course policies

Required Work and Grading

There are three kinds of assignments for the course: memos, problem sets, and projects.

There is no final exam for the class.

Duke Community Standard

Like all classes at the university, this course is conducted under the Duke Community Standard. Duke University is a community dedicated to scholarship, leadership, and service and to the principles of honesty, fairness, respect, and accountability. Citizens of this community commit to reflect upon and uphold these principles in all academic and nonacademic endeavors, and to protect and promote a culture of integrity. To uphold the Duke Community Standard you will not lie, cheat, or steal in academic endeavors; you will conduct yourself honorably in all your endeavors; and you will act if the Standard is compromised.