Date | Reading | Topic | Assignment |

Aug 20 | Syllabus | Syllabus, policies, business | Read the Syllabus |

Aug 22 | pp. 1-25 | Intro & basic concepts | hw1: 0.1-0.9 |

Aug 27 | pp. 31-43 | Finite automata | hw2: 1.3, 1.6 |

Aug 29 | pp. 47-54 | Nondeterminism | hw3: 1.7 (see footnote a) |

Sep 3 | pp. 54-63 | Equivalence of DFAs and NFAs | hw4: 1.8-1.10, 1.16 |

Sep 5 | pp. 63-69 | Regular expressions | hw5: 1.18, 1.20 Service-learning proposal |

Sep 10 | pp. 69-76 | Kleene's theorem | hw6: 1.19, 1.21 |

Sep 12 | pp. 77-83 | Nonregular languages | hw7: 1.29-1.30, 1.53 |

Sep 17 | pp. 101-107 | Context free grammars | hw8: 2.3-2.4 |

Sep 19 | pp. 107-111 | Ambiguity and normal form | hw9: 2.1, 2.8, 2.14, 2.27 |

Sep 24 | pp. 111-116 | Pushdown automata | hw10: 2.5 (see footnote b) |

Sep 26 | pp. 117-124 | Equivalence of CFGs and PDAs | hw11: 2.11, 2.26 |

Oct 1 | pp. 125-129 | Non-context free languages | hw12: 2.22, 2.30 |

Oct 3 | Review | ||

Oct 8 | Midterm | ||

Oct 10 | pp. 165-175 | Turing machines (Lecture online - No Class) | hw13: 3.1-3.2, 3.5, 3.7 |

Oct 15 | pp. 176-182 | Variations on Turing machines | hw14: 3.8 (see footnote c), 3.10-3.11 |

Oct 17 | pp. 182-187 | Algorithms | hw15: 3.15, 3.16a-d, 3.22 (see footnote d) |

Oct 22 | pp. 193-200 | Decidable languages | hw16: 4.1-4.4, 4.10 |

Oct 24 | pp. 201-207 | Undecidability | hw17: 4.6-4.8, 4.12 |

Oct 29 | pp. 207-210 | Undecidable and unrecognizable languages | hw18: 4.5, 4.24, 4.30 |

Oct 31 | pp. 215-220 | Reducibility and the Halting Problem | hw19: 5.1, 5.24 |

Nov 5 | pp. 220-226 | Linear-bounded TMs and More Reducibility | hw20: 5.30 (see footnote e), plus invent an undecidable language and prove by reduction that it is undecidable |

Nov 7 | pp. 234-238 | Mapping [many-one] reducibility | hw21: 5.4, 5.9 |

Nov 12 | pp. 275-284 | Big O analysis | hw22: 7.1-7.2, 7.28 (see footnote f) |

Nov 14 | pp. 284-291 | The class P | hw23: 7.3-7.4, 7.8-7.9 |

Nov 19 | pp. 292-298 | The class NP | hw24: 7.5, 7.12 |

Nov 21 | pp. 299-311 | The class NP-complete & Cook-Levin Theorem | hw25: 7.18, 7.21 (see footnote g), 7.38, 7.41 |

Nov 26 | FALL RECESS | ||

Nov 28 | FALL RECESS | ||

Dec 3 | pp. 311-322 | More NP-complete problems | hw26: 7.29 Service-learning final report |

Dec 5 | Review | ||

Dec 12 | Final Exam @ 7:30am |

The schedule is subject to change. The final is Thursday, Dec 12, 7:30-9:30 a.m. in our normal classroom.

- For parts e and f, if you are not yet familiar with regular expressions, the '*' superscript means "0 or more copies of" and the '+' superscript means "1 or more copies of".
- Just state diagrams will be sufficient -- you do not need to give informal descriptions.
- See p. 185 for a definition of "implementation-level description".
- The first edition had a much better version of this problem (based on the existence of God).
- Do not appeal to Rice's Theorem (as does the answer in the book), rather prove these by reduction.
- Don't prove NP-Completeness. Instead, produce an algorithm to solve the problem and analyze its complexity.
- Recall from your reading that UHAMPATH is NP-Complete. Make sure you understand the definition of a simple path.

- 0.11 is a new problem
- the old 0.11 -> 0.12
- 4.5 is a new problem
- 4.5-4.7 -> 4.6-4.8
- 4.9 -> 4.10
- 4.11 -> 4.12
- 4.22 -> 4.24
- 4.28 -> 4.30
- 7.11 -> 7.12
- 7.17 -> 7.18
- 7.20 -> 7.21
- 7.26 -> 7.28
- 7.27 -> 7.29
- 7.36 -> 7.38
- 7.39 -> 7.41