This course offers a graduate introduction to probabilistically checkable and interactive proof systems. Such proof systems play a central role in complexity theory and in cryptography. Their formulation and construction is arguably one of the leading conceptual and technical achievements in theoretical computer science. Results typically draw on techniques from coding theory, property testing, and graph theory.
Topics covered include:
Emphasis is on getting students up to speed for research in the area; lectures will often contain open problems or suggestions for future research.
The Piazza website is here.
This course requires knowledge of basic algorithms (CS 170) and complexity (CS 172).
Completing the course requires regular attendance/participation, completing occasional homework, scribing (once or twice), and a research project.
Grading will be based 20% on attendance/participation/homework; 40% on the scribe notes; and 40% on the research project.
This course has no required textbook. We give specific references for each lecture. In addition, the following online resources could be helpful:
TBA
#  Date  Topic  Reading 

1  2019.01.22  Interactive Proofs 1

Formulation of interactive proofs:
Video:

2  2019.01.24  Interactive Proofs 2

The sumcheck protocol: 
3  2019.01.29  Interactive Proofs 3

Shamir's protocol: Additional: 
4  2019.01.31  Interactive Proofs 4

GoldwasserSipser transformation:
Additional:

5  2019.02.05  Interactive Proofs 5

The results presented in class: Additional results: 
6  2019.02.07  Interactive Proofs 6

The result presented in class: A survey: Additional on implementations of GKR's protocol:
Additional on doublyefficient interactive proofs: 
7  2019.02.12  Interactive Proofs 7

On zero knowledge:
Video:

8  2019.02.14  Basic Probabilistic Checking 1

Video: New York Times article about the PCP Theorem: 
9  2019.02.19  Basic Probabilistic Checking 2

The exponentialsize constantquery PCP is the inner PCP in this paper: 
10  2019.02.21  Basic Probabilistic Checking 3

Main: Additional:
Video: 
11  2019.02.26  Basic Probabilistic Checking 4

Main: 
12  2019.02.28  Basic Probabilistic Checking 5

Main: Additional: 
13  2019.03.05  PCPs with Sublinear Verification 1

Main: 
14  2019.03.07  PCPs with Sublinear Verification 2

Main: 
15  2019.03.12  Hardness of Approximation 1

Main:
Video: 
16  2019.03.14  Hardness of Approximation 2

Main: 
17  2019.03.19  Reducing Query Complexity 1

Main:
Additional on selfcorrection: 
18  2019.03.21  Reducing Query Complexity 2

Robustization: Additional on O(1)query tests: 
X  2019.03.26  No class (spring break). 

X  2019.03.28  No class (spring break). 

19  2019.04.02  Reducing Query Complexity 3

Main: 
20  2019.04.04  Parallel Repetition 1

Counterexamples:
Additional on parallel repetition Towards the sliding scale conjecture: 
21  2019.04.09  Parallel Repetition 2
Short PCPs

Main on parallel repetition: Additional on explicit bounds for Furstenberg–Katznelson: 
22  2019.04.11  Interactive Oracle Proofs 1

IOP model and its compilation into noninteractive arguments: 
23  2019.04.16  Interactive Oracle Proofs 2

IOPs for CSAT(𝔽_{2}): IOPs for CSAT(𝔽): 
24  2019.04.18  Interactive Oracle Proofs 3

IOPs for CSAT(𝔽): FRI protocol: 
25  2019.04.23  Interactive Oracle Proofs 4

FRI protocol: Additional reading: 
26  2019.04.25  Class Project Presentations 1 

27  2019.04.30  Class Project Presentations 2 

28  2019.05.02  Class Project Presentations 3 

X  2019.05.07  No class. 

X  2019.05.09  No class. 