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 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.
Couvre les bases de la programmation, y compris le cycle de développement d'un programme, forte dactylographie, stockage de données dans les variables Java, et les types de données primitives.
Explore les limites impératives de la programmation, les théories sans mutation, les principes de programmation fonctionnelle et l'histoire des langages fonctionnels.
Couvre les concepts fondamentaux des boucles et itérations dans la programmation, y compris les boucles conditionnelles, pour les boucles, tandis que les boucles, cassent et poursuivent les énoncés.
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.
Explore la mutation sûre dans Scala, en mettant l'accent sur la gestion de l'état mutable et son importance dans les interactions, la modélisation et l'efficacité de mise en œuvre.
Explore la programmation réactive fonctionnelle à l'aide de signaux pour simplifier les changements d'état et les réactions aux événements dans une approche plus fonctionnelle et propre.
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 les bases de la programmation, y compris les types, les variables, les méthodes, les fonctions, les conditions, les boucles et la logique booléenne.
Couvre la simulation d'événements discrets à l'aide de circuits numériques, de composants de base, de composants complexes et de la mise en œuvre de la simulation.
Explore la programmation réactive fonctionnelle comme une alternative plus propre et plus fonctionnelle au modèle d'observateur traditionnel, en utilisant des signaux pour simplifier les hiérarchies d'observateurs complexes.
Explore l'abstraction contextuelle dans la construction de logiciels, en discutant comment les fonctions et les cours peuvent être écrits sans connaissance détaillée du contexte dans lequel ils seront utilisés.