Sûreté de la programmation orientée objets
6 crédits Tristan CROLARD EPN05 - Informatique Unité d'enseignement de type cours
Publié Du 01-09-2007 au 31-08-2019
Avoir une expérience de la programmation orientée objets ou avoir le niveau des unités d'enseignement VARI (NFP135 et NFP136).
L'objectif de ce cours est d'étudier les mécanismes des langages orientés objets (encapsulation, héritage, redéfinition, liaison tardive, ...) lorsqu'ils sont sont combinés avec le style de la programmation fonctionnelle. L'accent est mis sur la sûreté de l'exécution et en particulier, sur ce que doit apporter le typage statique pour assurer la correction de l'exécution.
Maîtrise du paradigme fonctionnel-objet. Compréhension du rôle et du fonctionnement du typage statique.
L'unité NFP101 apparaît dans 5 cursus.
Master Sciences, technologies, santé mention Informatique parcours Recherche opérationnelle
Master Sciences, technologies, santé mention Informatique parcours Systèmes d'information et business intelligence
Master Sciences, technologies, santé mention Informatique parcours Systèmes Embarqués Mobiles Sûrs et objets connectés
Diplôme d'ingénieur Spécialité informatique parcours Architecture et ingénierie des systèmes et des logiciels (AISL)
Titre RNCP Niveau 6 Concepteur en architecture informatique
Les séances prendront la forme de "leçons" : les concepts seront présentés en cours puis illustrés directement à travers des exemples et des exercices de programmation.
Le langage utilisé pour illustrer ces concepts sera Java, Scala ou un langage moderne équivalent.
L'accent sera mis en particulier sur les avantages du typage statique et de la combinaison des styles de programmation objet et fonctionnels pour garantir des propriétés essentielles de sûreté.
Une application majeure des techniques étudiées sera l'implantation d'algorithmes massivement parallèles dans le style classique Map-Reduce.
Ce cours se termine par une initiation à l'utilisation de méthodes formelles pour aller au-delà du typage et prouver complètement la correction d'un programme objet-fonctionnel.