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

Prof. Johan Ugander, jugander@

TA: Nirali Parekh, nirali25@

Schedule

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

Office Hours

Prof. Ugander: Thurs 10:20a -11:20a, w1-10, Huang 357

Nirali: Mon 10:30a-12:30; Weds 6:00p-8:00p, w2-6, Green Earth Science Bldg 150

Course structure and evaluation

The class is organized around two lectures per week. Generally speaking, the first lecture of each week will on the technology, with the second lecture of the week being focused on impacts and evaluations. Lectures are designs to be discussion-driven, espcially when we debate conclusions from the impacts and evalutations literature.

There are two 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 (and participation part of the grade) 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). Projects are fine 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 them, submitting problem sets vs. not submitting them.

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 PS0; Thurs: PS1 Out
Week 2 Friend recommendations  
Week 3 Product recommendations  
Week 4 Search engines Tues: PS1 Due, PS2 Out
Week 5 Feed algorithms  
Week 6 Content moderation Thurs: PS2 Due
Week 7 Network interventions  
Week 8 Project proposals Project proposals
  Thanksgiving break  
Week 9 Meta 2020 elections studies  
Week 10 Project presentations  
Exam week (No exam) Report Due

Assignment overview:

Problem set 1 (Oct 17): Surveys and post-stratification
Problem set 2 (Nov 2): Network analysis of Twitter data
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).