Nombre de crédits
3 ECTS
Durée de la formation
30 heures
Modalité
Alternance
Connaître et approfondir les principaux paradigmes de programmation : impératif, logique, fonctionnel, réactif, objet ; savoir les mettre en œuvre ; comprendre leurs différences.
Pouvoir aborder un nouveau langage de programmation ou une nouvelle bibliothèque en reconnaissant les usages dans ceux-ci des principaux paradigmes. La plupart des langages de programmation actuels étant hybrides, et s’ouvrant de plus en plus au paradigme fonctionnel, les connaissances dans un paradigme seront utilisables au-delà de celui-ci.
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.
Contenu: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. Structure: L’enseignement comprendra un noyau de cours magistraux, mais surtout un volume important de TD/TP. En particulier, on partira d’un problème donné, et on verra comment le résoudre dans les divers paradigmes.
Les cours en présentiel : ils ont lieu en présence des élèves et de l’enseignant dans un centre Cnam :
Aucun cours n’est enregistré ni diffusé via Internet. La présence physique des élèves est nécessaire.
Les examens se déroulent exclusivement dans le centre Cnam où se déroulent les cours.
La modalité hybride est une combinaison entre :
La modalité Foad est parfaitement adaptée à votre disponibilité :
Examen final, complété éventuellement d’un contrôle continu.