Course:

Spring 2005
CS 547


Registrar Info:

E81  547T 01 Introduction to Formal Languages and Automata 
Loui TuTh 5:30PM- 7:00PM 


Description:

CSE 547T.  Introduction to Formal Languages and Automata 

(Formerly: CS 507T.  Introduction to Formal Languages and Automata) An
introduction to the mathematical theory of languages and grammars. Topics
include deterministic and nondeterministic finite state machines,
push-down automata, and Turing machines; regular, context-free,
context-sensitive and recursive languages; closure properties of
languages; the concepts of computability and undecidability.
Prerequisite: CSE 201.  Credits: 3 unit.


Texts:

None.  I recommend that you obtain a used classic (half.com or amazon.com)
such as Martin (which I will be following), Hopcroft-Ullman (the best to
own), Lewis-Papadimitriou (another classic), Moret (a very nice complement
to Martin), Sipser (a weak book), Flody-Beigel (beautiful material badly
typeset), or Savage (somewhat different).

You will be typesetting and reorganizing class material for the
evaluation component of this course.


Student Evaluation:

One final exam (25%), three formal reviews of course notes (emphasis on
mathematical authorship), dates TBA.


Format:

Twice weekly Lecture, occasional time yielded to informal review of course
notes.


Notes on Notes:

You will be re-developing the course material in your own notation in your
own order with your own choice of emphasis.  You don't have to rehash what
we did in class, nor even include everything we do in class.  Just so long
as you have the main ideas in your notes.  One could even skip all of my
lectures and just work directly from a textbook.  But I suspect none of
the textbooks is as precise as we will want to be.


Concepts:

Motivation.
Formal Specification.
Strings and operations on strings.
Sets and Countability.
Languages and Alphabets.
Regular Expressions.
Finite State Machines.
Minimality and Equivalence Classes.
Nondeterminism.
Pumping Lemma.
Counter Machines.
Push-Down Machines.
Grammars.
Turing Machines.
k-Tape Reduction.
2-way Reduction.
Nondeterminism Reduction.
Halting.
Decidability and Undecidability.
Separation of SA and NSA.
Existence of a Non-r.e. Language.
Primitive Recursive Functions (probably).
Decidable Classes of Predicate Logic (possibly).