Lecture 1: Introduction; Turing machines; decidablility and recognizability; examples; enumerators 

Lecture 2: Closure of decidable languages; Turing machine variants; Church-Turing thesis and robustness of Turing machine models. 

Lecture 3: Decidable languages from language theory; Halting problem and undecidability; reducibility (HALT_TM) 

Lecture 4: More undecidability (eg. ALL_TM); mapping reduction; Rice's theorem; Turing nonrecognizability 

Lecture 5: Computation histories; undecidability of ALL_CFG and COMMON_CFG; the Post Correspondence problem

 Lecture 6: Finish proof of PCP undecidability; Intro to complexity theory; Time complexity; relationship between variants (multitape/nondeterministic)

Lecture 7: The class P; Examples of problems in P (PATH, every CFL, RELPRIME); The class NP 

Lecture 8: Examples in NP; the P vs NP question; Satisfiability; NP-completeness; Statement of Cook-Levin theorem; Example of polytime mapping reduction (3SAT to CLIQUE) 

Lecture 9: Circuit complexity; CIRCUIT SAT is NP-complete; Proof of Cook-Levin theorem 

Lecture 10: Finish reduction from CIRCUIT SAT to 3SAT; Examples of NP-complete problems (HAMPATH; SUBSET SUM) 

Lecture 11: Space complexity; Savitch's theorem; the class PSPACE; Examples in PSPACE  (SAT, ALL_NFA) 

Lecture 12: PSPACE-completeness of TQBF; Relation to two person games; PSPACE-completeness of generalized geography. 

Lecture 13: Sublinear space computation; the classes L and NL; Examples in L and NL; logspace transducers and reductions; NL-completeness of PATH. 

Lecture 14: NL= coNL; Introduction to provable intractability and hierarchy theorems. 

Lecture 15: Space hierarchy theorem; Statement of time hierarchy theorem; Intractability of EQ_{REX-exponentiation}; Relativization 

Lecture 16: Oracle separating P and NP; Intro to probabilistic computation; definition of classes BPP, RP, coRP. 

Lecture 17: Amplification of error probability for RP, BPP; Polynomial identity testing; equivalence of read-once branching programs.

 Lecture 18: BPP is in Sigma_2; Intro to Interactive Proofs; The graph nonisomorphism interactive protocol

 Lecture 19: #SAT is in IP; Extension to IP protocol for TQBF (sketch of idea) 

Lecture 20: Advanced topic: hardness of approximation and very efficient probabilistic checking of NP proofs.