v2.11.0 (5976)

Cours scientifiques - CSC_3F001_EP : Functional Programming

Domaine > Informatique.

Descriptif

Ce cours donne une introduction théorique et pratique à la programmation fonctionnelle dans des langages modernes fortement typés. Nous étudierons en profondeur les notions de types algébriques, de fonctions d'ordre supérieur, de polymorphisme et d'effets de bord. Des projets sont réalisées en Haskell, mais les concepts présentés dans le cours sont applicables dans de nombreux autres langages, notamment OCaml et Python.

Objectifs pédagogiques

Acquérir une compréhension des fondements théoriques des langages de programmation fonctionnelle typés et développer des compétences en programmation dans ces langages, en particulier Haskell.

Pour les étudiants du diplôme Programmes d'échange internationaux

CSC_2F003_EP (CSE201) et CSC_2F003_EP (CSE203)

Pour les étudiants du diplôme Bachelor of Science de l'Ecole polytechnique

Vous devez avoir validé l'équation suivante : UE CSC_2F001_EP Et UE CSC_2F003_EP

CSC_2F003_EP (CSE201) et CSC_2F003_EP (CSE203)

Format des notes

Numérique sur 20

Littérale/grade américain

Pour les étudiants du diplôme Bachelor of Science de l'Ecole polytechnique

Vos modalités d'acquisition :

tutoriels de programmation, examen final, projet final

Le rattrapage est autorisé (Note de rattrapage conservée écrêtée à une note seuil de 10)
    L'UE est acquise si Note finale >= 9
    • Crédits ECTS acquis : 3 ECTS

    La note obtenue rentre dans le calcul de votre GPA.

    Pour les étudiants du diplôme Programmes d'échange internationaux

    Vos modalités d'acquisition :

    tutoriels de programmation, examen final, projet final

    Programme détaillé

    1. types algébriques
    2. fonctions d'ordre supérieur et classes de types
    3. lambda calcul et correspondance formule/type
    4. Effets de bord et monades
    5. Évaluation paresseuse et objets infinis
    6. Dérivées de types et zippers

    Mots clés

    programmation fonctionnelle, types

    Méthodes pédagogiques

    cours magistraux et séances pratiques de programmation
    Veuillez patienter