CSE 322
Introduction to Formal Models in Computer Science
Final exam preparation
Remember that the final exam is Tuesday, June 6 at 2:30-4:20 in our regular
classroom.
There will be a review session Monday, June 5 at ??? at a location to be
announced. Please bring your questions.
The final exam will cover the entire course
but particularly the following topics. There will be some emphasis on the CFL
material.
- Strings and languages and operations on them.
- Regular expressions and regular languages.
- Deterministic finite automata: Formal definition
as well as state diagrams.
- Nondeterministic finite automata: Formal definition
as well as state diagrams.
- Converting NFA's to DFA's: The Subset construction
- Every regular language is accepted by some finite automaton.
- Kleene's Theorem: Every language accepted by a finite automaton is
regular.
- Closure of regular languages under intersection and complement, as
well as union, concatenation and Kleene star.
- The Pumping Lemma for Regular Languages; Using it to prove languages
non-regular
- Myhill-Nerode theorem and its implications: Using it to prove that languages are not regular. The fact that there is a unique minimal DFA for any
regular language.
- Context-free grammars and languages: Formal definitions,
derivations and parse trees, ambiguity.
- Pushdown Automata: Formal definitions and acceptance
- Every CFL is accepted by some PDA: Construction of PDA from CFG.
- The fact that everything accepted by a PDA is a CFL.
- Closure properties of CFL's: Union, concatenation, Kleene star,
intersection with regular sets.
- Pumping Lemma for CFL's: Proofs that languages are not CFL's,
CFL's not closed under intersection or complement.
- Recognizing whether languages are regular, context-free or neither.
- The fact that membership in any CFL can be recognized in O(n3) time
(by the Cocke-Kasami-Younger algorithm).
- Diagonalization and countability.
- The fact that certain natural properties of programs, such as the halting
problem, are not decidable by any program.