Spring 2014

** SYLLABUS**

Description | Topics | Format & Goals | Prerequisites | Grading | Readings | Related Courses | Past Offerings

Instructor: Salil Vadhan (MD 337)

Shopping week office hours: Mon 1/27 2-4, Tue 1/28 11:30-12:30, Wed 1/29 4:30-5:30, Thu 1/30 11:30-12:30, 1-4, Fri 1/31 2-4 (second hour at AM study card signing party in Pierce 307B).

TF: none yet... let me know if you are interested (even if you haven't seen the material before)!

Assistant: Carol Harlow (MD 343, has handouts)

Room & time: TuTh 10-11:30 MD 319

Sections: TBA (if we have a TF)

Course email address (use for all questions): cs221@seas.harvard.edu

Course website: http://www.courses.fas.harvard.edu/5812

The material in this course can be of interest to a wide range of graduate students and advanced undergraduates, ranging from those who plan to do research in the theory of computation, to those working in other areas of computer science and mathematics, to those interested in computational aspects of other fields such as economics and physics.

Definite topics (Arora-Barak Chs 1-7, plus some of Chs 8,11)

- Resources for computation (time, space, nondeterminism, randomness) and their associated complexity classes.
- Relationships among resources (P vs. NP and more)
- Reductions & completeness
- Provably intractable problems: hierarchy thms, EXPSPACE-completeness
- Space complexity: PSPACE, L, NL
- Randomized computation: RP, BPP
- Alternation: the polynomial hierarchy (PH), time-space tradeoffs for SAT
- Relativization (why diagonalization can't resolve P vs NP)
- Basic circuit complexity (P/poly, NC)
- Interactive proofs (AM, MA, IP)
- Probabilistically checkable proofs (PCP) and nonapproximability

Possible topics (material from Arora-Barak Chs 8,13,14,16,17,19):

- Proofs of IP=PSPACE, PCP Thm(s)
- Unique Games Conjecture
- Parity not in AC^0
- Average-case complexity
- Counting: #P, Toda's Thm, approximate counting
- Communication complexity and applications
- Algebraic complexity: VNP, VP, Permanent vs. Determinant
- Quantum computation: BQP, Shor's Factoring algorithm

This year, we are going to use a new, interactive format for the course, which I have previously used in cs225 (spring `11), cs229r (spring `13), cs127 (fall `13). Instead of me walking through all of the material in standard lecture format, you will be expected to *read and comment on the relevant material prior to lecture. *(We will use the online forum NB for posting your comments.) Then the class time will be much more interactive, where you all will bring out the key concepts, ideas, and intuition, as well as work through the difficult technical material together (with my guidance,of course). This will demand more of you, but the hope is that you will come away with a much deeper understanding of the material.

By the end of the course, I hope that you will all be able to:

- Extract both the high-level ideas and low-level details when reading a text and identify interesting questions that are not answered,
- Explain and collaboratively work through an advanced subject with your peers,
- Understand the state of the art in computational complexity as needed to read the literature, apply it to other topics, and/or engage in complexity research.

The most important topics that we will be assuming from CS 121 is comfort with Turing machines, computability, asymptotic running time, and NP-completeness. General mathematical maturity, e.g. comfort with proofs, basic discrete probability, & combinatorics, will also be assumed.

- Reading and commenting on the material before lecture.
- Class participation.
- Biweekly problem sets. Your solutions must be typed and submitted electronically.
- Contributing to peer grading and scribing as needed.
- Take-home final exam. (Small chance that this will be switched this to an essay+presentation.)

The problem sets will be challenging, so be sure to start them early. You are encouraged to discuss the course material and the homework problems with each other in small groups (2-3 people), as long as you list all discussion partners on your problem set. Discussion of homework problems may include brainstorming and verbally walking through possible solutions, but should not include one person telling the others how to solve the problem. In addition, each person must write up their solutions independently. You may not look at another student's written solutions.

- The authors' webpage for the book (including errata, and earlier drafts).
- Cambridge University Press (e-book version available)
- Amazon (Kindle version available)

- Computer Science 121: Introduction to Formal Systems and Computation. The prerequisite. We will pick up where CS 121 left off.
- MIT 18.404/6.840 Introduction to the Theory of Computation and MIT 18.405J/6.841J: Advanced Complexity Theory. There is a substantial overlap with both of those courses. We will cover approx. the last third of 18.404 and about half of the material from 18.405.
- Computer Science 225: Pseudorandomness. (Spring `11, possibly Spring `15) Much of that course can be considered as part of computational complexity, but there will be very little overlap. In this course, we will prove several results that are assumed without proof in CS225, and avoid spending much time on topics that are covered in CS225. CS221 is excellent preparation for CS225.
- Computer Science 228: Computational Learning Theory (this term, TuTh 2:30-4) This course puts a computational complexity lens on machine learning. While it connects to some topics in cs221, there is very little overlap between the two courses.

This course is generally offered every other year. Information from previous times I taught it, including Q evaluations, is available at http://seas.harvard.edu/~salil/cs221