Skip to the content.

Course Description

With a vast amount of data now collected on our online and offline actions – from what we buy, to where we travel, to who we interact with – we have an unprecedented opportunity to study traditional social systems with novel precision and detail, as well the emerging challenges of studying modern social systems infused with learning algorithms. In this hands-on course, we first develop ideas from computer science and statistics to address problems in sociology, economics, political science. Beyond that, we place a particular emphasis on the study of algorithm-in-the-loop social systems. To see how these techniques are applied in practice, we discuss recent research findings in a variety of areas. Prerequisites: introductory course in applied statistics and experience coding in Python.

Instructors

Johan Ugander, jugander@

Monte Fischer (TA), m0nte@

Greg Zanotti (TA), gzanotti@

Schedule

Class: Tuesdays & Thursdays @ 9:00 AM – 10:20 AM in STLC 115

Office Hours

Course structure and evaluation

The class is organized around two lectures per week. Generally speaking, the first half of each lecture will be organized in “broadcast mode,” presenting an overview of an idea or field. The second half will transition to discussions of recent research literature.

There are three problem sets and a project. See the weekly schedule below for a timeline. There are no quizzes, midterms, or exams. All submissions are due on Canvas by the start of lecture (9am) on the described days. Attendance is expected but not strictly mandatory.

Homework assignments are to be done in groups of 2-3, and the final project in groups of 2-5. You are strongly encouraged to form interdisciplinary teams for both the homework and project. All group members should be involved in completing each part of the homework assignments (i.e., think pair programming as opposed to divide-and-conquer).

There is an ungraded “Problem Set 0” for self-evaluation, available on the course homepage. It is intended to make sure you feel comfortable coding at the level that will be assumed as prerequisite. It is very strongly encouraged (if only to clean up your coding environment after a summer away from classes). No submissions of PS0 will be accepted.

There is a $30 course materials fee. There are no required textbooks or other course materials.

Grading and late policies

Problem sets and project proposal: your best bet is to hit all the deadlines. Failing that, the following policy is designed to prioritize completing problem sets vs. not completing, submitting problem sets vs. not submitting.

Project: No extensions on the project. If you need an extension, please contact me to discuss my policy for taking an “incomplete” for the course.

In the event of a family or medical emergency, I am fundamentally a reasonable person.

High level course schedule

Week Topic Assignments
Week 1 Introduction; observational CSS PS0; PS1 Out
Week 2 Causal Inference; Social algorithms I: search  
Week 3 Social algorithms II & III: Recsys, feed PS1 Due
Week 4 Network analysis PS2 Out
Week 5 Social contagion, diffusion, social influence  
Week 6 Online surveys; digital demography PS2 Due; PS3 Out
Week 7 Cell phone and mobility data Project Proposal Due
Week 8 Culturomics; Privacy PS3 Due
  Thanksgiving break  
Week 9 Guest lectures  
Week 10 Project presentations  
Exam week (No exam) Report Due

Assignment overview:

Problem set 1: Counting things with the Twitter API
Problem set 2: Network analysis of Twitter data
Problem set 3: Surveys and post-stratification
Project: Open ended, per proposal process

Honor code violations

In the event that a student is found to have violated the honor code (including through Early Resolution), the penalty may include a full denial of credit for the course (not just the assignment). See the Student Conduct Penalty Code, Section J.

Students with Documented Disabilities:

Students who may need an academic accommodation based on the impact of a disability must initiate the request with the Office of Accessible Education (OAE). Professional staff will evaluate the request with required documentation, recommend reasonable accommodations, and prepare an Accommodation Letter for faculty dated in the current quarter in which the request is made. Students should contact the OAE as soon as possible since timely notice is needed to coordinate accommodations. For more information: http://studentaffairs.stanford.edu/oae

Computing Environment

A Unix-like setup is required (e.g., Linux, OS X, or Cygwin). We will use Python 3 (JupyterLab is recommended).