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.
Couvre les fondamentaux de l'optimisation d'entier, y compris la programmation d'entier, la programmation dynamique et les algorithmes d'approximation.
Explore l'optimisation dans la modélisation des systèmes énergétiques, couvrant les variables de décision, les fonctions objectives et les différentes stratégies avec leurs avantages et leurs inconvénients.
Explore la complexité de l'algorithme, la notation big-O, l'induction, la récursion et l'analyse des temps de fonctionnement, couvrant les problèmes NP et les classes de complexité.