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 la mise en œuvre de fonctions récursives à l'aide de substitutions et d'environnements, montrant la capacité d'exécuter des fonctions calculables.
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.
Présente un interpréteur basé sur l'environnement pour les fonctions récursives, optimisant l'évaluation grâce à des liaisons de paramètres et éliminant le besoin de substitutions explicites.
Explore l'efficacité de la table de hachage, les fonctions totales dans la modélisation de code et les relations bien fondées pour la terminaison des fonctions récursives.
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.