CALIFORNIA STATE UNIVERSITY, CHICO

Department of Computer Science

CSCI 256
Fall 2002


Instructor : Kent Wooldridge

1. Course Time Schedule :
lecture : TTH 12:30-1:45 in OCNL 254

2. Textbooks and Suggested Readings :
Required text : Introduction to Languages and the Theory of Computation by John C. Martin 2nd edition
McGraw-Hill; ISBN: 0-07-040845-9
Suggested reading :
An Introduction to Formal Languages and Automata, Linz ( Heath )
Languages and Machines, Sudkamp (Addison-Wesley)
Introduction to Computer Theory, Cohen


3. Coverage :
1. Mathematical Preliminaries
a. Sets
b. Relations and Functions
c. Recursive Definitions
d. Induction

2. Regular Languages and Finite Automata
a. Regular Expressions and Regular Languages
b. Finite Automata
c. Nondeterminism
d. Kleene's Theorem
e. Minimal Finite Automata
f. Nonregular languages

3. Context-Free Languages and Pushdown Automata
a. Context-Free Languages
b. Derivation Trees and Ambiguity
c. Pushdown Automata
d. The Equivalence of CFGs and PDAs

4. Turing Machines, Their Languages, and Computation
a. Turing Machines
b. Variations of Turing Machines
c. Recursively Enumerable Languages
d. Unsolvable Decision Problems

4. Prerequisites : Math 120

5. Evaluation procedures, exam schedule :
Midterms...................65% ( October 1 and November 5 )
Final...........................35% ( Tuesday, 12/17, 2:00-3:50 )

The midterms and final will be closely related to the homework.

6. Additional requirements :
None

7. Faculty Office Hours :
W 1:00-2:00, T Th 1:45-3:00. My office is OCNL 211.
My office telephone is 898-4310. The department telephone is 898-6442

8. Notes :
There are course materials at http://www.ecst.csuchico.edu/~kent
These materials are also accessible through the Unix prompt.
At the Unix shell prompt, give the command
              ln -s /var/www//kent/Cs256/student256 .
to create a link to the class directory. ( Notice the spaces after 'ln', '-s',
and '..151' and the dot at the end. ) ( You must enter this command only once. )

If you do not have a Unix account, you should get one.

You are responsible for information that is sent to you by e-mail.
Read your e-mail often.


You are being graded as individuals, and must do your own work. It
is good to work with others on your programs, discussing design and
implementation problems, but you must write your own design and you
must write your own code.

After week 4, it becomes progressively more difficult to drop. If
your preparation for this course is not sufficient, please drop by
the end of week 4. Grades of Incomplete are given only to those who
have completed a substantial portion of the course, but are unable to
complete the course on time because of sickness or other causes beyond
their control.