Introduit la complexité computationnelle, les problèmes de décision, la complexité quantique et les algorithmes probabilistes, y compris les problèmes dures au NP et les problèmes complets au NP.
Explore la cryptanalyse dans les systèmes à clé publique et la puissance de l'interaction dans les preuves interactives, couvrant le CO-NP, les classes NP, P vs. NP, et plus encore.
Explore les graphes de Ramanujan, génère des fonctions, des marches sans retour en arrière et des graphes expandeurs en relation avec les problèmes NP-hard.