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
- Greg: Tues 11:30a – 1:30p (starting October 4) @ Encina W 101
- Monte: Weds 3:00p – 5:00p (starting October 5) @ Littlefield 103
- NOTE: Monte will hold office hours on Monday, 10/17 from 4–6pm @ Littlefield 103 instead of Wednesday to accommodate the new Assignment 1 deadline of 10/18.
- Johan: Thurs 10:20a – 11:15a (starting Sept 29)
Important Links
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
- 45% Problem Sets (15% each)
- 10% Project proposal
- 40% Project presentation and report
- 5% Participation and collegiality
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.
- One single delay of up to 2 days (48 hours), no questions asked.
- After that: 5 points deducted per day (per 24h, including weekends), up to 6 days. Limited CA availability.
- After that: no CA support will be provided and max grade is a 70. Must be submitted by Monday Dec 5, 11:59p PT (after that, grade is 0), and no guarantees on grading turn-around time.
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).