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.
Explore la conversion de programmes impératifs en formules, y compris les conditions de vérification, la construction de formules et les structures de flux de contrôle.
Explore la conversion de programmes impératifs en formules de vérification, couvrant les affectations, les instructions if-else et les points-virgules de commande.
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.
Couvre la logique de Hoare, la post-condition la plus forte et la condition préalable la plus faible pour simplifier les preuves dans la programmation impérative.
Décrit la logistique du cours et les objectifs de la programmation orientée objet, en mettant l'accent sur la gestion des erreurs et l'intégration de sessions pratiques avec l'apprentissage théorique.
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 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 de base de la programmation orientée objet en Java, mettant l'accent sur l'encapsulation, l'abstraction et l'importance d'organiser des programmes complexes.
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 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 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.
Présente le modèle d'observateur largement utilisé pour les vues afin de réagir aux changements de modèle, avec des exemples d'éditeur, d'abonné et de consolidateur.