Syllabus

Lecture Date Topic
Lecture 1, Monday, Aug. 23 Strings, languages and regular expressions
Lecture 2, Wednesday, Aug. 25 Finite-state automata
Lecture 3, Friday, Aug. 27 Examples of DFA's; regular operations
Lecture 4, Monday, Aug. 30 Nondeterministic finite-state automata
Lecture 5, Wednesday, Sept. 1 Equivalence of DFA's and NFA's
Lecture 6, Friday, Sept. 3 Closure of regular operations
Lecture 7, Wednesday, Sept. 8 Regular expressions and finite-state automata  
Lecture 8, Friday, Sept. 10 Pumping lemma
Lecture 9, Monday, Sept. 13 Context-free grammars
Lecture 10, Wednesday, Sept. 15   Chomsky normal form
Lecture 11, Friday, Sept. 17 Pushdown automata
Lecture 12, Monday, Sept. 20 Context-free languages and PDA's
Lecture 13, Wednesday, Sept. 22 Pumping lemma
Lecture 14, Friday, Sept. 24 Turing machines
Lecture 15, Monday, Sept. 27 Variants of Turing machines
Lecture 16, Wednesday, Sept. 29 Nondeterministic Turing machines
Lecture 17, Friday, Oct. 1 Decidable languages
Lecture 18, Monday, Oct. 4 Diagonalization and the halting problem
Lecture 19, Wednesday, Oct. 6 Reducibility and more undecidable problems
Lecture 20, Friday, Oct. 8 The Post correspondence problem
Lecture 21, Monday, Oct. 11 Mapping reducibility
Wednesday, Oct. 13 Review
Friday, Oct. 15 MIDTERM
Lecture 22, Monday, Oct. 18 Measuring complexity
Lecture 23, Wednesday, Oct. 20 The class P
Lecture 24, Friday, Oct. 22 Examples of problems in P
Lecture 25, Monday, Oct. 25 The class NP
Lecture 26, Wednesday, Oct. 27 Examples of problems in NP
Lecture 27, Friday, Oct. 29 NP-completeness
Lecture 28, Monday, Nov. 1 The Cook-Levin theorem
Lecture 29, Wednesday, Nov. 3 Additional NP-complete problems
Lecture 30, Friday, Nov. 5 Additional NP-complete problems
Lecture 31, Monday, Nov. 8 Savitch's theorem
Lecture 32, Wednesday, Nov. 10 The class PSPACE
Lecture 33, Friday, Nov. 12 Circuit complexity
Lecture 34, Monday, Nov. 15 The classes BPP and RP
Lecture 35, Wednesday, Nov. 17 Primality
Lecture 36, Friday, Nov. 19 Read-once branching programs
Lecture 37, Monday, Nov. 22 Interactive proof systems I
Lecture 38, Wednesday, Nov. 24 Interactive proof systems II
Lecture 39, Monday, Nov. 29 Interactive proof systems III
Lecture 40, Wednesday, Dec. 1 Cryptography
Friday, Dec. 3 Review