Harvard Logo

CS286r: Topics at the Interface between Computer Science and Economics

Fall 2008 Topic: Social Computing

Instructor:                  Yiling Chen
Teaching Fellows:     Dimitrios Antos                         &                 Shaili Jain 
                                  email                            email
Meeting time:             Monday & Wednesday 1-2:30pm
Location:                    Maxwell Dworkin 123
Office Hours:             Dimitrios: Sun, 4-6, Maxwell-Dworkin ground floor cafe
                                   Shaili: Tue. 2-4, Maxwell Dworkin 2nd floor lounge
                                   Yiling: Wed. 11-12 and Thu. 3-4, Maxwell Dworkin 339
Note: Enrollment of this course will be limited to facilitate seminar-style discussion of papers. A survey will be distributed in the first class to help with the selection of students, with preference given to graduate students and students with the strongest background.

Syllabus in PDF format.


Wed 11/3: Project requirements can be found under Assignments.    
                 Project proposal due Mon 11/17 in class;    
                 Project update due Wed. 12/10 in class;
                 Project presentations during reading period;   
                 Project final report due Mon. 1/12 at 12 noon.

Wed 10/1: Problem Set 3 is due Wed 10/8 in class.
Mon 9/29: Please stop by MD 339 to sign up for paper presentations.
Wed 9/24: Problem Set 2 is due Wed 10/1 in class.
Wed 9/17: Problem Set 1 is due Wed 9/24 in class.
Mon 9/15: If you didn't get a copy of the survey in today's class and are thinking of taking this course, please finish the survey (link) and drop it to my office (MD339) as soon as possible.
Mon 9/15: First day of class. Come to join us!

General Information

Social computing is a research area that is at the intersection of computational systems and social behavior. In this course, we focus on the interplay between computation and social behavior within decentralized collective systems, where computation is carried out by a group of people. Computation in social computing is broadly defined. It may refer to aggregation of dispersed information, creation of semantic labels for images, or the formation of reputations.

The Internet and network technologies make it possible and inexpensive to enable large-scale interactions of geographically distributed individuals.  Social computing systems have emerged to serve many different purposes. For example, Iowa Electronic Markets (IEM) that allow participants to wager on outcomes of political elections can aggregate real-time information about elections. The ESP game provides an entertaining environment and players jointly label images as a byproduct of their play. Wikipedia, which can be edited collaboratively by users, is becoming an important online knowledge source. Such systems are both computational and social. The conflicts between computational and game-theoretic constraints give rise to many exciting research questions.

This seminar-style course will focus on recent progress in social computing, covering topics of prediction markets, computational social choice, reputation systems, peer production, script systems, and human computation.  The tools used are drawn from AI, game theory, CS theory, microeconomic theory, and optimization.

Course Goals

This course is intended to introduce students to the emerging area of social computing. Students are expected to achieve a comfort level with both economic and computational thinking, become familiar with the status quo of the area, and, to the extend possible, to work on an open research problem. 


Formal requirements include a basic course in linear algebra (such as M 21b, AM 21b, or equivalent), an algorithms course (CS 124 or equivalent) and a background in either AI or economics. Those with a background in AI should have taken CS 181 or CS 182. Those with a background in economics should have taken at least one course in microeconomic theory. Mathematics will be fundamental to the course, and students should expect to learn additional mathematics on their own as necessary. I recommend that students unsure about their background for the course read a couple of papers from the reading list, and attend my office hours during the first week.

Course Structure and Grading Policy

This course is primarily a seminar course. We will spend the most of the term reading and discussing research papers. However, I will lecture some important background material that will help with understanding the non-CS related material in the papers that we read. Students will be required to complete 2-3 problem sets. When we move to reading papers, students are expected to read the papers in advance, submit short summaries and questions before the class, participate in class discussion, and present one or two papers to the class. Students are required to complete a research project for the course. Good projects can form a foundation for a research paper, or a senior thesis for undergraduates.

Problem Sets 25% Homework problem sets
Participation 20% Reading papers, submitting short summaries and questions before class, and participation in class discussion. (Note: Absent students rarely contribute to discussions.)
Presentation of one or two research papers 15% A short survey and critique of the papers. Leading discussion.
Project 40% Project proposal, class presentation, and final report.

Course Readings

We will use part of the following new book for lectures.

[SLB] Multiagent Systems: Algorithmic, Game-Theoretic, and Logical Foundations, by Yoav Shoham and Kevin Leyton-Brown. (Chapters 3, 5, 6, and 9)
A draft of the book is available electronically in PDF format. (Thanks to the authors!) You can get a copy by adding files/SLB.pdf to the url of the current page. Please do not distribute. The book file will be deleted after the first two weeks. So, please download it now.

Papers of the course will be made available electronically, and also distributed in class. Please refer to Schedule for materials that we will cover. Lecture notes are also considered as part of the readings. 

Reading Papers

All students must read papers and email their comments and questions to cs286r@fas.harvard.edu by midnight before the class, with the title of the paper as the subject line. Things to think about include:

Note that you don't need to hit on all of them.  

Presenting Papers

Every student will give a presentation on one topic (one paper or two related papers) during the term. The presentation should contain a short survey and critique of the paper(s). We will break into a discussion of the paper(s) after the presentation. Students presenting papers must talk with the instructor about the paper(s) before their presentation. 

Course Project

The goal of the final project is to develop a deep understanding of a specific research area and to the extend possible to work on an open research problem. Although project topics must be approved, students are free to pick a topic of interest in the general field of social computing.  A list of high-level suggested topics for projects will be made available shortly. Students are required to submit a proposal for their projects, give a project presentation, and write a final project report for the course.

Projects may be theoretical or experimental. Students may also review an existing area of literature, in which case they are expected to bring new perspectives to the existing literature. (In other words, doing a literature review is not easier than working on an open problem.)