Programmation fonctionnelle en Java

Code UE : NFP101-NMD

  • Cours
  • 6 crédits
  • Volume horaire de référence
    (+ ou - 10%) : 50 heures

Responsable(s)

Tristan CROLARD

Public, conditions d’accès et prérequis

Avoir une expérience de la programmation orientée objets ou avoir le niveau des unités d'enseignement VARI (NFP135 et NFP136).

L'avis des auditeurs

Les dernières réponses à l'enquête d'appréciation pour cet enseignement :

Objectifs pédagogiques

L’objectif de ce cours est d’apprendre le paradigme de la programmation fonctionnelle et objet et de comprendre les avantages liés à cette approche. 
Les mécanismes usuels des langages orientés objet (encapsulation, héritage, redéfinition, liaison tardive, ...) seront aussi revisités dans le cadre particulier de la programmation fonctionnelle. L'accent sera mis en particulier sur les avantages du typage statique et de la combinaison des styles de programmation objet et fonctionnel pour garantir des propriétés essentielles de sûreté.
Le langage utilisé pour illustrer ces concepts sera Java (ou un langage moderne équivalent comme Scala ou Kotlin). Une application majeure des techniques étudiées sera l'implantation d'algorithmes massivement parallèles dans le style classique Map-Reduce.

Compétences visées

Maîtrise du paradigme fonctionnel/objet en Java. Compréhension du rôle et du fonctionnement du typage statique.

Les séances prendront la forme de "leçons" : les concepts seront présentés en cours puis illustrés directement à travers des exemples et des exercices de programmation.
  • Valeurs et Objets
  • Egalité et fonction de hachage
  • Collections immutables
  • Valeurs optionnelles
  • Interfaces fonctionnelles
  • Expressions lambda
  • Types algébriques
  • Filtrage (pattern matching) et patron "visiteur"
  • Concurrence et calculs asynchrones
  • Flots (streams) et patron "map-reduce"

  • Contrôle continu

    Cette UE apparaît dans les diplômes et certificats suivants

    Chargement du résultat...
    Patientez
    Intitulé de la formation
    Type
    Modalité(s)
    Lieu(x)
    Lieu(x) À la carte
    Lieu(x) Alternance
    Lieu(x) Occitanie
    Lieu(x) À la carte
    Lieu(x) Alternance
    Lieu(x) Midi-Pyrénées
    Lieu(x) À la carte
    Intitulé de la formation Master Réseaux et Objets Connectés
    Lieu(x) À la carte
    Lieu(x) À la carte
    Lieu(x) Paris
    Lieu(x) Package
    Lieu(x) Paris
    Intitulé de la formation Type Modalité(s) Lieu(x)

    Contact

    EPN05 - Informatique
    2 rue Conté 33.1.13A
    75003 Paris
    Tel :01 40 27 26 81
    Safia Sider

    Centre(s) d'enseignement proposant cette formation