Accès direct au contenu

  • Répertoire des centres Cnam en région
  • Accès à l'espace numérique de formation
  • Application mobile
  • Musée des arts et métiers
  • Accès réservé à l'intranet

Programmation Fonctionnelle : Conception et Analyse

Tous les langages de programmation modernes admettent des traits impératifs, fonctionnels et/ou objets, correspondant à des styles de programmation particuliers. Il convient donc de maitriser chacun de ces styles afin de les mobiliser à bon escient. Ce cours a pour objectif d'approfondir le paradigme fonctionnel de la programmation par l'étude ...

Public et conditions d'accès

Pré requis : Pratique de la programmation: par exemple, avoir le niveau des UES NFA031 et NFA032, ou équivalents pour d'autres langages de programmation.

Public concerné : Toute personne soucieuse d'élargir son champ de compétence en programmation par l'apprentissage de langages fonctionnels.

Objectifs pédagogiques

Tous les langages de programmation modernes admettent des traits impératifs, fonctionnels et/ou objets, correspondant à des styles de programmation particuliers. Il convient donc de maitriser chacun de ces styles afin de les mobiliser à bon escient. Ce cours a pour objectif d'approfondir le paradigme fonctionnel de la programmation par l'étude d'au moins un langage fondé sur un noyau purement fonctionnel. Cette étude sera ensuite élargie à un contexte multi-paradigmes, et éventuellement illustrée par un autre langage comme Java ou Scala. Ce cours est également conseillé comme préparation aux UES NFP209 et 210 du parcours Fiabilité des Systèmes (option AISL du diplôme d'ingénieur).
 

Compétences visées

Connaissance et pratique d'un langage fonctionnel. Mise en oeuvre de programmes fonctionnels sur des structures des données récursives.

Préparation au parcours fiabilité des systèmes (pour les UES NFP209 et NFP210 de l'option AISL du diplôme d'ingénieur).

Contenu


Les bases d'un langage fonctionnel (Ocaml)
Les fonctions, citoyennes de première classe (fonctions récursives, fonctions d'ordre supérieur, polymorphisme).
Les types récursifs et les fonctions qui les exploitent.
Le paradigme fonctionnel dans un langage impératif et/ou objet.
Le cours s'organisera autour de cours, d'ED sur machine et de la réalisation
d'un projet dans le langage fonctionnel enseigné.

Modalités de l'évaluation

Un examen et un projet  de programmation (dans le langage enseigné), tous les deux obligatoires.

Bibliographie

  • B. Pagano, P. Manoury, E.Chailloux : Developpement d'applications avec Objective Caml
  • John Whitington : Ocaml for the very beginning
  • Philippe Narbel : Programmation fonctionnelle, générique et objet: une introduction avec le langage OCaml
  • Martin Odersky, Lex Spoon, and Bill Venners : Programming in Scala

Contact national

Secrétariat Equipe pédagogique AISL
Case 2D4P30, Accés 37.0.36, 2 rue Comté
Paris
Tél : 01 40 27 27 02
Fax : 01 58 80 84 93
Emmanuelle BIAR

Voir le site deptinfo.cnam.fr/new/infos.php?ue=NFP119

Voir les dates et horaires, les lieux d'enseignement et les modes d'inscription sur les sites internet des centres régionaux qui proposent cette formation


Code UE : NFP119

6

Responsable national

Maria-Virginia APONTE-GARCIA