Paul Beame
TA: Jong Hee Kang
Preconditions and Postconditions for CSE 322 CSE 322: Introduction to Formal Models in Computer Science Purpose: Languages, finite automata, regular expressions, context-free grammars, and other automata such as pushdown store machines and Turing machines. Introduction to proofs and theoretical concepts such as nondeterminism. Precondition Concepts: discrete structures basic set theory relations graphs recursive definitions proof techniques programming languages simple parsing ideas syntax of programs Precondition Abilities: read and understand elementary mathematical proofs design simple proofs design recursive defintions Precondition Skills: write mathematical expressions use algebra with facility Postcondition Concepts: strings and Languages concatenation, powers, and reversal of strings operations on languages, union, concatenation and star regular languages regular expressions countability of the regular languages countability and uncountability, (Cantor's proof) context-free grammars examples from real programming languages such as C++ derivation trees leftmost and rightmost derivations ambiguous grammars inherently ambiguous context-free grammars non-context-free languages w/o proof closure Properties - union, concatenation, star decision problems - emptiness, finiteness, equivalence parsing methods top-down and bottom-up parsing deterministic and non-deterministic parsing finite automata DFA's NFA's equivalence of NFA's and regular grammars subset construction Kleene's theorem closure properties - emptiness, finiteness, equivalence decision problems cross product construction nonregular languages pushdown automata deterministic PDA's top-down and bottom-up constructions PDA's from context-free grammars relationship between ambiguity in grammars and nondeterminism in PDA's Turing machines universal Turing machine halting problem is undecidable Postcondition Abilities: design a regular expression, finite automaton, or context-free grammar for a given language parse strings given a context-free grammar prove simple facts about regular expressions, finite automata, and context-free grammars identify undecidable problems related to programming Postcondition Skills: better write mathematical expressions better prove simple facts
(Last Update: )