CS 150: The Theory of Automata and Formal Languages

Spring Quarter, 2006


  • [Jun 12] Extra office hours, Wednesday June 14th 4-6pm
  • [Jun 6] Homework 5 solution posted
  • [Jun 5] Final syllabus posted
  • [May 26] Qz2 posted (with solutions)
  • [May 24] Homework 5 posted
  • [May 24] Homework 4 solution posted
  • [May 12] Homework 4 posted
  • [May 12] Homework 3 solution posted
  • [May 9] Qz2 syllabus posted
  • [May 3] Qz1 posted (with solutions)
  • [May 1] Homework 3 posted
  • [May 1] Homework 2 solution posted
  • [Apr 24] Just for the first week of May, office hours are Tuesday May 2nd, 3-5pm (instead of Thursday)
  • [Apr 24] Office hours on Thursday, April 27 is 2-2:40pm
  • [Apr 19] Office hours on Thursday, April 20 is cancelled
  • [Apr 19] Homework 2 posted
  • [Apr 6] Homework 1 posted
  • No discussion on Monday 4/3
  • Lecture Schedule  Email list   Resources   Tutorials   Other resources


    Catalog description: CS 150. The Theory of Automata and Formal Languages (4) Lecture, 3 hours; discussion, 1 hour. Prerequisite(s): CS 014; CS 111/MATH 111; MATH 009C or MATH 09HC. 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.UCR course schedule, UCR course catalog.

    Basic information

    Instructor: Stefano Lonardi (stelo AT cs.ucr.edu)
    Office hours: Thursday 3-5pm. Office: Engineering 2, 317.

    Teaching Assistant:
  • Yonghui Wu (yonghui AT cs.ucr.edu)
    Office hours: Monday 4-5pm (EBU2 110).

  • Lectures and Discussion:
  • Lectures: MWF, 12:10pm-1pm HMNSS 1405
  • Discussion: M 5:10pm-6pm OLMH 1116

  • Text Book:
  • Peter Linz, An Introduction to Formal Languages and Automata, Jones and Bartlett Publishers. Fourth Edition. ISBN: 0763737984 (Note: the third edition is OK, too)

  • 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

  • Prerequisites:
  • CS 14
  • CS 111/MATH 111
  • MATH 009C or MATH 09HC
  • 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.

    Syllabus (PDF)


  • Apr 3: Course overview. Languages. (Textbook CH1, pp.16-19)
  • Apr 5: Examples of languages. Grammars. Language generated by a grammar. (Textbook CH1, pp.19-26)
  • Apr 7: Deterministic finite automata, Regular languages (Textbook CH2 pp.37-48) [HW1 posted]
  • Apr 10: Nondeterministic finite automata (Textbook CH2 pp.49-54)
  • Apr 12: Equivalence NFA-DFA (Textbook CH2 pp.56-60)
  • Apr 14: More equivalence NFA-DFA, Minimization of DFA (Textbook CH2 pp.60-61)
  • Apr 17: Minimization of DFA (Textbook CH2 pp.63-65))
  • Apr 19: Regular Expression (Textbook CH3) [HW1 due, HW2 posted]
  • Apr 21: Equivalence Regular Expression and NFA (Textbook CH3)
  • Apr 24: Regular Grammars (Textbook CH3)
  • Apr 26: Properties of Regular Languages (Textbook CH4)
  • Apr 28: Pumping Lemma (Textbook CH4)
  • May 1: More pumping lemma, Context-Free languages (Textbook CH5) [HW2 due, HW3 posted]
  • May 3: Quiz 1 (in class, closed book, closed notes)
  • May 5: Quiz 1 review, Context-Free Languages (Textbook CH5)
  • May 8: Simplification of Context-Free Grammars (Textbook CH6)
  • May 10: Simplification of Context-Free Grammars (Textbook CH6)
  • May 12: Chomsky normal form (Textbook CH6) [HW3 due, HW4 posted]
  • May 15: Chomsky normal form and CYK algorithm (Textbook CH6)
  • May 17: CYK algorithm (Textbook CH6)
  • May 19: NonDeterministic PDAs
  • May 22: Deterministic PDAs
  • May 24: Prep for quiz 2 [HW4 due, HW5 posted]
  • May 26: Quiz 2 (in class, closed book, closed notes)
  • May 29: Memorial Day
  • May 31: Quiz 2 review
  • Jun 2: LL(k) grammars
  • Jun 5: Pumping lemma for CF languages
  • Jun 7: Closure properties of CF languages [HW5 due]
  • Jun 9: Review
  • Jun 14: Final, 7-10pm, HMNSS 1405
  • Homework


    General course features and policies

    Course email list

    Course mailing list (send mail now or access the archive): Be sure to sign up to receive important announcements, which will be made only through the course email list. You must use your CS or EE account, or else some other UCR account, so be sure to learn how to read those accounts or at least automatically forward messages to your personal email address (just create in your home directory a file named ".forward" containing your personal email address).

    Tutorials (by Marek Chrobak)