CIS 570: Introduction to Formal Language Theory
Prerequisite Topics
- Trees, algorithms and recursion
- Functional programming
- Basic concepts of set theory
- Reading and writing formal mathematical proofs (of the sort
studied in a course on formal logic)
- Reading and writing informal mathematical proofs (as found in
typical mathematics books)
- Mathematical induction
High-level Goals
- To teach students the basic concepts and techniques of formal
language theory
- To further develop students' competence at reading and writing
mathematical proofs
Knowledge and Skills Acquired: Mastery
- Basic set theory
- Induction principles for the natural numbers
- Trees and inductive definitions
- Symbols, strings, alphabets and (formal) languages
- String induction principles
- Regular expressions and languages
- Simplification of regular expressions
- Finite automata and labeled paths
- Isomorphism of finite automata
- Algorithms for checking acceptance of strings by finite automata,
and for finding accepting paths for strings in finite automata
- Simplification of finite automata
- Proving the correctness of finite automata
- Empty-string, nondeterministic and deterministic finite automata
- Closure properties of regular languages
- Equivalence-testing and minimization of deterministic finite
automata
- The pumping lemma for regular languages
- (Context-free) Grammars, parse trees and context-free languages
- Proving the correctness of grammars
- Simplification of grammars
- Experimenting with regular expressions, finite automata and
grammars using the Forlan toolset
Knowledge and Skills Acquired: Familiarity
- Applications of finite automata and regular expressions
- Isomorphism of grammars
- A parsing algorithm
- Ambiguity of grammars
- Closure properties of context-free languages
- Converting regular expressions and finite automata to grammars
- Chomsky Normal Form of grammars
- The pumping lemma for context-free languages
- Basic results on recursive and recursively enumerable languages
and the undecidability of the halting problem
|
|
Department of Computing and Information Sciences - Kansas State University
Address: 234 Nichols Hall, Manhattan, KS 66506
Phone: (785)532-6350; Fax: (785)532-7353; Mailto: webmaster@cis.ksu.edu
|
|