CS 150: The Theory of Automata and Formal Languages
Spring Quarter, 2006
[Jun 12] Extra office hours, Wednesday June 14th 46pm
[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, 35pm (instead of Thursday)
[Apr 24] Office hours on Thursday, April 27 is 22: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, finitestate automata, pushdown
automata, Turing machines, time and storagebounded Turing machines,
semantics of programming languages, elements of recursive function
theory, and complexity of computation.UCR course schedule,
UCR course catalog.
Instructor:
Stefano Lonardi (stelo AT cs.ucr.edu)
Office hours: Thursday 35pm. Office: Engineering 2, 317.
Teaching Assistant:
Yonghui Wu (yonghui AT cs.ucr.edu)
Office hours: Monday 45pm (EBU2 110).
Lectures and Discussion:
Lectures: MWF, 12:10pm1pm HMNSS 1405
Discussion: M 5:10pm6pm 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.1619)
Apr 5: Examples of languages. Grammars. Language generated by a grammar. (Textbook CH1, pp.1926)
Apr 7: Deterministic finite automata, Regular languages (Textbook CH2 pp.3748) [HW1 posted]
Apr 10: Nondeterministic finite automata (Textbook CH2 pp.4954)
Apr 12: Equivalence NFADFA (Textbook CH2 pp.5660)
Apr 14: More equivalence NFADFA, Minimization of DFA (Textbook CH2 pp.6061)
Apr 17: Minimization of DFA (Textbook CH2 pp.6365))
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, ContextFree languages (Textbook CH5) [HW2 due, HW3 posted]
May 3: Quiz 1 (in class, closed book, closed notes)
May 5: Quiz 1 review, ContextFree Languages (Textbook CH5)
May 8: Simplification of ContextFree Grammars (Textbook CH6)
May 10: Simplification of ContextFree 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, 710pm, HMNSS 1405

Academic dishonesty: Cheating
will be strongly punished (typically
with an F in the course). You can
report cheating anonymously at:
https://www.cs.ucr.edu/cheating/. Assignment
submissions must represent your
original work. Copying from any
sources (web, other books, past or
current students, etc.) is strictly
prohibited. While discussing
assignments together is
encouraged, pooling common answers
is not allowed. Be aware that a
subset of exams may be photocopied,
for comparison with exams submitted
for regrades. Also, be aware that
lying to an instructor in order to be
able to makeup a missed exam or in
other ways to obtain a better grade
can be treated as academic dishonesty.

Regrade policy: Regrade
requests must be submitted
within two weeks of
the distribution of the graded
material. The entire
homework/test/assignment may be
regraded, not just the problem in
question, so the grade may go up or
down. Thus, think your regrade
requests through carefully. Recording errors should also be pointed out to
the instructor before the last class.

Final grades: Per university
policy, changes to your final grade
will be made only in the event
of a clerical error. Asking your
instructor how far you were from a
cutoff and what extra work you can do
to improve the grade is not
appropriate.

Communicating with the instructors
: When sending electronic
mail to the instructors or
graders, please include your full
name, student ID
number, and UCR email
address, so that we may properly
identify you (remember, many students
have similar names). Also, please try
to be polite and use reasonable
grammar and formatting.

Cell phones: During lectures
please turn off your
cell phone. During exams, cell phones
must not be visible (e.g., store them
inside a backpack).

Written Assignments: All
assignments and solutions will be
posted on the class homepage. Write
your full name with uppercase LAST
name, assignment number, student ID,
login. Write legibly: what cannot be
read will not be graded. Consider
typing the assignment if you
handwriting is hard to read. Written
assignments have to be submitted
before the beginning of the
class on the due date on the
instructor's desk. No
late assignment will be accepted. Any
problem with grading of a written
assignment should be addressed at the
latest two weeks after the
assignment is returned to you.
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)