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.
The official prerequisite is CS 170 (or equivalent). All students with "mathematical maturity" (ease with proofs, algorithms, elementary number theory, and discrete probability) and curiosity about proof systems are welcome.
Completing the course requires regular attendance/participation, scribing (once or twice), and a research project. Grading will be based 30% on attendance/participation, and 30% on the scribe notes, and 40% on the research project. Occasionally simple assignments may be handed out.
Note: please use this TeX file for scribing.
This course has no required textbook, but much of the material covered in class can be found online; we give specific references for each lecture. In addition, the following online resources could be helpful:
None.
#  Date  Topic  Reading 

1  2017.01.19  Introduction (scribe notes by Pratyush Mishra)

Lecture notes: Formulation of interactive proofs:
The sumcheck protocol: Additional: 
2  2017.01.24  Interactive Proofs 1 (scribe notes by Mariel Supina)

Lecture notes: Shamir's protocol: Additional: 
3  2017.01.26  Interactive Proofs 2 (scribe notes by Bryan O'Gorman)

Lecture notes: GoldwasserSipser transformation:
Additional:

4  2017.01.31  Interactive Proofs 3 (scribe notes by Peter Manohar)

Main: Additional: 
5  2017.02.02  Interactive Proofs 4 (scribe notes by Lynn Chua)

Main: Additional on doublyefficient interactive proofs: 
6  2017.02.07  Interactive Proofs 5 (scribe notes by Patrick Lutz)

Main: Additional on doublyefficient interactive proofs: Additional on interactive proofs of proximity: Additional on implementations of GKR's protocol:

7  2017.02.09  Interactive Proofs 6

Main:
Additional:
Videos:

8  2017.02.14  Basic Probabilistic Checking 1

Lecture notes: Additional:
New York Times article about the PCP Theorem: 
9  2017.02.16  Basic Probabilistic Checking 2

Lecture notes: Main: Additional:
New York Times article about ZCash, which uses linear PCPs as part of socalled zkSNARKs: 
10  2017.02.21  Basic Probabilistic Checking 3

Lecture notes: Main:
Additional: 
11  2017.02.23  Basic Probabilistic Checking 4

Lecture notes:
Additional: 
12  2017.02.28  Basic Probabilistic Checking 5

Lecture notes: Main:
Additional: 
13  2017.03.02  Basic Probabilistic Checking 6

Lecture notes: Main:
Additional: 
14  2017.03.07  Reducing Query Complexity 1

Lecture notes: Main: Additional: 
15  2017.03.09  Reducing Query Complexity 2

Same as last lecture. 
16  2017.03.14  Reducing Query Complexity 3

Main: Additional: 
17  2017.03.16  Reducing Query Complexity 4

Lecture notes: Main: Additional: 
18  2017.03.21  Reducing Query Complexity 5

Main: Additional: 
19  2017.03.23  Reducing Proof Length 1

Main: Additional: 
X  2017.03.28  No class (spring break). 

X  2017.03.30  No class (spring break). 

20  2017.04.04  Reducing Proof Length 2

Main: Additional: 
21  2017.04.06  Reducing Proof Length 3

Lecture notes: Main: Additional: 
22  2017.04.11  Reducing Proof Length 4

Lecture notes: Main:
Additional: 
23  2017.04.13  Reducing Proof Length 5

Main: Additional: 
24  2017.04.18  Cryptographic Compilers 1

Main:
Additional: 
25  2017.04.20  Cryptographic Compilers 2

Main: Additional: 
26  2017.04.25  Class project presentations. 
TBA 
27  2017.04.27  Class project presentations. 
TBA 
X  2017.05.02  No class. 

X  2017.05.04  No class. 