Computational Complexity

INFR11102 - 2019 Autumn

General Information


The goal of computational complexity is to classify computational problems according to their intrinsic difficulty or “complexity”. It complements algorithms as we will be aiming to provide “lower bounds” to various problems. Among other things, we will talk about why the P vs. NP problem, one of the seven Millennium Prize Problems, is important, intriguing, and difficult!

Some recommended (but not required) readings:

In particular, the Arora-Barak book is available online through the library (EASE account required). Most material of this course can be found in the Arora-Barak book.

Schedule / Lecture Notes

Lecture notes will be updated in due course. Notes from the last offering can be found below (marked with *). This schedule is subject to adjustments as the course progresses. Even older notes can be found further below.

Problem Sets

There are two problem sets. The first one is for feedback only and the second one for credits. Solutions will appear in due course.

Some Learning Resources


Please read the following guidelines regarding coursework: