
CS 150, Fall 2002: The Theory of Automata and Formal Languages
A study of formal grammars, finitestate automata, pushdown
automata, Turing machines, time and storagebounded Turing machines,
semantics of programming languages, elements of recursive function
theory, and complexity of computation.
Download syllabus
Course Format
Three 50minute lectures and one hour discussion per week
Five howeworks
Two Quizzes
Final
Prerequisites
The prerequisites are strictly enforced. In particular, if you registered, but later failed some prerequisite, you will be dropped from this course. Topics you should familiar with: sets, sequences, relations, functions, combinations, counting, recurrences, asymptotic notation, linear algebra (matrices, determinants), directed and undirected graphs, connectivity, proof methods (induction, contradiction), basic data structures (lists, stacks, binary trees) sorting, searching, graph traversal algorithms.
CS 14
MATH 112
Class Meetings
MWF, 10:40am11:30am, University Village Theater 8
Office hours
Office hours are held in SURGE 320
Wednesday, 4:305:30pm
Friday, 4:305:30pm
Class Discussions (starts October 7th)
Monday, 5:10pm6pm, STAT B650, Yu Luo, Yu's CS150 homepage
Wednesday, 8:10am9am, SPTHW 1307, Ling Ling Jin Lingling's CS150 homepage
TAs office hours
TA office hours are held in SURGE 282
Yu Luo (yuluo@cs), Monday 4:005:00pm
Ling Ling Jin (ljin@cs), Wednesday 9:1010:0pm
Textbook
Peter Linz, An Introduction to Formal Languages and Automata, Jones and Bartlett Publishers. Third Edition. ISBN: 0763714224
References
Michael Sipser, Introduction to the Theory of Computation, PWS Publishing Company.
John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation
Grading
Howeworks 15%
Quiz 1 15%
Quiz 2 20%
Final 50%
Lectures
Sep 27: Course overview. Languages. (Textbook pp.1518)
Sep 30: Examples of languages. Grammars. Language generated by a grammar. (Textbook pp.1924)
Oct 2: More grammar examples. Modeling with Automata (see tutorial below).
Oct 4: Discrete finite automata (Textbook pp.3542) (Hw1 posted)
Oct 7: Regular Languages (Textbook pp.4345), Nondeterministic finite automata (Textbook pp.4753)
Oct 9: NFA with lambda transitions, Equivalence between DFAs and NFAs (Textbook pp.5557)
Oct 11: NFA to DFA conversion (pp.5861)
Oct 14: NFA with lambda transitions to DFA conversion, Minimization of DFAs (Textbook pp.6263)
Oct 16: Minimization of DFAs (Textbook pp.6466)
Oct 18: Regular Expressions (Textbook pp.7177) (Hw1 due, Hw2 posted)
Oct 21: Conversion of a Regular Expression to a NFA (Textbook pp.7880)
Oct 23: Conversion of a NFA/DFA to a Regular Expression (Textbook pp.8183)
Oct 25: More examples of converting a DFA to a Regular Expression (Textbook pp.8485)
Oct 28: QUIZ 1 (closed book, closed notes)
Oct 30: Regular Grammars (Textbook pp.8996, skip theorem proofs), Closure properties of Regular Languages (Textbook pp.99102), Elementary Problems on Regular Languages (Textbook pp.111113)
Nov 1: Pumping Lemma (Textbook pp.114117) (Hw2 due, Hw3 posted)
Nov 4: More pumping lemma examples (pp.118121), ContextFree Languages (pp.125126)
Nov 6: Contextfree Languages and derivation trees (pp.127131), Parsing (pp.136139)
Nov 8: Simplification of CF Grammars (substitution rule, removing useless prods) (pp.149156)
Nov 11: Veterans Day  NO CLASS
Nov 13: Simplification of CF Grammars (removing useless prods, removing lambda prods) (textbook pp.156158)
Nov 15: Simplification of CF Grammars (removing unit prods) (pp.158161), Conversion to Chomsky normal form (pp.165168) (Hw3 due, Hw4 posted)
Nov 18: Conversion to CNF, CYK algorithm (textbook pp.172173)
Nov 20: CYK algorithm (textbook pp.172173)
Nov 22: QUIZ 2 (closed book, closed notes)
Nov 25: Nondeterministic pushdown automata (textbook pp.175181)
Nov 27: Equivalence between NPDA and context free grammars (textbook pp.184193) (Hw4 due, Hw5 posted)
Nov 29: Thanksgiving  NO CLASS
Dec 2: Pumping lemma for contextfree languages, Contextsensive grammars (textbook pp.205210)
Dec 4: Closure properties for CF languages, Decidable properties of CF languages, Review (textbook pp.213219)
Dec 6: Noncomputable functions, Review (Hw5 due)
Dec 9: FINAL 3 to 6pm, BRNHL (Bourns Hall) B118, (closed book, closed notes)
Tutorials (by M.Chrobak)
Modeling with Finite Automata
Example of a minimization of a DFA
Conversion of DFAs/NFAs to Regular Expression
CYK algorithm
Mailing list and Newsgroup
Register to CS150 mailing list with your CS account
or read the newsgroup
Assignment policies
The rules of the game
Note (Notes: if you use Internet Explorer rightclick on the link, select "Save Target As...", and the open the files from the hard disk. If you use Netscape, rightclick on the link, select "Save Link As ...", and open the files from the hard disk)
Homeworks (not available anymore)
Homework 1 (posted Oct 4th  due Oct 18th)
Homework 2 (posted Oct 18th  due Nov 1st)
Homework 3 (posted Nov 1st  due Nov 15th)
Homework 4 (posted Nov 15st  due Nov 27th)
Homework 5 (posted Nov 27th  due Dec 6th)
Homework solutions (not available anymore)
Solution Homework 1 (posted Oct 18th)
Solution Homework 2 (posted Nov 1st)
Solution Homework 3 (posted Nov 18th)
Solution Homework 4 (posted Nov 27th)
Solution Homework 5 (posted Dec 6th)
Quiz syllabi
Syllabus for quiz 1
Syllabus for quiz 2
Syllabus for the Final
Quizzes (not available anymore)
Quiz 1A (posted Oct 28th)
Quiz 1B (posted Oct 28th)
Quiz 2A (posted Nov 22nd)
Quiz 2B (posted Nov 22nd)
Other resources
The Ansi C grammar (Yacc)
The Ansi C grammar (Lex)
A DFA simulator
Another applet for playing with FAs
Lots of tools for playing with DFAs and CFGs
And yet another one ...
Lecture notes on Finite Automata by M.Goldberg
Lecture notes on Finite Automata by J. Foster
A tutorial about finite automata, by Arnab Chakraborty
A finite state machine model for the TCP protocol
A finitestate machine operating system for embedded systems
A finitestate machine based system for hardwaresoftware codesign
finitestate machines in digital system design
Noam Chomsky's home page, and links to other sites about Chomsky
The A. Turing home page
Cantor's Theorem
Goedel's Incompleteness Theorem page
"Do software engineers need mathematics?" by K.Devlin.
