Lecture 1 (Day 1): Introduction
Recitation 1 (Day 2): Math Review
-
Reading: Chapter 0
-
Handout 2: Math Review (
PDF)
Lecture 2 (Day 3): Deterministic Finite Automata
Lecture 3 (Day 4): Nondeterministic Finite Automata
-
Nondeterministic FA & languages they accept
-
Equivalence of DFA and NFA
-
Reading: Section 1.2
-
Homework 1 due
-
Homework 2 out, due Day 7 at the beginning of class (
PDF)
-
In general homework covers material covered up to and including the lecture in which it is handed out
Recitation 2 (Day 5)
Lecture 4 (Day 6): Regular Expressions
Lecture 5 (Day 7): More Regular Expressions
-
Theorem 1.28, Lemma 1.32
-
Homework 2 due
-
Handout 3: Quiz practice problems (
PDF)
Recitation 3 (Day 8)
Lecture 6 (Day 9): End of Automata
-
Non-regular languages
-
Pumping Lemma
-
Reading: Section 1.4
Lecture 7 (Day 10): Quiz 1
Recitation 4 (Day 11)
Lecture 8 (Day 12): Turing Machines
Lecture 9 (Day 13): Non-determinism II
Recitation 5 (Day 14)
-
Turing Machines
-
Handout 9: Recitation Problems (
PDF)
Lecture 10 (Day 15): Undecidability
Lecture 11 (Day 16): Undecidability II
Recitation 6 (Day 17)
Lecture 12 (Day 18): Undecidability III
Lecture 13 (Day 19): Reductions
Recitation 7 (Day 20)
Lecture 14 (Day 21): End of Computabillity
Lecture 15 (Day 22): Quiz 2
Lecture 16 (Day 23): Complexity
Lecture 17 (Day 24): Nondeterministic Complexity
-
The Class NP; Examples
-
P vs. NP
-
Reading: Section 7.3
-
Homework 6 due
-
Homework 7 out, due Day 26 (
PDF)
Recitation 9 (Day 25)
Lecture 18 (Day 26): NP-Completeness
-
NP Completeness
-
Poly-time Reducibility
-
Reading: Section 7.4
-
Homework 7 due
-
Homework 8 out, due Day 29 (
PDF)
Recitation 10 (Day 27)
-
Reductions
-
Handout 14 given out as problems (
PDF)
Lecture 19 (Day 28): Cook-Levin Theorem
Lecture 20 (Day 29): NP-Completeness II
Recitation 11 (Day 30)
-
More on NP-completeness
-
Handout 16 given out as problems (
PDF)
Lecture 21 (Day 31): NP-Completeness III
Lecture 22 (Day 32): Quiz 3
-
-
Covers Lectures 16-21
-
Homework 9 out, due Day 35 (
PDF)
-
Quiz 3a, a make-up test not given out in class (
PDF)
Recitation 12 (Day 33)
Lecture 23 (Day 34): Randomness
Lecture 24 (Day 35): Randomness II
Recitation 13 (Day 36)
-
Probabilistic Algorithms
-
Handout 18 given out as problems (
PDF)
Lecture 25 (Day 37): Cryptography
Lecture 26 (Day 38): Cryptography II
Recitation 14 (Day 39)
Final Exam (Day 40)
-
Final exam: 3 hours, 7 problems (
PDF)