Course Description: Introduction to models of computation
and of formal grammars: finite automata and regular languages, pushdown
automata and context-free languages, Turing machines, decidability,
and computational complexity, including polynomial and nondeterministic
polynomial time, polynomial space, and exponential time bounded computation.
Prereqs: CS 375 or consent of instructor. CS 275 is a prerequisite
for CS375. Students should be familiar with logic, discrete mathematics,
and comfortable using proof techniques such as induction.
Textbook: "Introduction to the Theory of Computation, Second Edition,"
by Michael Sipser, ISBN 0-534-95097-3.
Errata.
Warning: You must have the Second Edition.
Exams and Homework: Midterm exam: Thursday, Mar 10;
Final exam: Thursday, May 7, 1-3PM ; and frequent homeworks.
Homeworks are due at the start of class on the due date. There will be
one midterm exam and one final. There will be no programming assignments.
Homeworks more than five minutes late will not be accepted. Illegible
work will not be graded. Obtaining a solution from another source without
citing the source is plagiarism.
Detailed Plagiarism Statement.
You are strongly encouraged to visit me in my office hours if you are
stuck on homework problems. You don't need an appointment for my
regularly scheduled hours. Attendance in class is expected. You
will make every reasonable effort to arrive before class begins. Cell
phones must be turned off before class starts.
Grades: Course grades are based on: attendance - 10%; homework - 25%;
midterm - 25%; final exam - 40%.
Letter grades are assigned by the scale:
Graduate students: A: 80-100; B: 65-79; C:50-64;
Undergraduates: A: 75-100; B: 60-74; C:45-59;D:35-44.
Outcomes and assessments: The following are the stated learning
outcomes for this course. These will be assessed by a survey at the end
of the semester, in compliance with certification standards for academic
Computer Science departments. A successful student will learn:
Approximate Week by Week Course Outline:
| Date | Topic | Chapter |
|---|---|---|
| Jan. 15 | Math: sets, relations, graphs, proofs | 0 |
| Jan. 20--22 | DFAs, regular operations, NFAs, equivalence | 1.1--1.2 |
| Jan. 27--29 | Regular expressions, equivalence with FAs | 1.3 |
| Feb. 3--5 |
Pumping Lemma, CFGs | 1.4, 2.1 |
| Feb. 10--12 | Ambiguity, PDAs, equivalence | 2.1--2.2 |
| Feb. 17--19 | Pumping Lemma, nondeterminism | 2.3 |
| Feb. 24--26 |
Turing machines | 3.1 |
| Mar. 3--5 |
Turing machines variants, Algorithms, Church-Turing thesis | 3.2--3.3 |
| Mar. 10 | MIDTERM |
|
| Mar. 12 | Church-Turing thesis, RAMs | 3.3 |
| Mar. 16--20 | SPRING BREAK! |
|
| Mar. 24--26 | Decidability, halting Problem | 4.1--4.2 |
| Mar. 31-- Apr. 2 | Reducibilities | 5.1--5.3 |
| April 7--9 | Reducibilities; recursion theorem | 6.1 |
| Apr. 14--16 | Big-O and different models; P and NP | 7.1--7.3 |
| Apr. 21--23 | NP-completeness | 7.4--7.5 |
| Apr. 28--30 | Other complexity classes, tradeoffs | 8.1--8.3 |
| May 7 |
FINAL EXAM: THURSDAY, May 7, 1-3PM B3-FB |
| This page last modified:
Thursday, February 5, 2009 |