Topics in Complexity and Pseudorandomness

(Official title: Combinatorial Methods in Complexity Theory)

Spring 2017



Course Info

Instructor: Swastik Kopparty (

Class Time and Place: Tuesday 10:20am – 1:20pm, in BRR 5113 (ON LIVINGSTON CAMPUS).

Office Hours:  Monday 12-1 (Hill 432)

Prerequisites: basics of complexity and algorithms, probability, algebra, mathematical maturity.





This course will discuss an assortment of important results and techniques in complexity theory from the past few decades.

Specific topics include:

·       randomness and derandomization

·       hardness vs. randomness

·       interactive proofs and the PCP theorem

·       expander graphs

·       low-degree polynomials


There will be some assigned problems. Students will have to scribe lectures.


For scribes: definitions, sample, guidelines.



Lecture Schedule

·       January 17: BPP, average case complexity (notes)

·       January 24: minimax theorem, Impagliazzo hard core lemma (notes)

·       January 31: polynomial codes, hardness amplification (notes)

·       February 7: Goldreich-Levin, Berlekamp-Welch (notes)

·       February 14: local decoding, list-decoding (notes)

·       February 21: local list-decoding, baby hardness vs randomness  (notes)

·       February 28: hardness vs randomness, Nisan-Wigderson, interactive proof for the permanent (notes)

·       March 7: average case complexity of the permanent, linearity testing

·       March 14: NO CLASS (Spring break)

·       March 21: NO CLASS (makeup class to be scheduled)

·       March 28: MIP = NEXP (notes)

·       April 4: low degree testing (notes)

·       April 11: PCPs, CSPs, PCPPs

·       April 18: long code test, robust PCPPs, composition

·       April 25: Toda’s theorem