École Informatique 2019 - Programmation fonctionnelle

Europe/Paris
Centre J. Bosco

Centre J. Bosco

Lyon
Description
"Utilisation de la programmation fonctionnelle dans nos environnements scientifiques"

Cette formation est centrée sur l'appliquation des principaux concepts de la programmation fonctionnelle aux langages utilisés dans nos environnements de travail courants, et de voir comment améliorer, de cette façon, la qualité de nos développements logiciels.

Objectifs :

  • Introduction aux concepts de la programmation fonctionnelle
  • Appliquer ces concepts aux langages procéduraux largement utilisés dans nos environnements
  • Comprendre comment cette mise en œuvre peut améliorer la qualité de nos développements logiciels

Programme :

  • Maitriser les principaux concepts de la programmation fonctionnelle
  • Utiliser les idiomes fonctionnels pour améliorer son code dans nos langages habituels
  • Identifier des motifs d’utilisation
  • Connaitre les règles de bonnes pratiques

Modalités pédagogiques :

  • La formation sera constituée de cours et de travaux dirigés
  • Les participants pourront choisir 2 langages parmi 3 ( C++ / Python / JVM (Java ou Scala)) pour des ateliers illustrant l’utilisation de concepts de la programmation fonctionnelle dans ces langages
  • Les exercices seront développés sur les ordinateurs portables des stagiaires
Thierry Ollivier
    • 10:00 10:30
      Pause café 30m
    • 10:30 10:40
      Organisation de l'école et logistique 10m
      Speaker: Thierry OLLIVIER (IPNL)
    • 10:40 11:00
      Objectifs de l'école et fonctionnement des TD 20m
      Speaker: Antoine Pérus (Cnrs/In2p3/Lal)
    • 11:00 12:30
      Concepts de la programmation fonctionnelle (1/5) 1h 30m
      Speaker: Gabriel Scherer (INRIA)
    • 12:30 13:30
      Déjeuner 1h
    • 14:00 15:30
      Concepts de la programmation fonctionnelle (2/5) 1h 30m
      Speaker: Gabriel Scherer (INRIA)
    • 15:30 16:00
      Pause café 30m
    • 16:00 17:30
      Concepts de la programmation fonctionnelle (3/5) 1h 30m
      Speaker: Gabriel Scherer (INRIA)
    • 18:30 19:00
      Apéritif 30m
    • 19:00 20:00
      Diner 1h
    • 09:00 10:30
      Concepts de la programmation fonctionnelle (4/5) 1h 30m
      Speaker: Gabriel Scherer (INRIA)
    • 10:30 11:00
      Café 30m
    • 11:00 12:30
      Concepts de la programmation fonctionnelle (5/5) 1h 30m
      Speaker: Gabriel Scherer (INRIA)
    • 12:30 13:30
      Déjeuner 1h
    • 14:00 15:30
      Idiomes de programmation fonctionnelle pour les langages courants 1/2 1h 30m
      Speaker: Gabriel Scherer
    • 15:30 16:00
      Café 30m
    • 16:00 17:30
      Idiomes de programmation fonctionnelle pour les langages courants 2/2 1h 30m
      Speaker: Gabriel Scherer
    • 19:00 20:00
      Diner 1h
    • 09:00 10:30
      Atelier C++ 1h 30m
    • 09:00 10:30
      Atelier Java/Scala 1h 30m
    • 09:00 10:30
      Atelier Python 1h 30m
    • 10:30 11:00
      Café 30m
    • 11:00 12:30
      Atelier C++ 1h 30m
    • 11:00 12:30
      Atelier Java/Scala 1h 30m
    • 11:00 12:30
      Atelier Python 1h 30m
    • 12:30 13:30
      Déjeuner 1h
    • 14:00 15:30
      Atelier C++ 1h 30m
    • 14:00 15:30
      Atelier Java/Scala 1h 30m
    • 14:00 15:30
      Atelier Python 1h 30m
    • 15:30 16:00
      Café 30m
    • 16:00 17:30
      Culture Fonctionnelle : Haskell 1h 30m
      Speaker: Alexandre Delanoë (ISCPIF)
    • 19:00 20:00
      Diner 1h
    • 20:00 21:30
      Retour d'expérience Haskell 1h 30m
      Speaker: Alexandre Delanoë (ISCPIF)
    • 09:00 10:30
      Atelier C++ 1h 30m
    • 09:00 10:30
      Atelier Python 1h 30m
    • 10:30 11:00
      Café 30m
    • 11:00 12:30
      Atelier C++ 1h 30m
    • 11:00 12:30
      Atelier Python 1h 30m
    • 12:30 13:30
      Déjeuner 1h
    • 14:00 15:30
      Atelier C++ 1h 30m
    • 14:00 15:30
      Atelier Python 1h 30m
    • 15:30 16:00
      Café 30m
    • 16:00 17:30
      Culture Fonctionnelle : Monads 1h 30m
      Speakers: Alexandre Delanoë (ISCPIF), Gabriel Scherer (INRIA)
    • 19:45 21:45
      Bouchon lyonnais 2h
    • 09:30 10:45
      Property based testing 1h 15m

      Comment tester des fonctions en se basant sur leur propriétés? Après l'introduction en OCaml vue en début de semaine, l'implémentation et les tests dans le language de son choix : Scala, Python (travail libre, mais guidé par les intervenants).

    • 10:45 11:15
      Café 30m
    • 11:15 12:30
      Property based testing 1h 15m

      Comment tester des fonctions en se basant sur leur propriétés? Après l'introduction en OCaml vue en début de semaine, l'implémentation et les tests dans le language de son choix : Scala, Python (travail libre, mais guidé par les intervenants).

    • 12:30 13:30
      Déjeuner 1h
    • 14:00 15:00
      Culture fonctionnelle : F# 1h

      Depuis quelques années la stratégie de Microsoft a fait un virage à 180° sur plusieurs éléments clefs de son écosystème de développement.
      Les deux points à retenir :
      - .net core qui a complètement rebattu les cartes pour l'architecture .NET, maintenant 100% Open Source et multiplateforme.
      - D'autre part, le langage F# (qui fête bientôt ses 20 ans d'existence) qui s’intègre totalement dans une approche dite « pragmatique » de la programmation fonctionnelle et propose un certains nombre de fonctionnalités uniques dans ce domaine.

      Nous proposons de passer en revue ces différents aspects, et de les illustrer, articulés ensemble, par des démonstrations dans un IDE (Visual Studio Code) sur un exemple concret.

      Speaker: Francois David Collin ({CNRS}UMR5149)
    • 15:00 15:30
      Bilan de l'ANF 30m