Paradigmes de programmation
UTC503


Objectifs pédagogiques :

Connaître et approfondir certains paradigmes de programmation : logique, fonctionnel, réactif, objet ; savoir les mettre en œuvre ; comprendre leurs différences.

Public et conditions d'accès :

Connaître un langage de programmation avancé, comme java, et maîtriser les notions d'algorithme, de procédure et fonction, d'objet, de méthode, et d'héritage.

Méthodes de validation :

Examen final obligatoirement sur papier, complété éventuellement d'un contrôle continu.

Contenu de l'examen final et du contrôle continu:

  • Pas plus de 50% sur le paradigme impératif/objet dans les cours et dans l'examen. Le but est de voir autre chose que le paradigme dominant. Au choix un ou deux autres paradigmes, il ne s'agit pas de devenir des spécialistes mais de savoir écrire des petits programmes idiomatiques.
  • Pas moins de 70% de questions de programmation, c'est-à-dire pour lesquelles l'élève doit écrire du code. Ceci est valable également pour les TD/TP. les QCM sont donc EXCLUS notamment à l'examen.
Contenu de la formation :
  • Contenu sans obligation d'exhaustivité: Paradigme objet, généricité, héritage et polymorphisme, introspection ; paradigme fonctionnel, lambda expressions, clôtures, objets persistants, promesses ; paradigme logique. Divers langages de programmation pourront être abordés, par exemple Java ou C# pour le paradigme objet, Javascript, Scala, Haskell ou Kotlin pour la programmation fonctionnelle, Prolog pour la programmation logique. Au mois 50% du programme (et de l'examen) concernent un autre paradigme que la programmation objet (dominant aujourd'hui).
  • Structure: L'enseignement comprendra un noyau de cours magistraux, mais surtout un volume important de TP sur machine. En particulier, on partira d'un ou plusieurs objectifs de programmation et leur déclinaison dans divers paradigmes.

Cette UE apparaît dans les diplômes et certificats suivants :

Prochaines sessions de formation

Recherche en cours