People | Textbook | Grading | Objective | Background | Schedule | Exams | Homework
subscribe cs3133
If you have time/money/desire for a single supplementary reference, I'd recommend getting the book by Sipser (see below). It's quite good and has been used recently as the textbook in CS 4123, which is a continuation of CS 3133.
Make-up exams will not be offered except in cases of true personal hardship (not e.g. because of travel plans), and only with suitable corroborating documentation.
This course introduces the theoretical foundations of computer science. These form the basis for a more complete understanding of the proficiency in computer science. Topics include computational models, formal languages, parsing, and an introduction to compatibility and complexity theory, including NP-completeness. Students will be expected to complete a variety of exercises and proofs. Intended audience: computer science majors and others desiring an understanding of the theoretical foundations of computer science. Undergraduate credit may not be earned both for this course or for CS 503. Recommended Background: CS 2022 and CS 2223. Students who have credit for CS 4121 cannot receive credit for CS 3133. Students graduating under the pre-1996 distribution requirements may satisfy the Theory area requirement by taking this course, although it does not count as a 4000-level course.
Week | Reading | Topics | Notes |
Aug. 27-28 | chapters 1, 2 | Strings, languages Recursion, induction Regular expressions |
Optional reading: Sipser, chapter 0 |
Aug. 31 - Sept. 4 | chapters 3, 4 | Context-free grammars Regular grammars Leftmost derivations |
Optional reading: Aho et al, 2.2 |
Sept. 7-11 | chapters 4, 6 | Parsing Finite automata |
Optional reading: Sipser, 1.1-1.2 |
Sept. 14-18 | chapters 6, 7 opt: Sipser, 1.4 |
Finite automata and regular grammars Pumping lemma |
Midterm Exam Sept. 18 Practice problems |
Sept. 21-25 | chapters 7, 8 | Pushdown automata and context-free grammars |
Optional reading: Sipser, chapter 2 |
Sept. 28 - Oct. 2 | chapter 9 | Turing machines |
Optional reading: Sipser, chapter 3 |
Oct. 5-9 | chapter 14 | Time complexity Polynomial growth The class P |
Optional reading: Sipser, 7.1-7.2 |
Oct. 12-15 | chapters 14-15 opt: Sipser, ch. 7 |
The class NP P vs NP |
Final Exam Oct. 15 |