Se concentre sur l'utilisation d'Inox pour la vérification des programmes, en démontrant le processus de vérification des programmes et en assurant l'exactitude.
Introduit Stainless, un outil open-source pour vérifier les programmes Scala, couvrant le langage, la modélisation, les conseils de vérification et les travaux intérieurs.
Couvre les bases de la programmation fonctionnelle de Scala, y compris les stratégies d'évaluation, les conditions et les définitions de valeur, en mettant l'accent sur le calcul des racines carrées avec la méthode de Newton.
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.
Explore la conception de mémoire cache, les succès, les ratés et les politiques d'expulsion dans les systèmes informatiques, en mettant l'accent sur la localité spatiale et temporelle.
Explore la conception d'algorithmes avec récursion et programmation dynamique, couvrant des concepts comme les Tours de Hanoi et des solutions efficaces.
Explore l'évaluation des performances de la mémoire cache, couvrant les points de repère, la loi d'Amdahl, les performances du processeur, la hiérarchie de la mémoire, les optimisations de cache et les caches multiniveaux.
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.
Couvre la décomposition fonctionnelle avec la correspondance des motifs dans Scala pour accéder aux données hétérogènes dans une hiérarchie de classes.
Explore des sujets avancés d'ingénierie logicielle et de traitement du signal en utilisant des listes paresseuses pour construire un synthétiseur sonore à partir de zéro.
Explore l'analyse automatisée de terminaison à l'aide de paires de dépendances, couvrant les techniques classiques et modernes, les concours annuels et des outils comme AProVE.