Public concerné et conditions d’accès
Pré requis : Connaissance d'un langage de programmation.
Public concerné : Toute personne soucieuse d'élargir son champ de compétence en Programmation et Conception.
Finalités de l’unité d’enseignement
Objectifs pédagogiques :
Tous les langages de programmation modernes admettent des traits impératifs, fonctionnels et objets induisants des styles de programmation particuliers. Il convient donc de maitriser chacuns de ces styles afin de les mobiliser à bon escient.
Ce cours a pour objectif d'approfondir les aspects fonctionnels de la programmation par l'étude d'au moins un langage fondé sur un noyau purement fonctionnel. Il s'attachera aussi a fournir les techniques permettant
d'analyser ces programmes.
Capacité et compétences visées :
Maitrise de la conception et de l'analyse des programmes fonctionnels.
Organisation
Projet, mémoire
Un projet réalisé dans le langage
Partie 1 : apprentissage de la programmation fonctionnelle
- Les bases du langage
- Les fonctions, citoyennes de première classe (fonctions récursives, fonctions d'ordre supérieur, polymorphisme)
- Les types recursifs
- Evaluation applicative ou paresseuse.
- Les modules
Partie 2 : Analyse des programmes fonctionnels.
-Ensembles inductifs
-Raisonnement par induction et définition par récurrence.
Le cours s'organisera autour de cours, d'EDs et de la réalisation
d'un projet dans le langage.
Bibliographie
Auteur |
Titre |
|
B. Pagano, P. Manoury, E.Chailloux |
Developpement d'applications avec Objective Caml |
|
A. Brygoo, T. Durand, M. Pelletier, C. Queinnec, M. Soria |
Programmation récursive |
|
A. Arnold, I. Guessarian |
Mathematiques pour l'informatique | |