Jean-Camille Birget
birget@camden.rutgers.edu
http://clam.rutgers.edu/~birget
(856) 225-6653
Office: Business and Science Bldg. 320
Class Times: Mondays
6:00-8:40PM, in BSB-337C.
Office hours:
Mondays 3:00-4:20PM, Wednesdays 4:30-5:50PM, or by
appointment.
Course work: 1. Homeworks worth 20% of the grade. 2. Two in-class exams, worth 10% and 35% of the grade respectively. 3. A final, worth 35% of the grade.
Course Summary. This course is a general and basic introduction. The main topics are: (1) Finite automata, regular expressions, with applications to lexical analysis and string searching; (2) grammars, with applications to parsing; (3) models of computation and computability, Turing machines, decidability and undecidability, computational complexity, and applications to programming and to cryptography.
Textbook (required):
Michael Sipser, Introduction
to the Theory of
Computation, 2nd Edition, Thomson Course Technology (2006).
(ISBN: 0534950973).
(The first edition is also acceptable.)
Other books (for reference only, not required):
Lower-level textbooks:
- Daniel
I. A.
Cohen, Introduction to Computer
Theory, Wiley (ISBN
0-471-13772-3).
- Peter Linz, Introduction to Formal Languages and Automata,
Jones & Bartlett (2000), (3rd edition).
Medium-level book:
- H. Lewis, Ch. Papadimitriou, Elements
of the Theory of Computation, 2nd ed., Prentice Hall (1998).
More advanced books:
- J. Hopcroft, J. Ullman,
Introduction
to Automata Theory, Languages, and Computation, Addison-Wesley
(1976), 1st edition (out
of print), ISBN 020102988X .
- M. Gary, D. Johnson, Computers and
Intractability, a
Guide to
the Theory of NP-Completeness, Freeman (1979).
- Ch. Papadimitriou, Computational Complexity, Addison
Wesley (1994).
- Dingzhu Du, Ker-I Ko, Theory of
Computational
Complexity,
Wiley-Interscience (2000).
- Sanjeev Arora, Boaz Barak, Computational
Complexity: A Modern Approach, Cambridge University Press
(April 2009).
Pre-requisites:
Math. Foundations 50:198:171, or equivalent.
Grading policy: Homework assignments are expected to be done individually. Discussions about the ideas of an assignment and about general information with fellow students is encouraged; but the actual writing should be done completely independently. Copying (or jointly writing) large portions of an assignment is considered cheating. Moreover, many exam questions will be very similar to homework problems; the homework is intended in part to prepare you for the exams. Grading scale: [0 F [60 D [65 D+ [70 C [75 C+ [80 B [85 B+ [90 A [95 A+ 100]. Class attendance is required. Homework assignment due dates are firm. Unless you have a major medical or personal emergency, late homework will not be accepted. The grade ``incomplete'' IN is given only when justified according to University policy.
Class web page: http://clam.rutgers.edu/~birget/cs476/cs476f09.html