Couvre les concepts et la mise en œuvre de la programmation fonctionnelle dans Scala, mettant l'accent sur les fonctions, les données immuables et l'abstraction des données.
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.
Couvre les problèmes d'arrêt optimaux dans les probabilités appliquées et les processus stochastiques, en se concentrant sur la théorie et les applications pratiques.
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.
Couvre la définition d'un langage de programmation simple et sa sémantique à grande échelle, y compris les expressions arithmétiques et les commandes impératives.
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.