Retour à Maîtrise d’ informatique

Méthodes et techniques de programmation

Objectifs

Présentation de concepts de programmation avancée et de leur mise en oeuvre à travers différents paradigmes.

Programme

Un premier objectif de cet enseignement est de présenter les spécificités des principaux modèles de programmation afin de donner les moyens, étant donné un problème, de choisir l’approche la mieux adaptée. Un second objectif est de permettre d’assimiler plusieurs techniques de programmation modulaire. Les principaux thèmes traités sont les suivants :

  • Réutilisabilité du code : règles de lisibilité, factorisation du code, masquage d’implémentation.
  • Organisation des données (principalement la gestion de la mémoire, et les aspects de portabilité) et du contrôle (tests, appels de fonction, réécritures).
  • Constructions impératives : échappements structurés, sauts (dépilements de contexte, continuations), exceptions, application à la gestion des erreurs.
  • Modèles à objets : concepts de base (objets, classes, instanciation, envoi de message, héritage), mécanismes de liaison, implémentations.
  • Programmation fonctionnelle : paradigme fonctionnel, lambda-calcul, stratégies d’évaluation, liaisons dynamiques, macros, évaluation retardée, langages à équations et à expressions symboliques.
  • Programmation logique : aspect déclaratif (termes, unification, résolution, espaces de recherche), aspect procédural (structures de contrôle, programmation déterministe, cut, négation, contraintes).

Bibliographie

Annales d’examen