Logical Aspects of Computation, Spring 2026

ETH Zürich: Course Catalog

Course Description

Why are some computational problems easy and others seemingly impossible? This question sits at the heart of theoretical computer science, and most of the seminar’s participants have already been exposed to basic results about decidability and NP-completeness before (252-0057-00L). Building on this basis, this seminar approaches computation from the logical perspective, an angle which is rarely integrated into the undergraduate curriculum.

The seminar unfolds over two units. The first unit focuses on the nature of NP. We begin with a review of Cook and Levin’s proof that Boolean satisfiability is NP-complete (Cook 1971; Levin 1973). We then turn to a more obscure result, but, in the opinion of the lecturer, a deeper result: Fagin’s characterisation of NP as the class of problems expressible in existential second-order logic (Fagin 1974). A central ambition of this unit is to construct, collaboratively, a meta-theorem that reveals these two results as expressions of the same underlying idea, and to appreciate why Fagin’s theorem, operating at the level of logical expressibility rather than individual reductions, achieves something more uniform. (We will briefly explain the notion of uniformity in the theory of computation.) The second unit turns to alternation (Chandra, Kozen and Stockmeyer 1981), a simple generalisation of nondeterminism that generates the entire polynomial hierarchy (Stockmeyer 1976) and connects the structure of complexity classes to the structure of logical quantifiers. Each unit pairs close engagement with the theoretical results with hands-on implementation in Python, because it is in the code that the mathematics becomes tangible.

Course Structure and Schedule

This seminar will be taught in the spirit of Freire’s Pedagogia do Oprimido [Pedagogy of the Oppressed] (Freire 1968). For Freire, the great failure of traditional education is what he calls the banking model. In the metaphor, the teacher is a depositor, the student is a passive receptacle, and education is an inert transfer of facts. Militating against this, Freire insists that genuine understanding is always constructed in dialogue—between people grappling with ideas together, and, in this seminar, between a student and their Python interpreter as they work to make their implementations pass the unit tests.

Attendance is not taken and is not mandatory. Moreover, everyone receives a 6. These are not loopholes. They are a deliberate refusal to let fear or coercion do the work that curiosity should. Come to class because you are curious. That is enough.

Time: Friday 12:15-14h

Location: CAB G 52 (first session: CHN D 29)

Week Date Paper
1 20.02.26 Canceled
2 27.02.26 Canceled
3 06.03.26 Introduction and Course Philosophy
4 13.03.26 Turing Machines and Boolean Satisfiability
5 20.03.26 Programming!
6 27.03.26 Cook–Levin
7 03.04.26 Easter Break (Good Friday)
8 10.04.26 TBD
9 17.04.26 TBD
10 24.04.26 TBD
11 01.05.26 Labor Day
12 08.05.26 TBD
13 15.05.26 TBD
14 22.05.26 TBD
15 29.05.26 TBD

Bibliography

Lecturer

Avatar

Ryan Cotterell

Assistant Professor of Computer Science

ETH Zürich