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.
Explore la mutation sécuritaire dans la programmation fonctionnelle grâce à une évaluation paresseuse, à des invariants d'objets et à des fonctions de cache efficaces.
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 programmation parallèle dans Scala, les opérations fonctionnelles sur les collections, et les fonctions de carte parallèle sur les tableaux et les arbres.
Explore les compléments des fonctions, l'ordre des paramètres et la manipulation des listes, y compris le comptage des événements et la résolution du « problème des 100 prisonniers ».
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.
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.
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 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.