Lecture Notes

These are preliminary notes. It is likely that they have mistakes, or at least typos. Please let me know of any you find.

  • First Lecture Sept 25. What the course is about.
  • Second Lecture Sept. 27. DFA
  • Third Lecture Sept 29. More DFA. Product construction. NFA.
  • Sixth Lecture Oct.6. NFA (nondeterministic finite automata) accept exactly the regular languages. (Fourth lecture cancelled, fifth problem solving.)
  • Seventh Lecture Oct. 9. Patterns and Regular Expressions. Regular Expressions denote regular languages.
  • Eighth Lecture Oct. 11. Languages accepted by finite automata are described by regular expressions. (Two proofs)
  • Ninth Lecture Oct. 13. Homomorphisms.
  • Tenth Lecture Oct. 16. How to prove languages NOT to be regular.
  • Eleventh Lecture Oct. 18. Minimizing dfa.
  • Twelfth LectureOct. 20. Nerode-Myhill Theorem.
  • Thirteenth Lecture (Lance Fortnow) Oct. 23. Context-free grammars and Languages. [Chapters 19 and 20 of Kozen--no lecture notes]
  • Fourteenth Lecture Oct. 25. Normal Forms. Friday Oct. 27 Midterm Exam on Finite Automata.
  • Fifteenth Lecture Oct. 30. Pushdown Automata.
  • Sixteenth Lecture Nov. 1st. pdas and cfls.
  • Seventeenth Lecture Nov. 3. The pumping lemma for cfls.
  • Eighteenth Lecture Nov. 6. DPDAs.
  • Nineteenth Lecture Nov 8. The CYK dynamic programming algorithm for parsing.
  • Twentieth Lecture Nov. 10. Linear time parsing and compilers for programming languages.
  • Twenty-First Lecture Nov. 13. Turing Machines.
  • Twenty-Second Lecture Nov. 15. Turing Machines: why they are a GREAT IDEA. Universal Turing Machine.
  • Twenty-Third Lecture Nov. 17. The Halting Problem is Undecidable.

  • Chapters Covered

    While we will not be following exactly the Kozen text, the list below is a rough guide of what we covered so far.

  • Introduction: chapters 1 and 2
  • Finite Automata and Regular Sets
    Chapters 3-16
    We saw Supplementary Lecture A, but you are not responsible for knowing it.
  • Context-Free Languages and pda:
    Chapters 19-27, Supplementary Lectures E and F.
  • Turing Machines and Computability:
    Chapters 28-31.