Intro. to the Theory of Computation  (50:198:476)
Theory of Computation I  (56:198:576,  56:645:533)


Fall  2009                                                                                

Jean-Camille Birget
birget@camden.rutgers.edu
http://clam.rutgers.edu/~birget
(856) 225-6653
Office: Business and Science Bldg. 320

=================================================
NEWS: 
.
=================================================
=================================================
OLD NEWS
=================================================

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.

Exam dates:
Exam 1:  (10%)   Monday 5 Oct.
  
Exam 2:  (35%)  
Monday 9 Nov.
 
Exam 3:  (35%)   Monday 21 Dec. (Final).

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