Candyce : carnets numériques et Jupyter au service de l’enseignement#

Nicolas M. Thiéry, Professeur, Laboratoire Interdisciplinaire des Sciences du Numérique (LISN), Université Paris-Saclay
20 septembre 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 diaporama présente rapidement Jupyter et Candyce
Au programme#
Carnets numériques et Jupyter
Exemple: utilisation et actions à Paris-Saclay
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
etv
est la longueur du plus court chemin entreu
etv
(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

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
Innovations#
Technologies web modernes
\(\Longrightarrow\) ubiquité, …Libre, ouvert, interopérable
Julia, Python, R, C++, et des dizaines d’autres langages et systèmesTrè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
Granger, Brian E., and Fernando Pérez. « Jupyter: Thinking and storytelling with code and data. » Computing in Science & Engineering 23.2 (2021): 7-14.
Perkel, Jeffrey M. « Why Jupyter is data scientists” computational notebook of choice. » Nature 563.7732 (2018): 145-147.
Indication
Belles histoires
ACM Software System Award’17
The Virtual Research Environment by CERN and EOSC: basé sur Jupyter
Déploiement national Calysto au Canada
Initiative Notebook Now de l’American Geophysical Union, …
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
Pouvoir transformant sur l’enseignement par le numérique scientifique?#
2006: TED talk The best stats you have ever seen de Hans Rosling
\(\Longrightarrow\) le pouvoir de la visualisation de données pour transmettre les idées et les faits
Maintenant au bout des doigs des enseignants et étudiants pour exploration interactive :
from wealth_of_nation import application
application

Pouvoir transformant sur la transmission de la science#
Par sa flexibilité, Jupyter romps les silos entre experts et novices, développeurs et utilisateurs, chercheurs, enseignants et apprenants, sup et sco, …
Un terreau fertile: dissemination \(\Longrightarrow \atop \Longleftarrow\) exploration et montée en compétences
via les communautés et communs numériques
Ç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:
La programmation (un peu)
Exemple: Introduction à la Programmation Impérative (en C++) L1 Math-InfoLe calcul
Exemple: Méthodes Numériques en L1-L3 de physiqueLa science des données, l’IA
Exemple: Initiation à la Science des Données L1 Math-InfoParcourSup!
Avec Python, C++, SageMath, R, shell, …
Depuis: salle TP, services Jupyter@Paris-Saclay, mydocker (Centrale-Supélec), CoCalc
Exemple: actions à Paris-Saclay#
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
Déploiement et montée en gamme depuis 2017 du service JupyterHub@Paris-Saclay
5000 utilisateurs inscrits (1000 hors Paris-Saclay); ~100 utilisateurs quotidiens
Soutenu par le mésocentre DataCenter@UPSud.
Animation d’un groupe d’utilisateurs
Soutien institutionnel à l”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: adoption précoce, bonnes pratiques, rapports de bugs, code, …
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 en cours d’un ingénieur logiciel
Des dynamiques similaires dans de multiples universités en France et dans le monde!
Synthèse#
Indication
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 boucleUn écosystème riche d’outils extensibles et composables
Le carnet en est juste une applicationUne adoption massive qui transforme la recherche, l’enseignement, la science
Indication
La France à la pointe
JupyterCon 2023 (et 2024?) à Paris!
Pépite QuantStack : PME, core devs Jupyter, logiciel scientifique libre
Capytale (porté par Académie de Paris): 500k utilisateurs dans les lycées (100k hebdomadaires)
Actions locales: CNAM, Grenoble Alpes, Lyon 1, Paris-Cité, Paris-Saclay, Rennes, Rouen, …
Potentiel: des millions d’utilisateurs, dans le scolaire et le supérieur#
Candyce: promouvoir Jupyter et les carnets dans l’enseignement#
Proposition de soutien institutionnel national à un mouvement de fond
Work Package 1 du PEPR d’accélération «Enseignement et Numérique», 12M€, 2023-2027
Actions#
Faire monter en gamme Jupyter pour les besoins de l’enseignement (4M€)
accessibilité, facilité d’utilisation, besoins métiersDéployer une infrastructure nationale souveraine (1.5M€)
pour l’enseigment scolaire et supérieur
et la rechercheAccompagner dans le scolaire (1.5M€)
Accompagner dans le supérieur (1.5M€)
Fortifier un écosystème public / industriel / société civile
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
Une fine é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 excellent candidatFrance Université Numérique: déploiement sur cloud public souverain
École Polytechnique: accompagnement sup et sco
Établissements associés: Grenoble, Rennes, Polynésie, Paris *, CNAM, Arts et Métiers, Erlangen, Bobo Dioulasso?, …
et la communauté!
Conclusion#
Nous avons une communauté, un écosystème, une équipe, un plan, des valeurs fortes,
et un environnement national unique pour mutualiser et accélerer les actions locales,
pour mettre Jupyter, les carnets numériques et le numérique scientifique libre
au bout des doigts de millions d’apprenants et enseignants,
par des outils, des services et des contenus,
par un usage raisonné, éthique et souverain des traces d’apprentissage,
pour transformer demain l’enseignement du numérique scientifique,
pour transformer après-demain l’enseignement par le numérique scientifique?
en France et au delà.
Nous sommes prêts (depuis deux ans).
Comment pleinement réaliser ce potentiel?#
Constat à Paris-Saclay et ailleurs
Gros impact des actions locales
qui ne tiennent que par le dévouement de quelques uns en marge de leurs missions
Il y aurait tant à faire, rien que sur notre déploiement local:
scalabilité, qualité de service
accessibilité
diversité de logiciels
intégration d’agents conversationnels
Alors que comparativement Paris-Saclay a des moyens!
Attention
Pas la bonne échelle! .