Candyce :
carnets numériques
et Jupyter au service de l’enseignement
Participation de Paris-Saclay#

../_images/jupyter.png

Nicolas M. Thiéry, Enseignant-Chercheur, Laboratoire Interdisciplinaire des Sciences du Numérique (LISN), Université Paris-Saclay

16 mars 2023, Orsay

Résumé#

L’usage des carnets numériques (notebook) et de Jupyter connaît un essor rapide comme outil pour l’apprentissage de la programmation, du calcul, du traitement des données, aussi bien dans l’enseignement supérieur qu’au lycée (avec notamment Capytale).

Le programme Candyce (porté par Inria et l’Université Paris Saclay) vise à accompagner l’adoption de Jupyter dans l’enseignement supérieur et le scolaire.

Ce document présente rapidement Jupyter, Candyce et l’implication de Paris-Saclay dans Candyce.

Au programme#

  1. Carnets numériques et Jupyter

  2. Utilisation à Paris-Saclay

  3. Candyce

  4. Implication de Paris-Saclay dans Candyce

Carnet numérique (notebook)?#

Document interactif entrelaçant Narration, Calcul, Visualisation, Interaction et Programmation

Exemple 1: Étude d’un algorithme de parcours de graphes#

Définitions#

Soit \(G\) un graphe.

  • un chemin est une suite de sommets \((v_0, v_1, v_2, ...)\) tel qu’il existe une arête entre chaque paire de sommets \(v_i\) et \(v_{i+1}\)

  • la distance entre deux sommets u et v est la longueur du plus court chemin entre u et v (ou la somme des poids des arêtes).

  • On suppose ici que \(G\) est non orienté. La composante connexe d’un sommet \(u\) de \(G\) est l’ensemble des sommets atteignables depuis \(u\) en suivant un chemin dans \(G\).

L’algorithme#

%run -i graph_networkx
def parcours_visualisation(G, u):
    """
    INPUT:
    - 'G' - un graphe
    - 'u' - un sommet du graphe
    
    OUTPUT: la liste des sommets `v` de `G`
            tels qu'il existe un chemin de `u` à `v`
    """
    marked = {u} # L'ensemble des sommets déjà rencontrés
    todo   = {u} # L'ensemble des sommets déjà rencontrés, mais pas encore traités
    
    player.player.reset(copy.deepcopy(locals()))
    
    while todo:
        # Invariants:
        # - Si `v` est dans `marked`, alors il y a un chemin de `u` à `v`
        # - Si `v` est dans `marked` et pas dans `todo`
        #   alors tous les voisins de `v` sont dans dans `marked`
        v = todo.pop()
        # Observation des variables locales
        player.set_value(copy.deepcopy(locals()))
        for w in G.neighbors(v):
            
            if w not in marked:
                marked.add(w)
                todo.add(w)
                # Observation des variables locales
                player.set_value(copy.deepcopy(locals()))
        v = None
        # Observation des variables locales
        player.set_value(copy.deepcopy(locals()))
    return marked

Calcul#

G = examples.parcours_directed()
parcours_visualisation(G, "A")
{'A', 'B', 'C', 'D', 'F', 'G', 'H'}

Visualisation#

player
../_images/jupyter.png

Jupyter?#

Une communauté internationale transverse: académie, industrie, société civile

qui développe des standards ouverts, des logiciels libres et des services web

pour le calcul avec l’humain dans la boucle

Innovation#

  • Technologies web modernes

  • Libre, ouvert, interopérable
    Julia, Python, R, C++, et des dizaines d’autres langages et systèmes

  • Très modulaire

Massivement adopté#

  • pour l’enseignement, la recherche (sciences dures -> SHS), l’ingénierie, la science des données

  • millions d’utilisateurs et de ressources

  • Amazon SageMaker, Google Colaboratory, Microsoft Azure Notebooks, Bloomberg BQuant, Intel Trusted Analytics Platform, IBM Watson Studio, Saturn Cloud, noteable.io

Pouvoir transformant sur la pratique de la recherche, de la science#

  • Un support unique pour penser et raconter, avec du code et des données
    exploration, transmission, reproduction, réutilisation, dissémination
    \(\Longrightarrow\) Science Ouverte

  • Exemple: initiative Notebook Now de l’American Geophysical Union

  • Exemple: analystes financiers dans les banques

from wealth_of_nation import application
application
../_images/ce0719e023faea32639fa37a784f965eb1f5e5d117b658bc05cd4c0344979117.png

Pouvoir transformant sur l’enseignement#

  • Autonomie et personnalisation
    grâce à la structure narrative, à la micro-scénarisation, aux retours immédiats
    \(\Longrightarrow\) massification, gestion hétérogénéité

  • Engagement
    grâce à l’interaction et la liberté d’exploration

  • Flexibilité
    n’importe où, n’importe quand, sur n’importe quel terminal
    \(\Longrightarrow\) hybridation, publics empêchés

Ça ne reste qu’un outil!

Explorer, évaluer et partager les bonnes pratiques!

Exemple: utilisation en enseignement à Paris-Saclay#

  • En Licence, Master, Doctorat, recherche, …

    • L1 de la faculté des sciences: >600 étudiants sur 1000

  • En Physique, Math, Info, Géophysique, Agronomie, Chimie, Médecine, STAPS, Droit, …

  • Pour:

  • Avec Python, C++, SageMath, R, shell, …

  • Depuis: salle TP, services Jupyter@Paris-Saclay, mydocker (Centrale-Supélec), CoCalc

