Schedule for CSE 396 Introduction to the Theory of Computation (Spring 2025)

Back to course page

[Status: Draft; Subject to change]

For the abbreviation of recommend readings, see the Textbook section in the course page.

Date Topic Reading HW Release
(12:00 EST time)
HW Deadline
(23:59 EST time)
Thu 01/23 Course Overview [Barak] Chap 0;
[slides];
Lens of Computation on the Sciences
Tue 01/28 Defining computation: Representing objects and Boolean circuits [Barak] Chap 2 and Chap 3;
[slides]
Thu 01/30 Completeness: computing every function [Barak] Chap 4;
[slides]
HW1
Tue 02/04 Code as data, and limitations. [Barak] Chap 4 and Chap 5;
[slides]
Thu 02/06 Finite automata. [Barak] Chap 6; [Sipser] Chapter;
[slides]
Tue 02/11 Turing machines [slides]
[Barak] Chap 7;
Turing's original paper
HW2 HW1 Due
Thu 02/13 Equivalent models, RAM models [slides];
[Barak] Chap 8;
An expository of lambda calculus and its deep link with mathematical proof: Proposition as Types
Tue 02/18 Uncomputability. [slides];
[Barak] Chap 9;
[MM] Chap 7
Thu 02/20 More uncomputability; Rice's Theorem [slides];
[Barak] Chap 9; [Sipser] Chap 4.2
HW3 HW2 Due (extended to 02/21, 23:59)
Tue 02/25 Godel's incompleteness [slides];
[Barak] Chap 11;
[Anil Ada] Computational Lens on Godel's Incompleteness Theorems: Part 1, Part 2;
An interesting proof of the 2nd Incompleteness Theorem via Kolmogrov Complexity;
A nice talk by Terry Tao on machine-assisted proof.
Thu 02/27 Midterm Review I [slides]
Tue 03/04 Midterm I
Thu 03/06 Efficient computation and P [slides];
[Barak] Chap 12 and Chap 13.1; [Sipser] Chap 7.1-7.2;
[Aaronson] Why Philosophers Should Care About Computational Complexity, section 2 and 3
Two interesting essays on the chasm between polynomial and exponential-time problems, by Barak, and Gamarnik
HW4 HW3 Due
Tue 03/11 P, EXP, and the Time hierarchy [slides];
[Barak] Chap 13
Thu 03/13 P/poly [slides];
[Barak] Chap 13; [Sipser] Chap 7.4
HW5 HW4 Due
Tue 03/18 Spring break: No class
Thu 03/20 Spring break: No class
Tue 03/25 Polynomial-time reductions [slides];
[Barak] Chap 14; [Sipser] Chap 7.4
Thu 03/27 NP and Cook-Levin Theorem [slides];
[Barak] Chap 15; [Sipser] Chap 7.4
HW6 HW5 Due
Tue 04/01 More reductions [slides];
[Barak] Chap 15
[Aaronson] Why Philosophers Should Care About Computational Complexity, section 6
Thu 04/03 What if P = NP ? [slides];
[Barak] Chap 16
[Aaronson] NP-Complete Problems and Physical Reality
[Aaronson] P?=NP
[Aaronson] Why Philosophers Should Care About Computational Complexity, section 10.
[R. Williams] Some Estimated Likelihood for Computational Complexity
[V. Williams]On some fine-grained questions in algorithms and complexity. Very readable, highly recommend.
Tue 04/08 Midterm Review II [slides]
Thu 04/10 Midterm II HW6 Due (04/14)
Tue 04/15 Probabilistic computation: Probability basics, Randomized approx algorithm for MAX-CUT. [slides];
[Barak] Chap 18 and Chap 19; [Sipser] Chap 10.2
HW7
Thu 04/17 Probabilistic computation: BPP, Derandomization [slides];
[Barak] Chap 20
Tue 04/22 Cryptography I: One-way function, Computational Indistinguishability, Pseudorandomness. [slides];
[Barak] Chap 21; [Sipser] Chap 10.6
Thu 04/24 Cryptography II: Symmetric-Key Encryption, Public-Key Encryption, Zero-Knowledge Proofs. [slides];
[Barak] Chap 21
[Aaronson] Why Philosophers Should Care About Computational Complexity, section 9
HW8 HW7 Due
Tue 04/29 Quantum computation I: Basics; Quantum Circuits; BQP. [slides];
[Barak] Chap 22
[Aaronson] Are Quantum States Exponentially Long Vectors?
[Aaronson] Why Philosophers Should Care About Computational Complexity, section 8
Thu 05/01 Quantum computation II: Grover's Algorithm, Shor's Algorithm [slides];
[Barak] Chap 22
Tue 05/06 Final Review [slides] HW8 Due
Fri 05/09 Final Exam Time: Fri 05/09, 19:15 - 22:15. Location: NSC 201,