COMPSCI 501: Spring 2022

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 MW 5:30-6:45 in room S140 ILC, unless there are future changes due to COVID. (We would likely have synchronous meetings at those times in that case.)

The Spring 2021 lectures are asynchronous and will be on Echo360. There are five lectures for each week of classes, and the chapter and section numbers from Sipser are given for each week below.

On most Monday class sessions there will be synchronous in-class discussions, where students will be presented with a problem and solve in in groups using breakout rooms. Attendance is required -- if you cannot make a meeting for good reasons, apply for an excused absence on the Moodle site.

The remaining class sessions will be "semi-lectures" and attendance will not be graded. They will be recorded on Echo360.

There will be one midterm exam, during class time on Monday 28 March, with a review session during the previous semi-lecture. There will be a final exam scheduled by the University during finals period.

PART I: Regular, Context-Free and Computable Languages

Week 1 Video Lectures: Basics, Induction, Regular Expressions (0, 1.3)
    Wed 26 Jan Semi-Lecture
    Mon 31 Jan Semi-Lecture

Week 2 Video Lectures: Finite Automata, Kleene, Myhill-Nerode (1)
    Wed 02 Feb Semi-Lecture
    Mon 07 Feb Discussion #1

Week 3 Video Lectures: Context-Free Languages (2.1-2.3)
    Wed 09 Feb Semi-Lecture
    Mon 14 Feb Discussion #2

Week 4 Video Lectures: Turing Machines, CT Thesis (3)
    Wed 16 Feb Semi-Lecture
    Tue 22 Feb Discussion #3 (MONDAY SCHEDULE)

Week 5 Video Lectures: Decidability (4)
    Wed 23 Feb Semi-Lecture
    Mon 28 Mar Discussion #4

Week 6 Video Lectures: Reducibility (5)
    Wed 02 Mar Semi-Lecture
    Mon 07 Mar Discussion #5

Week 7 Video Lectures): Recursion Theorem, Kolmogorov (6.1, 6.4)
    Wed 09 Mar Semi-Lecture

    SPRING BREAK

    Mon 21 Mar Discussion #6

Week 8 Review and MIDTERM on Ch. 1-6
    Wed 23 Mar Review Session
    Mon 28 Mar MIDTERM EXAM on Chapters 1-6 (Weeks 1-7)

PART II: Complexity Theory

Week 9 Video Lectures: Time Complexity, P and NP (7.1-7.3)
    Wed 30 Mar Semi-Lecture
    Mon 04 Apr Discussion #7

Week 10 Video Lectures: NP Completeness (7.4, 7.5)
    Wed 06 Apr Semi-Lecture
    Mon 11 Apr Discussion #8
 
Week 11 Video Lectures: Space Complexity (8.1-8.3) 
    Wed 13 Apr Semi-Lecture
    Mon 18 Apr HOLIDAY (Patriot's Day)

Week 12 Video Lectures: Logspace Complexity (8.4-8.6)
    Wed 20 Apr Semi-Lecture (MONDAY SCHEDULE)
    Mon 25 Apr Discussion #9

Week 13 Video Lectures: Circuit Complexity and the NC Classes
    Wed 27 Apr Semi-Lecture 
    Mon 02 May Discussion #10
    Wed 04 May Review Session

FINAL EXAM (cumulative): To be assigned by the University, in exam period



Last modified 4 January 2022