Vous êtes ici :

UFR de mathématique et d'informatique

Information importante

La page que vous consultez correspond à l'offre de formation 2023-2024.

Trouvez votre formation pour l'année universitaire 2024-2025

Programmation fonctionnelle

  • Cours (CM) 14h
  • Cours intégrés (CI) -
  • Travaux dirigés (TD) 14h
  • Travaux pratiques (TP) 10h
  • Travail étudiant (TE) -

Langue de l'enseignement : Français

Niveau de l'enseignement : B2-Avancé - Utilisateur indépendant

Description du contenu de l'enseignement

Cette UE présente le paradigme de programmation fonctionnelle, ses principes fondateurs (composition de fonctions, variables au sens mathématique, propriété de transparence référentielle, pureté), les concepts de base permettant d’écrire un programme dans ce mode (équation fonctionnelle, application de fonction, conditionnelle, fonction anonyme, définition temporaire, récursivité), ainsi que des notions plus avancées (fonctionnelles, fonctions d'ordre supérieur (fold, map), curryfication, application partielle). Les types omniprésents dans les langages fonctionnels récents y sont étudiés (constructeurs * et ->, types produits et sommes, types récursifs (exemple des listes), filtrage, polymorphisme, calcul ou inférence de types). Les différentes stratégies d’évaluation (évaluation affairée, paresseuse) des expressions fonctionnelles y sont discutées. Les programmes illustratifs sont écrits en utilisant le langage support Haskell.

Compétences à acquérir

À l'issue de cette UE, un étudiant est capable de :
- faire la distinction entre l'approche fonctionnelle et l'approche impérative
- programmer en utilisant le mode fonctionnel dans tout langage de programmation l’autorisant
- utiliser le procédé de programmation par filtrage
- reconnaître et réutiliser les principales fonctions d’ordre supérieur (fold,map) sur les listes
- se rapprocher des termes du problème en définissant et en utilisant de nouveaux types

Bibliographie, lectures recommandées

Références :
- Graham Hutton, Programming in Haskell, Cambridge University Press, 2007
- Simon Thompson, Haskell: The Craft of Functional Programming, Addison Wesley, 2011
- Eric Violard, Mini-manuel de Programmation fonctionnelle, Dunod, 2014
 

Pré-requis obligatoires

À l'entrée de cette UE, un étudiant devrait avoir suivi ou être capable de :
- avoir suivi un enseignement de mathématiques introduisant aux notions suivantes :
ensembles, suites récurrentes, fonctions (dérivée, intégrale), équations (résolution d'une équation du premier ou du second degré), preuve par récurrence.

Contact

UFR de mathématique et d'informatique

7, rue René Descartes
67084 STRASBOURG CEDEX
0368850200

Formulaire de contact

Responsable

Eric Violard


LICENCE - Informatique

Partenaires

Logo du CNRS
Logo Établissement associé de l'Université de Strasbourg
Logo du réseau Epicur
Logo de EUCOR, Le Campus européen
Logo de l'Inserm Grand Est
Logo de l'Inria

Labels

Logo du label Bienvenue en France
Logo du programme HRS4R
Logo du programme France 2030
Logo de Service Public+

Réseaux

Logo de France Universités
Logo de la Ligue européenne des universités de recherche (LERU)
Logo du réseau Udice
Logo de l'Université franco-allemande