CS286r: Topics at the Interface between Computer Science and Economics
Instructor:
Yiling
Chen
Teaching Fellows:
Dimitrios
Antos
&
Shaili
Jain
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.
Announcements
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.
Prerequisites
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:
- What is the main contribution of the paper?
- Is it important? Why?
- What is the limitation of the paper?
- What was the main insight in getting the result?
- What assumptions were made? Are they reasonable, limiting, or overly simplified?
- What applications might arise from the paper?
- How can the results be extended?
- What was unclear to you?
- How does the paper relate to other work that we have seen?
- Can you suggest a two-sentence project idea based on the ideas in the paper?
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.)