Introduit la programmation dynamique, en se concentrant sur l'économie de calcul en se souvenant des calculs précédents et en l'appliquant pour résoudre efficacement les problèmes d'optimisation.
Introduit des fonctions définies récursivement et démontre comment calculer des valeurs et prouver des propriétés en utilisant l'induction mathématique.
Couvre les techniques de comptage avancées, y compris les relations de récurrence linéaire et les fonctions génératrices, avec des exemples de la séquence de Fibonacci et des différences entre les dés et les cartes de poker.