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
Important Links
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
- 40% Problem Sets (20% each)
- 15% 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 them, submitting problem sets vs. not submitting them.
- 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 11, 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 | 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).