1 | Introduction | |
2 | Logic, circuits, and gates | |
3 | Deterministic finite automata (DFAs) and nondeterministic finite automata (NFAs) | |
4 | NFAs and regular expressions | |
5 | Non-regular languages and the pumping lemma | Problem set 1 due |
6 | Turing machines | |
7 | Decidability | Problem set 2 due |
8 | Undecidable problems and Post correspondence problem (PCP) | |
9 | Mapping reducibility and Rice's theorem | |
10 | Self-reference and the recursion theorem | Problem set 3 due |
11 | Introduction to cryptography | |
12 | Complexity theory | Problem set 4 due |
| Midterm exam | |
13 | Pseudorandom generators and one-way functions | |
14 | Public-key cryptography | |
15 | More complexity theory | |
16 | More NP-completeness | Problem set 5 due |
17 | Probabilistic Turing machines and complexity classes | |
18 | Trapdoor one-way functions and zero-knowledge proofs | |
19 | Probably approximately correct (PAC) learning | |
20 | More PAC learning | Problem set 6 due |
21 | Introduction to quantum | |
22 | Quantum mechanics and BQP | |
23 | Quantum algorithms | |