Implication de Paris-Saclay dans Jupyter#

  • Coordination projet Européen H2020 d’e-Infrastructure de recherche OpenDreamKit 2015-2019:
    environnements virtuels de calcul pour les mathématiques et au delà, basé sur Jupyter
    Prix Étoiles de l’Europe 2020 du CNRS, catégorie Science Ouverte

  • Innovation pédagogique :

    • Exploration, validation pédagogique et déploiement de solutions technologiques et de bonnes pratiques pédagogiques

    • Soutenue par des Congés pour Innovation Pédagogique: 2020-2021,2021-2022,2023-2024?

    • Projet CoSaclayCalc AAP Pédagogie École Universitaire

  • Développement collaboratif de communs numériques:

    • Production de ressources pédagogiques

    • Contributions à l’écosystème Jupyter

    • travo solution innovante de gestion des devoirs informatique basée sur les forges logicielles, comme GitLab@Paris-Saclay.

    • Soutenu par le CMA SaclIA (2022-):

      • financement interventions d’un ingénieur pédagogique

      • recrutement à venir d’un ingénieur logiciel

  • Prix: Distinguished Jupyter Contributor

Résumé#

Jupyter#

  • Une communauté internationale transverse: académie, industrie, société civile
    qui développe des standards ouverts, des logiciels libres et des services web
    pour le calcul avec l’humain dans la boucle

  • Un écosystème riche d’outils extensibles et composables
    Le carnet en est juste une application

  • Une adoption massive qui transforme l’enseignement, la recherche

La France à la pointe#

  • Capytale (porté par Académie de Paris): 500k utilisateurs dans les lycées (100k hebdomadaires)

  • Pépite QuantStack : PME, core devs Jupyter, logiciel scientifique libre

  • JupyterCon 2023 (et 2024?) à Paris!

Paris-Saclay à la pointe#

Candyce: promouvoir Jupyter et les carnets dans l’enseignement#

https://candyce.org/

Un soutien institutionnel à un mouvement de fond

Work Package 1 du PEPR d’accélération «Enseignement et Numérique», 12M€, 2023-2027

Actions#

  1. Faire monter en gamme Jupyter pour les besoins de l’enseignement (4M€)
    accessibilité \(\longrightarrow\) besoins métiers

  2. Déployer une infrastructure nationale souveraine (1.5M€)
    pour l’enseigment scolaire et supérieur
    et la recherche

  3. Accompagner dans le scolaire (1.5M€)

  4. Accompagner dans le supérieur (1.5M€)

  5. Fortifier un écosystème public / industriel / société civile

  6. Embarquer et nourrir la recherche (1M€)

Embarquer et nourrir la recherche?#

  • Un objet de recherche : notamment évaluer et informer :

    • la pertinence et les usages pédagogiques de Jupyter

    • la conciliation éthique, sécurité et valorisation des données pour tous les acteurs (apprenants, enseignants, chercheurs)

    • l’éco-responsabilité de l’infrastructure

  • Un observatoire d’usages pédagogiques :

    • traces d’apprentissage de millions d’utilisateurs!

    • financements de projets de recherche:

      • par AAP Candyce (qq postdocs, stages, …)

      • par AAP du WP3 du PEPR «Enseignement et Numérique»

    • en lien avec la plateforme des données de l’éducation
      WP2 du PEPR «Enseignement et Numérique»

  • Un outil de recherche

Équipe#

  • Inria: maîtrise d’ouvrage

  • Université Paris-Saclay: maîtrise d’œuvre, coordination accompagnement dans le supérieur

  • Direction du Numérique pour l’Enseignement (DNE), Académie de Paris: accompagnement dans le scolaire

  • Université ~~de Lorraine~~ Sciences Sorbonne Université: coordination recherche

  • Prestataire sur appel d’offre: développement logiciel
    Au moins un candidat: QuantStack

  • France Université Numérique: déploiement

  • École Polytechnique

  • Établissements associés: Grenoble, Rennes, Polynésie, CNAM, Arts et Métiers, Paris *, Erlangen, Bobo Dioulasso?, …

  • et la communauté!

Calendrier#

  • fin 2020: lancement du montage par Inria

  • mars 2021: embarquement Nicolas Thiéry

  • avril 2021: embarquement officiel Paris-Saclay

    • présentation à Sylvie Retailleau en présence Isabelle et DIP

    • accord PDG INRIA, Présidence Paris-Saclay

  • juin 2021- montage avec longues interactions avec SGPI et ministères sup et sco

  • fin mars - début avril 2023?: feu vert définitif du gouvernement

  • avril-mai 2023?: finalisation dossier de contractualisation avec l’ANR
    budget, jalons, tâches, …

  • 1er avril 2023?: éligibilité des dépenses

  • avril 2023-août 2024?: phase I (18 mois)

  • septembre 2023-avril 2027?: phase II (30 mois)

Cadre financier#

Contraintes:

  • pas de partenaires financés hors établissements du supérieur

  • pas de financement de fonctionnaire en poste, hors pour une personne à l’echelle du projet et pour du pilotage seulement

Overheads: 20%