Ben Reichardt, breic@cs, x38616, DC 2113 after class, or RAC 2113

TA: Jalaj Upadhyay, jkupadhy@cs, x33419, DC 3324, office hours Monday 10-11am & Wednesday 1-2pm

Announcements

(RSS feed)

1. Course info | |

2. Proof methodology | |

3. HW 1 | due 1/13 |

4. HW 1 solutions | |

5. HW 2 and examples.py | due 1/25 |

6. HW 2 solutions and NFAtoDFA.py | |

7. half(L) example | |

8. HW 3 | due 2/3 |

9. HW 3 solutions | |

10. HW 4 | due 2/17 |

11. HW 4 solutions | |

12. Bison/flex calculator example | |

13. Midterm | due 3/10 |

14. HW 5 | due 3/17 |

15. HW 5 solutions | |

16. HW 6 | due 3/31 |

17. HW 6 solutions | |

18. Sample final exam questions |

Lecture | Content | Reference |
---|---|---|

Lecture 1 (Jan. 4) | Introduction Alphabets, strings, languages Deterministic finite automata (DFAs) |
Ch. 1, 2.1-2.2, 8.1.1, Handout 1, XKCD |

Lecture 2 (Jan. 6) | Nondeterministic finite automata (NFAs) | Ch. 2.3.1 - 2.3.5, notes |

Lecture 3 (Jan. 13) | NFA to DFA conversion & overhead | notes, Ch. 2.3.5 - 2.3.6 |

Lecture 4 (Jan. 18) | epsilon-NFAs, Regular expressions | notes, Ch. 3 (3.1 and 3.2) |

Lecture 5 (Jan. 20) | Equiv. betwn. Regular expressions & NFAs | notes, Ch. 3.2.1-3.2.2 |

Lecture 6 (Jan. 25) | Closure properties of regular languages | Ch. 4.2-4.3, half(L) example |

Lecture 7 (Jan. 27) | Pumping Lemma | notes, Ch. 4.1 |

Lecture 8 (Feb. 1) | Review of regular languages, Context-free grammars | notes, Ch. 5 |

Lecture 9 (Feb. 3) | CFG ambiguity, Useless symbols, Chomsky normal form | notes, Ch. 5 |

Lecture 10 (Feb. 8) | Applications of CNF: Decision problems for CFGs, Pumping lemma for CFLs | notes, Ch. 7.4, 7.2 bison/flex calculator example, Senizergues paper (Deciding equality for DPDAs) |

Lecture 11 (Feb. 10) | Push-down automata, final-state & empty-stack acceptance | notes, Ch. 6.1, 6.2 |

Lecture 12 (Feb. 15) | CFG to PDA conversion | notes, Ch. 6.3 |

Lecture 13 (Feb. 17) | PDA to CFG conversion | notes, Ch. 6.3 |

Lecture 14 (March 1) | Turing machines | notes, Ch. 8.2-8.3 |

Lecture 15 (March 3) | Turing machine extensions | notes, Ch. 8.4, 8.5.1, 9.2.1 |

Lecture 16 (March 8) | Universal language is undecidable | notes, Ch. 9.1-9.2 |

Lecture 17 (March 10) | Reductions | notes, Ch. 9.3 |

Lecture 18 (March 15) | Reductions and decidability (continued) | |

Lecture 19 (March 17) | Time complexity, NP-complete | Ch. 10.1 |

Lecture 20 (March 22) | Cook-Levin Theorem: SAT is NP-complete | notes, Ch. 10.2 |

Lecture 21 (March 24) | Polynomial-time reductions: More NP-complete problems | notes, Ch. 10.4 |

Lecture 22 (March 29) | NP-complete problems, Time hierarchy theorem | notes, Ch. 10.4 |