| WK 1 |
S1 · Sep 3 |
Course overview. Sets, proofs, strings, alphabets, and formal languages |
Notes 01 |
- Set up Python environment, Git, and GitHub
- Join the course repository
|
| WK 2 |
S2–S3 · Sep 8, Sep 10 |
Deterministic finite automata: definition, computation, and construction |
Notes 02 |
- Review Notes 01–02
- Project 1 specification released
|
| WK 3 |
S4–S5 · Sep 15, Sep 17 |
Nondeterministic finite automata and the subset construction |
Notes 03 |
- Review Notes 03
- Project 1 work begins
|
| WK 4 |
S6–S7 · Sep 22, Sep 24 |
Regular expressions, equivalence with automata, and closure properties |
Notes 04 · soon |
- Review Notes 04
- Project 1 in progress
|
| WK 5 |
S8–S9 · Sep 29, Oct 1 |
The pumping lemma for regular languages. Myhill–Nerode and minimization Project 1 due |
Notes 05 · soon |
- Review Notes 05
- Project 1 due
|
| WK 6 |
S10–S11 · Oct 6, Oct 8 |
Context-free grammars, derivations, parse trees, and ambiguity |
Notes 06 · soon |
- Review Notes 06
- Project 2 specification released
|
| WK 7 |
S12–S13 · Oct 13, Oct 15 |
Pushdown automata and the equivalence of PDAs and CFGs |
Notes 07 · soon |
- Review Notes 07
- Project 2 in progress
|
| WK 8 |
S14–S15 · Oct 20, Oct 22 |
The pumping lemma for context-free languages. Parsing in practice Project 2 due |
Notes 08 · soon |
- Review Notes 08
- Project 2 due
|
| WK 9 |
S16–S17 · Oct 27, Oct 29 |
Turing machines: the model, configurations, and variants |
Notes 09 · soon |
- Review Notes 09
- Project 3 specification released
|
| WK 10 |
S18–S19 · Nov 3, Nov 5 |
The Church–Turing thesis. Decidable and recognizable languages |
Notes 10 · soon |
- Review Notes 10
- Project 3 in progress
|
| WK 11 |
S20–S21 · Nov 10, Nov 12 |
Undecidability, diagonalization, and the halting problem |
Notes 11 · soon |
- Review Notes 11
- Project 3 in progress
|
| WK 12 |
S22–S23 · Nov 17, Nov 19 |
Mapping reductions and Rice's theorem Project 3 due |
Notes 12 · soon |
- Review Notes 12
- Project 3 due
- Project 4 specification released
|
| WK 13 |
S24 · Nov 24 |
Time complexity, the class P, nondeterminism, and the class NP◦ Nov 26 — no class (Thanksgiving) Capstone proposal due |
Notes 13 · soon |
- Review Notes 13
- Capstone proposal due
|
| WK 14 |
S25–S26 · Dec 1, Dec 3 |
NP-completeness, the Cook–Levin theorem, and polynomial-time reductions |
Notes 14 · soon |
- Review Notes 14
- Capstone in progress
|
| WK 15 |
S27–S28 · Dec 8, Dec 10 |
Space complexity and PSPACE. Capstone presentations |
Notes 15 · soon |
- Review Notes 15
- Capstone presentations
- Final report and code submission
|
| FINALS |
Dec 14 – 21 |
Final capstone deliverables due. No final examination. |