Computational Complexity

INFR11102 - Spring 2018

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 we will cover can be found in this book.

Schedule / Lecture Notes

Below is a tentative schedule. It is likely to be too ambitious and I will adjust it in due course. I will also upload lecture notes, once they are available. Older lecture notes can be found 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: