CSC 452/652 – Spring 2020 – Schedule

Note: This is the original class schedule, as planned for a fully face-to-face class. With the transition to online teaching, this is no longer accurate but is kept for reference. Please see the current schedule for current information.

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. Some topics also have supplemental (non-required) readings that students can look into if they want to delve more deeply into that topic.

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.

Day 1: Monday, January 13.

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

Day 2: Wednesday, January 15

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

Note: No class on Monday, January 21 (Martin Luther King, Jr. Holiday)
Day 3: Wednesday, January 22

Reading: Sections 0.3 – 0.4
Topics: Review of proof techniques
Assigned: Assignment 1

Day 4: Monday, January 27

Reading: Section 1.1
Topics: Deterministic finite automata - day 1

Day 5: Wednesday, January 29

Topics: Deterministic finite automata - day 2

Day 6: Monday, February 3

Due: Assignment 1
Reading: Section 1.2
Topics: Nondeterministic finite automata
Assigned: Assignment 2

Day 7: Wednesday, February 5

Reading: Sections 1.3 – 1.4
Topics: Regular expressions and non-regular languages (pumping lemma) - day 1

Day 8: Monday, February 10

Topics: Regular expressions and non-regular languages (pumping lemma) - day 2

Day 9: Wednesday, February 12

Due: Assignment 2
Topics: Review and problem day

Day 10: Monday, February 17

Topics: Exam 1

Day 11: Wednesday, February 19

Reading: Section 2.1
Topics: Context-Free Grammars - day 1
Assigned: Assignment 3

Day 12: Monday, February 24

Reading: Section 2.1
Topics: Context-Free Grammars - day 2

Day 13: Wednesday, February 26

Reading: Section 2.2
Topics: Pushdown automata

Note: No class on March 2 – 6 (Spring Break)
Day 14: Monday, March 9

Reading: Section 2.3
Topics: Non-Context-Free Languages

Day 15: Wednesday, March 11

Due: Assignment 3
Reading: Section 2.4
Topics: Deterministic Context-Free Languages and parsing
Assigned: Assignment 4

Day 16: Monday, March 16

Reading: Chapter 3
Topics: Church-Turing Thesis - day 1

Day 17: Wednesday, March 18

Topics: Church-Turing Thesis - day 2

Day 18: Monday, March 23

Reading: Chapter 4
Topics: Decidability - day 1

Day 19: Wednesday, March 25

Due: Assignment 4
Topics: Decidability - day 2

Day 20: Monday, March 30

Topics: Review and problem day

Day 21: Wednesday, April 1

Topics: Exam 2

Day 22: Monday, April 6

Reading: Chapter 5
Topics: Reducability - day 1

Day 23: Wednesday, April 8

Topics: Reducability - day 2

Day 24: Monday, April 13

Reading: Section 6.1
Topics: Recursion Theorem

Day 25: Wednesday, April 15

Reading: Sections 7.1 – 7.2
Topics: Time complexity basics and class P

Day 26: Monday, April 20

Reading: Sections 7.3 – 7.5
Topics: Class NP and NP-completeness

Day 27: Wednesday, April 22

Topics: Miscellaneous topics (TBD) - day 1

Day 28: Monday, April 27

Topics: Miscellaneous topics (TBD) - day 2

Day 29: Wednesday, April 29

Topics: Last day of class – review

Final Exam

Wednesday, May 6, 3:30-6:30