Вы находитесь на странице: 1из 3

Queens College Department of Computer Science

Theory of Computation (CS 320)


Fall 2017
Tuesdays, 6:30-9:20 p.m.
Room: SB D133
Instructor: Lawrence Teitelman
E-mail: LT.CS320@yahoo.com (preferred) or Lawrence.Teitelman@qc.cuny.edu
Prerequisites:
CS 111 (Algorithmic Problem Solving) and CS 220 (Discrete Structures)

Course Website / Yahoo Group:


Home page: http://groups.yahoo.com/group/QC-CS320/
Contains resources including lecture notes, exams and solutions, from prior and current semesters.
Used for communicating with students.
To subscribe: visit group home page and click Join This Group!

Texts:
Required: Thomas A. Sudkamp, Languages and Machines: An Introduction to the Theory of Computer Science, 3rd edition,
Pearson, 2005.
Strongly Recommended: Bojana Obrenic, Practice Problems in the Theory of Computation. (Available from the Queens College
Copy Center, 65-01 Kissena Blvd.)
A list of selected reference texts for the course material appears on the opposite side of this syllabus.

Requirements:
Attendance and Participation: Each student is expected to prepare for and attend the lectures. The topic for each lecture and
the associated chapter from the textbook appear below. Active participation will enhance your learning experience and may
also be counted toward your grade.
Lecture Notes: Each student is required to transcribe one of the class lectures as per the schedule to be determined at the
beginning of the semester. Students should submit the notes electronically to the instructor within a week after the assigned
lecture. These notes will be made available to all students in the class via the course Website/Yahoo Group.
Homework: Following most lectures, there will be problems assigned pertaining to that weeks material. Unless stated
otherwise, homework is due at the beginning of the next class meeting.
Exams. There will be three examinations, tentatively schedule for the dates below. Details about the structure of each exam
and the exact sections that it covers will be announced prior to the exam. Many old exams with complete solutions can be
found in our Yahoo group.

Grading:
The course grade is computed from the following work units: Homework and Lecture Notes (20%), Exam 1 (20%), Exam 2
(20%), Final Exam Part I (20%) and Part II (20%).

Schedule of Lectures and Exams:

No. Date Topic Text Chapter*


1. Tues. Aug. 29 Introduction. Mathematical Preliminaries 1
2. Tues. Sept. 5 Languages. Context-Free Grammars. 2-3
3. Tues. Sept. 12 Normal Forms for Grammars. Finite Automata. 4-5
Tues. Sept. 19 NO CLASS - Per QC calendar, classes follow Thursday schedule n/a
4. Tues. Sept. 26 Finite Automata, contd. Properties of Regular Languages 5-6
5. Tues. Oct. 3 Pushdown Automata and Context-Free Languages 7
6. Tues. Oct. 10 Turing Machines 8
Exam 1
7. Tues. Oct. 17 Turing-Computable Functions 9
8. Tues. Oct. 24 Chomsky Hierarchy 10
Decision Problems and Undecidability 11-12
9. Tues. Oct. 31 Normal Forms for Context Free Grammars. Finite Automata 4-5
10. Tues. Nov. 7 Mu-Recursive Functions 13
11. Tues. Nov. 14 Decidability and Undecidability 11-12
Exam 2
Tues. Nov. 21 NO CLASS - Per QC calendar, classes follow Friday schedule n/a
12. Tues. Nov. 28 Computational Complexity 14-15
13. Tues. Dec. 5 Computational Complexity 16-17
14. Tues. Dec. 12 Selected Topics and General Review
15. Tues. Dec. 19 Final Examination
*Exact sections may vary and will be communicated by the instructor in class and/or by e-mail to the group.
Selected Reference Texts for the Study of
Theory of Computation

1. James A. Anderson, Automata Theory with Modern Applications, Cambridge University Press, 2006.

2. J. Glenn Brookshear, Theory of Computation: Formal languages, Automata, and Complexity, Pearson, 1989.

3. Martin Davis, Ron Sigal, and Elaine J. Weyeuker, Computability, Complexity, and Languages: Fundamentals of Theoretical
Computer Science, 2nd edition, Morgan Kaufmann, 1994.

4. Richard Feynman, Feynman Lectures on Computation, Revised edition, Westview Press, 2000.

5. Michael R. Garey and David S. Johnson, A Guide to the Theory of NP-Completeness, W.H. Freeman, 1979.

6. John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation,
3rd edition, Pearson, 2006.

7. Dexter C. Kozen, Automata and Computability, Springer, 1997.

8. Dexter C. Kozen, Theory of Computation, Springer-Verlag, 2006.

9. Harry Lewis and Christos Papadimitriou, Elements of the Theory of Computation, 2nd edition, Prentice-Hall, 1997.

10. Peter Linz, An Introduction to Formal Languages and Automata, 6th edition, Jones and Bartlett Learning, 2016.

11. Marvin L. Minsky, Computation: Finite and Infinite Machines, Prentice Hall, 1967.

12. Michael Sipser, Introduction to the Theory of Computation, 3rd edition, Cengage Learning, 2013.

13. Thomas A. Sudkamp, Languages and Machines: An Introduction to the Theory of Computer Science, 3rd edition, Pearson,
2005.

14. Adam Brooks Webber, Formal Languages: A Practical Introduction, Franklin, Beedle & Associates, 2008.