Stefano Lonardi

Assistant Professor, Computer Science & Engineering

University of California, Riverside, CA 92521

Last updated:
Apr 14, 2003

CS 150, Fall 2002: The Theory of Automata and Formal Languages

A study of formal grammars, finite-state automata, push-down automata, Turing machines, time- and storage-bounded Turing machines, semantics of programming languages, elements of recursive function theory, and complexity of computation.

Download syllabus

Course Format

  • Three 50-minute 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:40am-11:30am, University Village Theater 8
  • Office hours

    Office hours are held in SURGE 320
  • Wednesday, 4:30-5:30pm
  • Friday, 4:30-5:30pm
  • Class Discussions (starts October 7th)

  • Monday, 5:10pm-6pm, STAT B650, Yu Luo, Yu's CS150 homepage
  • Wednesday, 8:10am-9am, 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:00-5:00pm
  • Ling Ling Jin (ljin@cs), Wednesday 9:10-10: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.15-18)
  • Sep 30: Examples of languages. Grammars. Language generated by a grammar. (Textbook pp.19-24)
  • Oct   2: More grammar examples. Modeling with Automata (see tutorial below).
  • Oct   4: Discrete finite automata (Textbook pp.35-42) (Hw1 posted)
  • Oct   7: Regular Languages (Textbook pp.43-45), Nondeterministic finite automata (Textbook pp.47-53)
  • Oct   9: NFA with lambda transitions, Equivalence between DFAs and NFAs (Textbook pp.55-57)
  • Oct 11: NFA to DFA conversion (pp.58-61)
  • Oct 14: NFA with lambda transitions to DFA conversion, Minimization of DFAs (Textbook pp.62-63)
  • Oct 16: Minimization of DFAs (Textbook pp.64-66)
  • Oct 18: Regular Expressions (Textbook pp.71-77) (Hw1 due, Hw2 posted)
  • Oct 21: Conversion of a Regular Expression to a NFA (Textbook pp.78-80)
  • Oct 23: Conversion of a NFA/DFA to a Regular Expression (Textbook pp.81-83)
  • Oct 25: More examples of converting a DFA to a Regular Expression (Textbook pp.84-85)
  • Oct 28: QUIZ 1 (closed book, closed notes)
  • Oct 30: Regular Grammars (Textbook pp.89-96, skip theorem proofs), Closure properties of Regular Languages (Textbook pp.99-102), Elementary Problems on Regular Languages (Textbook pp.111-113)
  • Nov   1: Pumping Lemma (Textbook pp.114-117) (Hw2 due, Hw3 posted)
  • Nov   4: More pumping lemma examples (pp.118-121), Context-Free Languages (pp.125-126)
  • Nov   6: Context-free Languages and derivation trees (pp.127-131), Parsing (pp.136-139)
  • Nov   8: Simplification of CF Grammars (substitution rule, removing useless prods) (pp.149-156)
  • Nov 11: Veterans Day -- NO CLASS
  • Nov 13: Simplification of CF Grammars (removing useless prods, removing lambda prods) (textbook pp.156-158)
  • Nov 15: Simplification of CF Grammars (removing unit prods) (pp.158-161), Conversion to Chomsky normal form (pp.165-168) (Hw3 due, Hw4 posted)
  • Nov 18: Conversion to CNF, CYK algorithm (textbook pp.172-173)
  • Nov 20: CYK algorithm (textbook pp.172-173)
  • Nov 22: QUIZ 2 (closed book, closed notes)
  • Nov 25: Nondeterministic pushdown automata (textbook pp.175-181)
  • Nov 27: Equivalence between NPDA and context free grammars (textbook pp.184-193) (Hw4 due, Hw5 posted)
  • Nov 29: Thanksgiving -- NO CLASS
  • Dec   2: Pumping lemma for context-free languages, Context-sensive grammars (textbook pp.205-210)
  • Dec   4: Closure properties for CF languages, Decidable properties of CF languages, Review (textbook pp.213-219)
  • 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 right-click on the link, select "Save Target As...", and the open the files from the hard disk. If you use Netscape, right-click 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 finite-state machine operating system for embedded systems
  • A finite-state machine based system for hardware-software co-design
  • finite-state 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.