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  

Course Info

Learning Resource Types

assignment Problem Sets
notes Lecture Notes