This is the home page for CMPSCI 741. CMPSCI 741 is an advanced graduate course in computational complexity theory, with a focus on circuit complexity and its connections to automata theory and logic. The exact subject matter treated will depend somewhat on the interests of the students.

**Instructor Contact Info:**
David Mix Barrington, 210 CMPSCI
building, 545-4329, zoom 459 532 6175, office hours Mon 10-11 (zoom),
Tue 11-12 (live), Fri 11-12 (zoom).
I generally answer my email fairly
reliably.

The course will meet for two lecture meetings a week, Monday and Wednesday, 4:00-5:15, in room 140 of the Computer Science building.

The expected background is a graduate course in the theory of computation, such as our own COMPSCI 601, or complete mastery of an undergraduate course in that are such as our own COMPSCI 501. This background can be obtained from a variety of textbooks, such as those by Arora-Barak, Papadimitriou, or Sipser.

The required textbook is the undergraduate lecture notes, written by Alexis Maciel and me, from the 2000 PCMI special year in complexity theory. We will cover the basic lectures quickly, and go into detail on Advanced Lectures 1-10, on models of low-level computation and circuits for integer division. If there is time, we will then go off into topics of student interest.

Each student will prepare a presentation of some topic related to the course, in the last couple of weeks of the term. That presentation, and some problem sets during the term, will be the basis for grading the course.

- Course Requirements and Grading (not yet)
- Homework Assignment Directory (none so far)
- Questions and Answers on Homework (none so far)
- Syllabus (a work in progress)

**Announcements (10 August 2021):**

- (10 Aug) I am just putting up the preliminary web page, and I've emailed the three students now signed up. We will begin on Wednesday 1 September with a review of the basic definitions of circuit complexity from CMPSCI 601 or an equivalent course: size, depth, uniformity, polynomial size and polynomial time, and several examples of algorithms implemented by circuits.

Last modified 1 September 2021