COMPSCI 501: Spring 2021

Syllabus and Course Schedule

Prof. David Mix Barrington

Reading assignments are from Sipser, An Introduction to the Theory of Computation, third (or second) edition, available through the university's eCampus entity and elsewhere.

Class meetings are MWF 11:15-12:05 at Zoom addresses available on the Moodle site. Lectures are asynchronous and will be on Echo360. The Monday and Wednesday class sessions (except Weeks 4, 8, 11) will be discussions, where students will be presented with a problem and solve in in groups using breakout rooms. Students are required to attend one discussion each week -- students with odd UMass student numbers should come Monday and students with even numbers should come Wednesday, with a limited number of exceptions. The Friday meeting will be an optional "non-lecture" with format varying week to week.

There will be one midterm exam on the Friday of Week 8 (26 March), during the class period, with review sessions on the Monday and Wednesday before. There will be a final exam scheduled by the University during finals period.

PART I: Regular, Context-Free and Computable Languages

Week 1 (1-5 Feb): Basics, Induction, Regular Expressions (0, 1.3)

Week 2 (8-12 Feb): Finite Automata, Kleene, Myhill-Nerode (1)

Week 3 (15-19 Feb): Context-Free Languages (2.1-2.3)

Week 4 (22-26 Feb): Turing Machines, CT Thesis (3) (NO DISCUSSION)

Week 5 (1-5 March): Decidability (4)

Week 6 (8-12 March): Reducibility (5)

Week 7 (15-19 March): Recursion Theorem, Kolmogorov (6.1, 6.4)

Week 8 (22-26 March): Review and MIDTERM on Ch. 1-6 (NO DISCUSSION)

PART II: Complexity Theory

Week 9 (29 Mar-2 Apr): Time Complexity, P and NP (7.1-7.3)

Week 10 (5-9 April): NP Completeness (7.4, 7.5)

Week 11 (12-16 April): Space Complexity (8.1-8.3) (NO DISCUSSION)

Week 12* (19-23 April): Logspace Complexity (8.4-8.6)


Week 13 (26-30 April): Circuit Complexity and the NC Classes

FINAL EXAM (cumulative): 12 May, 11:30-1:30

*there are two Wednesdays in Week 12, we will decide later which to use

Last modified 20 April 2021