CSC 452/652/752 – Spring 2025 – Schedule

The following gives a day-by-day breakdown of topics covered, readings assigned, and assignment handouts/due dates. Each topic includes several required readings that students should read before the topic is discussed in class – always look ahead a few days to see what readings you should be doing.

The schedule in this class is flexible, and past dates will be updated to reflect what was actually covered. Future dates are always tentative and subject to change, and dates more than two week in the future are simply “best guesses” to be updated as the time approaches.

Day 1: Monday, January 13

Topics: Class overview and syllabus review; introduction to theory of computing

Day 2: Wednesday, January 15

Reading: Sections 0.1 – 0.2
Topics: Review of mathematical structures

No class on Monday, January 20 – Dr. Martin Luther King Jr. Holiday
Day 3: Wednesday, January 22

Reading: Sections 0.3 – 0.4
Topics: Review of proof techniques

Day 4: Monday, January 27

Due on Sunday: Assignment 1 (Math Background and Proofs)
Reading: Section 1.1
Topics: Deterministic finite automata (DFAs)

Day 5: Wednesday, January 29

Reading: Section 1.2
Topics: Nondeterministic Finite Automata (NFAs)

Day 6: Monday, February 3

Due on Sunday: Assignment 2 (DFAs and NFAs)
Reading: Sections 1.3
Topics: Regular expressions

Day 7: Wednesday, February 5

Reading: Sections 1.4
Topics: Non-regular languages (pumping lemma)

Day 8: Monday, February 10

Due on Sunday: Assignment 3 (Regular Expressions and Pumping Lemma)
Reading: Section 2.1
Topics: Introduction to Context-Free Grammars

Day 9: Wednesday, February 12

Topics: Review and problem day (chapters 0 and 1)

Day 10: Monday, February 17

Exam 1 (covers Chapters 0 and 1)

Day 11: Wednesday, February 19

Reading: Section 2.2
Topics: More CFGs and Pushdown automata

Day 12: Monday, February 24

Due on Sunday: Assignment 4 (CFGs and PDAs)
Reading: Section 2.3
Topics: Non-Context-Free Languages

Day 13: Wednesday, February 26

Reading: Section 3.1
Topics: Turing Machines

Day 14: Monday, March 3

Due on Sunday: Assignment 5 (Non-CFLs and TMs)
Reading: Section 3.2–3.3
Topics: Variants of Turing Machines, and Algorithms

Day 15: Wednesday, March 5

Reading: Section 4.1
Topics: Decidable Languages

No class on March 10 – March 14 (Spring break)
Day 16: Monday, March 17

Reading: Section 4.2
Topics: Undecidability

Day 17: Wednesday, March 19

Due on Tuesday: Assignment 6 (TM variants and decidable languages)
Topics: Review and problem day (chapters 2–4)

Day 18: Monday, March 24

Exam 2 (covers chapters 2 and 3)

Day 19: Wednesday, March 26

Reading: Section 5.1
Topics: Undecidable Problems from Language Theory

Day 20: Monday, March 31

Due on Sunday: Assignment 7 (Undecidability)
Topics: Undecidable Problems from Language Theory (continued)

Day 21: Wednesday, April 2

Graduate/Honors students: Topic selection for Project is due
Reading: Section 5.2-5.3
Topics: A simple undecidable problem, and mapping reducibility

Day 22: Monday, April 7

Due on Sunday: Assignment 8 (PCP and mapping reducibility)
Reading: Sections 7.1–7.2
Topics: Time complexity and the class P

Day 23: Wednesday, April 9

Reading: Sections 7.3–7.4
Topics: The class NP and NP-completeness basics

Day 24: Monday, April 14

Due on Sunday: Assignment 9 (Time complexity, P, and NP)
Reading: Sections 7.5
Topics: Cook-Levin Theorem and NP-completeness proofs

Day 25: Wednesday, April 16

Graduate/Honors students: Progress report for Project is due
Reading: Section 7.5 (continued)
Topics: More NP-completeness proofs

Day 26: Monday, April 21

Due on Sunday: Assignment 10 (NP completeness proofs)
Reading: Sections 8.1–8.2
Topics: Basics of space complexity and Savitch’s Theorem

Day 27: Wednesday, April 23

Reading: Sections 8.3
Topics: PSPACE-completeness

Day 28: Monday, April 28

Due on Sunday: Assignment 11 (Space complexity)
Topics: Catch-up, or class choice topic

Day 29: Wednesday, April 30

Graduate/Honors students: Final report for Project is due
Topics: Class wrap-up and review

 

Final Exam

Wednesday, May 7, noon