CS 360: Introduction to the Theory of Computing

Course Info, Tuesday/Thursday 11:30-12:50, MC 4064

Ben Reichardt, breic@cs, x38616, DC 2113 after class, or RAC 2113
TA: Jalaj Upadhyay, jkupadhy@cs, x33419, DC 3324, office hours Monday 10-11am & Wednesday 1-2pm

Announcements
(RSS feed)

Handouts

1. Course info
2. Proof methodology
3. HW 1due 1/13
4. HW 1 solutions
5. HW 2 and examples.pydue 1/25
6. HW 2 solutions and NFAtoDFA.py
7. half(L) example
8. HW 3due 2/3
9. HW 3 solutions
10. HW 4due 2/17
11. HW 4 solutions
12. Bison/flex calculator example
13. Midtermdue 3/10
14. HW 5due 3/17
15. HW 5 solutions
16. HW 6due 3/31
17. HW 6 solutions
18. Sample final exam questions


Schedule

Lecture Content Reference
Lecture 1 (Jan. 4) Introduction
Alphabets, strings, languages
Deterministic finite automata (DFAs)
Ch. 1, 2.1-2.2, 8.1.1, Handout 1, XKCD
Lecture 2 (Jan. 6) Nondeterministic finite automata (NFAs) Ch. 2.3.1 - 2.3.5, notes
Lecture 3 (Jan. 13) NFA to DFA conversion & overhead notes, Ch. 2.3.5 - 2.3.6
Lecture 4 (Jan. 18) epsilon-NFAs, Regular expressions notes, Ch. 3 (3.1 and 3.2)
Lecture 5 (Jan. 20) Equiv. betwn. Regular expressions & NFAs notes, Ch. 3.2.1-3.2.2
Lecture 6 (Jan. 25) Closure properties of regular languages Ch. 4.2-4.3, half(L) example
Lecture 7 (Jan. 27) Pumping Lemma notes, Ch. 4.1
Lecture 8 (Feb. 1) Review of regular languages, Context-free grammars notes, Ch. 5
Lecture 9 (Feb. 3) CFG ambiguity, Useless symbols, Chomsky normal form notes, Ch. 5
Lecture 10 (Feb. 8) Applications of CNF: Decision problems for CFGs, Pumping lemma for CFLs notes, Ch. 7.4, 7.2
bison/flex calculator example,
Senizergues paper (Deciding equality for DPDAs)
Lecture 11 (Feb. 10) Push-down automata, final-state & empty-stack acceptance notes, Ch. 6.1, 6.2
Lecture 12 (Feb. 15) CFG to PDA conversion notes, Ch. 6.3
Lecture 13 (Feb. 17) PDA to CFG conversion notes, Ch. 6.3
Lecture 14 (March 1) Turing machines notes, Ch. 8.2-8.3
Lecture 15 (March 3) Turing machine extensions notes, Ch. 8.4, 8.5.1, 9.2.1
Lecture 16 (March 8) Universal language is undecidable notes, Ch. 9.1-9.2
Lecture 17 (March 10) Reductions notes, Ch. 9.3
Lecture 18 (March 15) Reductions and decidability (continued)
Lecture 19 (March 17) Time complexity, NP-complete Ch. 10.1
Lecture 20 (March 22) Cook-Levin Theorem: SAT is NP-complete notes, Ch. 10.2
Lecture 21 (March 24) Polynomial-time reductions: More NP-complete problems notes, Ch. 10.4
Lecture 22 (March 29) NP-complete problems, Time hierarchy theorem notes, Ch. 10.4