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.
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.
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.
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 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 conversion de programmes impératifs en formules de vérification, couvrant les affectations, les instructions if-else et les points-virgules de commande.