Programmation fonctionnelle en Java
NFP101


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.

Public et conditions d'accès :

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

Compétences :

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

Contenu de la formation :

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"

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

  • MR11605A : Master Sciences, technologies, santé mention Informatique parcours Préparation à l'agrégation en informatique
  • MR11602A : Master Sciences, technologies, santé mention Informatique parcours Recherche opérationnelle
  • MR11606A : Master Sciences, technologies, santé mention Informatique parcours Réseaux et objets connectés
  • CYC9101A : Diplôme d'ingénieur Spécialité informatique parcours Architecture et ingénierie des systèmes et des logiciels (AISL)
  • CYC9106A : Diplôme d'ingénieur Spécialité informatique parcours Cybersécurité
  • CPN8402A : Titre RNCP Niveau 6 Concepteur en architecture informatique parcours Systèmes d'information

Prochaines sessions de formation

Filtres :
Centre de formation Semestre
2022/2023
Jours de
formation
Modalité Tarif    
Paris Semestre 1 Mardi 180 €

Date de début des cours (*) :

  • 19/09/2022

* Les dates fournies sont d'ordre général à toutes les formations.
  Les cours pour cette formation peuvent potentiellement commencer un peu plus tard dans le semestre.

Ajouter au panier
Contacter le centre
Légende :
Date de début de cours :
  • Île-de-France :
    • 1er semestre et annuel : 26/09/2022
    • 2e semestre : 01/03/2023
  • Paris :
    • 1er semestre et annuel : 19/09/2022
    • 2e semestre : 06/02/2023

Les dates fournies sont d'ordre général à toutes les formations. Les cours pour cette formation peuvent potentiellement commencer un peu plus tard dans le semestre.

Tarif :

Seul le financement à titre individuel est proposé à l'inscription en ligne. Si vous souhaitez financer votre formation par votre entreprise, vous devez demander un devis auprès de nos centres Tarifs en vigueur depuis le 17 juin 2020.

Annuel :

Il s'étend de fin septembre / début octobre à début juillet (dates indicatives, renseignez-vous auprès de votre centre).

Semestre 1 :

Il s'étend de fin septembre / début octobre à fin janvier / début février (dates indicatives, renseignez-vous auprès de votre centre).

Semestre 2 :

Il s'étend de fin février / début mars à début juillet (dates indicatives, renseignez-vous auprès de votre centre).

Cours du soir :

Les cours commencent le plus souvent à 18h30 dans les centres.

  Cours en journée :

Se renseigner auprès du centre pour connaître les horaires.

Cours en ligne :

Les cours sont diffusés sous forme de séances numériques via une plateforme d'e-learning animées et tutorées par un enseignant. Des regroupements peuvent être proposés dont certains sont obligatoires.

  Classe virtuelle :

L'enseignant à distance intervient en direct et en visioconférence sur la plateforme d'e-learning. Il complète son intervention par des activités interactives (exercices échanges…)

  Cours en ligne hybride :

Cette modalité propose une majorité de cours en ligne tuteurés et des regroupements en présentiel obligatoires.

  Cours hybrides :

Cette modalité mixe des cours en présentiel (en cours du soir ou en journée) et des cours en ligne.

  Cours en ligne organisés par un autre
centre CNAM Régional :

Les cours sont diffusés sous forme de séances numériques via une plateforme d'e-learning animées et tutorées par un enseignant.

Recherche en cours