Administrative Information
- Time/Place: Tuesday and Thursday 9:30-10:45 PM in 251 Mercer Room 312
- Final: TBD
- Instructor: Marshall Ball, Office Hours: TBD
- Midterm Exam: March 12 (in class)
- Final Exam: May 12 8:00AM-9:50AM
First class is Tuesday, Jan 20 at 9:30 - 10:45 PM in CIWW 312. Please Chapter 0 in Sipser before class, particularly Sections 0.2 and 0.3 to familiarize yourself with notation and proofs. You should be able to complete exercises at the end of the chapter (not required to hand-in).
This course provides an introduction to the theory of computation. We will see how to mathematically model computation and how to rigorously reason about these models can and cannot do. Specific topics include: finite automata and regular languages; pushdown automata, context free grammars, and context free languages; Turing machines, recursive and recursively enumerable languages; P, NP, and NP-completeness.
Disclaimer:This is a class about theoretical computer science. A critical aspect of this is learning how to read and write mathematical proofs in a computer science context. For those unfamiliar with mathematical proofs, I recommend reading Velleman's "How to Prove It."
Homework (25%), Online Quizes (5%), Midterm (30%), Final Exam (40%). Additionally, active participation in lecture is expected and will impact final grades that are on thresholds.
The primary prerequisite is mathematical maturity. You should be comfortable reading and writing proofs. Some familiarity with the basics of algorithms, the theory of computation, and probability is expected.
If you are unsure about whether this class is suitable for you, please contact the instructor via email.
The textbook for this course is Sipser's Introduction to the Theory of Computation. A number of excellent alternate texts are also available.
| Class | Date | Topic | Reading (Sipser unless otherwise noted) |
|---|---|---|---|
| 1 | Jan 20 | intro, deterministic finite automata (DFA) | Chapter 0, Section 1.1 |
| 2 | Jan 22 | regular languages, nondeterministic finite automata (NFA) | |
| 3 | Jan 27 | equivalence of NFA and DFA | |
| 4 | Jan 29 | epsilon-NFAs, regular expressions | |
| 5 | Feb 3 | equivalence of regular expressions and regular languages | |
| 6 | Feb 5 | closure properties of regular languages | |
| 7 | Feb 10 | languages that aren't regular, pumping lemma, myhil-nerode theorem | |
| 8 | Feb 12 | computational problems about finite automata | |
| X | Feb 17 | ***NO CLASS -- LEGILATIVE MONDAY*** | |
| 9 | Feb 19 | context free grammars (CFG) | |
| 10 | Feb 24 | parse trees and ambiguity in CFG | |
| 11 | Feb 26 | pushdown automata (PDA) | |
| 12 | Mar 3 | equivalence of CFG and PDA | |
| 13 | Mar 5 | deterministic PDA, pumping lemma for CFL | |
| 14 | Mar 10 | closure properties of CFL | |
| 15 | Mar 12 | MIDTERM EXAM | |
| X | Mar 17 | ***NO CLASS -- SPRING BREAK*** | |
| X | Mar 19 | ***NO CLASS -- SPRING BREAK*** | |
| 16 | Mar 24 | chompsky normal form | |
| 17 | Mar 26 | computational problems about CFGs | |
| 18 | Mar 31 | turing machines (TM), recursively enumerable languages (RE), recursive/decidable languages | |
| 19 | Apr 2 | TM variants | |
| 20 | Apr 7 | nondeterministic TMs, multistack machines | |
| 21 | Apr 9 | TM simulation of computer, encoding TMs, undecidability via diagonalization | |
| 22 | Apr 14 | compliment of RE, universal languages, reductions | |
| 23 | Apr 16 | more undecidable problems, rice's theorem | |
| 24 | Apr 21 | post correspondence problem | |
| 25 | Apr 23 | time complexity, P, NP | |
| 26 | Apr 28 | NP-completeness | |
| 27 | Apr 30 | NP-completeness | |
| 28 | May 5 | NP-completeness |
Homework should be submitted in PDF form in Gradescope. We prefer homework submissions typeset in LaTex. If you are not familiar with LaTex, it is a great skill to learn. Overleaf provides a simple web interface for writing and compiling LaTex (as well as extensive documentation). We will provide LaTex source for you to edit. You are encouraged to insert scanned figures or illustrations where appropriate. Scanned handwritten submissions will only be graded if perfectly legible. If you are unsure about your handwriting, I strongly suggest you type your solutions.
An important part of this class is about learning to communicate your mathematical ideas and proofs clearly and concisely. Accordingly, you will be graded not simply for correctness, but also clarity.
We strongly encourage you to discuss assignments with up to 3 peers, but you must (a) list the names of your discussion partners on your submission, and (b) you must write up your solution on your own. You may not look at the written solutions of any other student before submitting your own solution. If you do not not list the names of your collaborators, you will be penalized.
Late homework will not be accepted, but the lowest scored homework will be dropped.
You must explicitly acknowledge any external resources consulted in your homework.
However, you are not allowed to consult any resource for the purpose of finding homework solutions. For example, you may not consult homework solutions for a previous version of this class or ask an LLMViolations to this policy is plagiarism and will not be tolerated.
Your work should be your own. Students are should be aware of the CS Department's Policy on Academic Integrity. Violations of academic integrity will not be tolerated.
As a nonsectarian, inclusive institution, NYU policy permits members of any religious group to absent themselves from classes without penalty when required for compliance with their religious obligations. The policy and principles to be followed by students and faculty may be found in the University Calendar Policy on Religious Holidays.
Academic accommodations are available to any student with a chronic, psychological, visual, mobility, learning disability, or who is deaf or hard of hearing. Students should please register with the Moses Center for Students with Disabilities.