Steam-powered Turing Machine University of Washington Computer Science & Engineering
 Syllabus for CSE322: Introduction to Formal Models in Computer Science
  CSE Home   About Us    Search    Contact Info 

CSE322: Introduction to Formal Models in Computer Science

Credits
3
Catalog description
Finite automata and regular expressions; context-free grammars and pushdown automata; nondeterminism; Turing machines and the halting problem. Emphasis on understanding models and their applications and on rigorous use of basic techniques of analysis. Induction proofs, simulation, diagonalization, and reduction arguments.
Prerequisites
CSE 321.
Textbook(s) and/or other required material
Michael Sipser, Introduction to the Theory of Computation, Second Edition. Thompson Course Technology, 2006
Course objectives
Teach students the basics of three formal models of computation: finite automata, context-free languages, and Turing machines with special emphasis on methods for manipulating and reasoning about them. Give students an idea of the value and applicability of the formal models. Give sufficient grounding in automata and formal languages to prepare for parsing in the compilers class. Languages, finite automata, regular expressions, context-free grammars, and other automata such as pushdown store machines and Turing machines. Introduction to proofs about computation models and theoretical concepts such as nondeterminism.
Topics covered
strings and languages: concatenation, powers, and reversal of strings regular languages: regular expressions finite automata DFAs NFAs cross product construction subset construction Kleene's theorem closure properties - union, concatenation, star, intersection, complement decision problems - emptiness, finiteness, equivalence nonregular languages optional: Myhill-Nerode Theorem minimization of DFAs pattern matching context-free languages: context-free grammars examples from real programming languages such as C++ derivation trees leftmost derivations ambiguous grammars closure properties - union, concatenation, star Chomsky normal form non-context-free languages non-closure properties: intersection, complement parsing methods top-down and bottom-up parsing efficient deterministic parsing (Cocke-Kasami-Younger algorithm) pushdown automata equivalence of PDAs and context-free grammars deterministic PDAs optional: decision problems inherently ambiguous context-free grammars Turing machines and undecidability: countability and uncountability (Cantor's proof) universal Turing machine halting problem is undecidable
Course structure
3 lecture hours per week. Weekly written assignments. Midterm and final exam.
ABET Outcomes Assessed
(m) knowledge of discrete mathematics
Additional ABET Outcomes Covered
(a) an ability to apply knowledge of mathematics, science, and engineering
(c) an ability to design a computing system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability
(e) an ability to identify, formulate, and solve computer engineering problems
Last edited by
beame
Last modified
06:25pm 24 May 2007


CSE logo Computer Science & Engineering
University of Washington
Box 352350
Seattle, WA  98195-2350
(206) 543-1695 voice, (206) 543-2969 FAX
[comments to webmaint]