This page summarizes the lectures and mentions the suggested reading assignments. This summary is quite brief, and its intention is to help the student and instructor recollect what was covered.

## Week 1

• Meeting 1: We introduce Turing Machines as a formal model for algorithms. We motivate the need for such a model by the type of questions we want to address in this course. We described in full detail Turing Machines for two problems -- (a) to determine if a given string of 0's and 1's has a 1 or not, and (b) to determine if a given string of 0's and 1's is a palindrome. The material in this meeting was mostly from Section 1.2 of the text.
• Meeting 2: Turing Machines compute functions. Running Time. The impact of restricting the alphabet -- Claim 1.5 of the text.
• Reading for the week: Section 1.2 and 1.3 of the text.

## Week 2

• Meeting 1: The impact of the number of tapes: Claim 1.6. Encoding TM's as 0-1 strings, from Section 1.4. Brief mention of the universal Turing Machine.
• Meeting 2: The Universal TM from Section 1.5, and the proof that UC is uncomputable (Theorem 1.10).
• Reading: Section 1.4 and 1.5.

## Week 3

• Meeting 1: Halt is uncomputable (Theorem 1.11). Languages, undecidability, and the undecidability of the language Hello-World. This is not from the text; see these notes.
• Meeting 2: Undecidability of Accepts-all-Strings (see notes above).
• Reading: My notes, and Section 1.6.

## Week 4

• Meeting 1: The class P of languages decidable in polynomial time. (Section 1.6). The equation efficient computation = polynomial running time, and criticisms of the idea.
• Meeting 2: Introduction to NP from Section 2.1. Notes on some example problems in `content' within ICON.
• Reading: Sections 1.6 and 2.1.

## Week 5

• Meeting 1: More on NP, from Section 2.1. P is contained in NP, which is contained in EXP.
• Meeting 2: Nondeterministic Turing machines. The examples reviewed in class are here.

## Week 6

• Meeting 1: Graph Isomorphism is in NP. P vs NP -- the big question. Towards NP-completeness via poly-time reducibility. The material is from Section 2.2.
• Meeting 2: NP-completeness of TMSAT (Section 2.2).

## Week 7

• Meeting 1: No meeting.
• Meeting 2: Cook-Levin Theorem, Theorem 2.10 of the text. See Notes within `Content' of ICON. This proof is different from the book's, which uses oblivious TMs.

## Week 8

• Meeting 1: Completing Proof of Cook-Levin Theorem. Properties of the Reduction. Proving Other Problems NP-complete. See notes within `Content' of ICON.
• Meeting 2: Decision vs Search. The class coNP. See notes in ICON.

## Week 9

• Meeting 1: coNP, complete problems for coNP -- the complement of CNF-SAT, and Tautology. Is NP = coNP? The class (NP intersect coNP). See notes in ICON.
• Meeting 2: The Time Hierarchy theorem from Section 3.1; for clarity, we proved a simpler version in class. Introduction to Space Complexity from Chapter 4.

## Week 10

• Meeting 1: Relation between space complexity and time complexity classes (Section 4.1.1). See notes on ICON.
• Meeting 2: Midterm

## Week 11

• Meeting 1: Quantified Boolean Formulae. The Language TQBF. This is introduced in Section 4.2 of the book, but we covered this material in much greater detail. See notes on ICON.
• Meeting 2: TQBF is in PSPACE. Beginning of the proof that TQBF is PSPACE-hard.

## Week 12

• Meeting 1: TQBF is PSPACE-hard.
• Meeting 2: Savitch's Theorem. The QBF game. A glimpse of the generalized geography game.
• Note: The material is from Section 4.2. See our notes on ICON as well. The generalized geography game is described in a handout on ICON, and is not covered in the text.

## Week 13

• Meeting 1: Boolean Circuits, Circuit Families and their size, Languages decided by circuit families.
• Meeting 2: The languages decided by polynomial sized circuit families, and the relationship of this class with P. The language circuit satisfiability.
• All material is from Section 6.1. See our notes on ICON as well.

## Week 14

• Meeting 1: Some examples of randomized algorithms. See notes on ICON.
• Meeting 2: The classes BPP, RP, coRP and ZPP

## Week 15

• Meeting 1: ZPP = RP intersect coRP. Review for the final.
• Meeting 2: BPP is contained in P/poly. See notes on ICON.