CS 520 - Introduction to Theory of
Computing
Fall 2006 |
|
Course Description
This course provides an undergraduate-level introduction to the theory of
computing.
The objective is two-fold. First, gaining an understanding of the nature
of computation, its capabilities and its limitations, and obtaining the
ability to reason rigorously about them; second, acquiring the mathematical
foundation for applications of these insights in other areas of computer
science.
We will cover elements of automata theory and formal languages,
computability theory, complexity theory, and cryptography.
These topics have applications in algorithm design,
programming languages and compiler construction, artificial intelligence,
hardware and network protocols, and security.
Text
Michael Sipser, Introduction to the Theory of Computation, 2nd
edition, PWS Publishing Company, 2005.
Prerequisites
Math 240 (Discrete Mathematics, especially proofs by induction and basic
notions of set theory, logic, discrete probability theory, and graph theory),
and CS 367 (Data Structures, especially familiarity with algorithms and
their complexity).
A self-calibration homework will be handed out in the first lecture
and there will be a review session M 9/11, 7-9pm, in 1325 CS.
Course Work
- Homework (50%).
There will be an assignment every other week. Expect the problems to be
challenging so start early.
You are allowed to discuss the problems in group but you
should write out the solutions on your own and give credit to your
collaborators.
No sources other than the course material, the instructor, the TA, and
your fellow students in the course are allowed.
- Exams:
Midterm (20%) on W 10/18, 7:15-9:15pm,
and Final (30%) on W 12/20, 10:05am-12:05pm.
Both exams are closed book and closed notes.
Distinguished Lecture Series
This semester, the departmental Distinguished Lecture Series focuses
on theory of computing. You are encouraged to attend those lectures.
See our lecture schedule for the
coordinates and the Computer
Sciences calendar for more details.
References
The following books will be on reserve in Wendt library:
Preliminaries:
- Kenneth Rosen,
Discrete Mathematics and Its Applications,
5th edition, 2002.
(2-hour loan)
Level of CS 520:
- Michael Sipser,
Introduction to the Theory of Computation,
2nd edition, 2005.
(2-hour loan)
- John Hopcroft, Rajeev Motwani, and Jeffrey Ullman,
Introduction to Automata Theory, Languages, and Computation,
2nd edition, 2000.
- Dexter Kozen,
Automata and Computability,
1997.
- Harry Lewis and Christos Papadimitriou,
Elements of the Theory of Computation,
2nd edition, 1997.
More Advanced:
- Christos Papadimitriou,
Computational Complexity,
1994.
- Uwe Schöning and Randall Pruim,
Gems of Theoretical Computer Science,
1995.
|