Jupyter pour l’enseignement à Paris-Saclay#

Demande de congé pour innovation pédagogique pour l’année 2021-2022

Coordinateur : Jérémy Neveu, MCF, Laboratoire de Physique des 2 Infinis Irène Joliot-Curie

Résumé#

Jupyter est un écosystème de protocoles ouverts, services web et logiciels libres pour le calcul interactif dans plus d’une centaine de langages de programmation (dont Python, R, SageMath, Julia, C++). L’application phare – le notebook – permet d’éditer, partager et publier des documents interactifs riches, mêlant texte narratif, calculs interactifs, formules mathématiques, visualisations, animations, mini-applications, etc. Cela en fait un format prisé pour l’enseignement scientifique car le même outil couvre une large gamme d’usages: supports de cours, diapos, feuilles d’exercices à compléter, avec un contenu riche et interactif, attractif pour les étudiants!

Un extrait de notes de cours interactives incluant notamment (à droite), une mini application illustrant visuellement l’exécution pas à pas de l’algorithme

Grâce à sa souplesse et son adaptabilité, cet écosystème connaît depuis sa création à partir de IPython en 2014 un essor considérable, tout autant dans le monde académique que dans l’industrie, notamment pour documenter et faciliter la reproductibilité des analyses en science des données («literate computing»): par exemple, en 2016, le projet LIGO a annoncé la première observation d’ondes gravitationnelles, découverte qui a été plus tard récompensée d’un prix Nobel de physique. L’équipe de LIGO a publié les résultats de l’expérience ainsi que des notebooks Jupyter avec le code effectuant le traitement des données brutes, permettant à tous de reproduire en ligne les figures de l’article académique.

On trouve des millions de documents Jupyter sur la forge GitHub tandis que tous les fournisseurs de cloud (Google Cloud, AWS, Microsoft Azure, OVH, EGI) proposent des services basés sur Jupyter.

Aussi, un service JupyterHub@Paris-Saclay a été déployé et progressivement renforcé au mésocentre de Paris-Saclay permettant à tous les personnels et étudiants de l’Université Paris-Saclay d’accéder aisément à l’environnement Jupyter et toute une pile de logiciels scientifiques avec un simple navigateur web depuis leurs ordinateurs, tablettes ou même téléphone portables (à noter qu’il est aussi possible d’installer et utiliser Jupyter sur sa propre machine ou en salle de TP). En complément, des licences ont été mises à disposition pour le service CoCalc basé sur la même pile technologique. Pour les nombreux enseignements concernés, ces plateformes permettent aux étudiants et enseignants de travailler chez eux comme s’ils étaient en salle de TP. Ce qui était un confort et une facilité est devenu un service essentiel qui a largement soutenu le basculement en distanciel complet lors du confinement de mars 2020, puis le télétravail partiel depuis.

L’usage de Jupyter pour l’enseignement à l’Université Paris-Saclay est en plein essor, accompagné notamment à la faculté d’Orsay par le CIP 2020-2021 sur le même thème porté par Nicolas Thiéry. Rien que sur cette dernière année universitaires, plusieurs dizaines d’UE du L1 au M2 utilisent Jupyter, pour l’enseignement en informatique, en mathématiques, en physique, en géosciences, en STAPS. À la faveur des nouvelles maquettes, la vaste majorité du millier d’étudiants de L1 utilise maintenant Jupyter pour des UE de programmation, ou de calcul numérique ou scientifique.

Dans la continuité du précédent, ce projet de Congé pour Innovation Pédagogique porté cette fois par Jérémy Neveu continuera de soutenir les investissements humains pour tester, évaluer et développer des outils d’enseignement novateurs autour de Jupyter, et former et accompagner les équipes pédagogiques qui s’en emparent. Il sera mutuellement renforcé par un projet Transformer porté par N. Thiéry (Faculté d’Orsay) et R. Monnet (CentraleSupélec) pour renforcer les infrastructures numériques sous-jacentes (matériel, prestations extérieures).

La demande porte sur six mois de décharge d’enseignement pour des enseignants-chercheurs de diverses disciplines impliqués dans la «jupyterisation» de leurs enseignements, à répartir entre le porteur (EC physique), Nicolas Grenier (EC physique), Nicolas Thiéry (EC informatique), Viviane Pons (EC informatique), Samuel Lelièvre (EC mathématiques), avec comme partenaires Albane Saintenoy (EC géosciences), Emmanuel Léger (EC géosciences), Frédéric Schmidt (EC géosciences) et Marco Leoni (IR DSI/IJCLab).

Contexte, existant et intérêt de l’initiative#

Autour de Jupyter s’est développé tout un écosystème d’outils novateurs notamment pour accompagner le cycle de l’enseignement: édition collaborative, partage, publication, distribution des sujets, utilisation en ligne ou locale, collecte des copies, correction semi-automatique, diffusion des copies corrigées, etc.

Depuis quelques années, les acteurs de ce projet mutualisent leurs efforts pour explorer cet écosystème pour leurs enseignements, testant les outils à large échelle, évaluant leur pertinence, partageant les bonnes pratiques. Ils contribuent aussi au déploiement d’infrastructure et, développent des briques manquantes pour répondre à leurs besoins propres, les contribuant en retour à l’écosystème.

Nous donnons maintenant quelques exemples d’enseignements concernés en précisant les bénéfices de l’utilisation de Jupyter. Puis nous détaillons l’infrastructure déployée et les outils développés.

Il est important de noter que ces infrastructures et outils sont complémentaires de l’Environnement Numérique de Travail eCampus/Moodle: ils répondent à des besoins spécifiques des enseignement faisant intervenir une part importante de calcul interactif ou de programmation. N. Thiéry est d’ailleurs simultanément porteur du CIP 2020-2021 et chargé de mission Informatique Pédagogique pour eCampus auprès de la VP CFVU.

Exemples d’enseignements basés sur Jupyter à la Faculté d’Orsay et bénéfices#

Info 111 : Introduction à l’Informatique (2017-2021)#

Pons et Thiéry ont, en 2017, coordonné la mise en place de Jupyter dans le module Info 111 du portail L1 MPI. La combinaison de Jupyter avec l’interpréteur C++ cling permet à nos 400 étudiant-es d’écrire leurs premières lignes de code de manière très progressive, sans être encombrés par les détails techniques, et avec une boucle de rétroaction instantanée. De plus l’outil permet la production de sujets de TP dont la structure narrative intégrée guide de façon très progressive les étudiant-es entre explications, exemples et exercices autoévalués. Nous avons constaté une bien plus grande autonomie des étudiant-es, permettant à chacun-e d’avancer à son rythme de travail et d’apprentissage et libérant l’enseignant-e pour se consacrer aux étudiant-es qui en ont le plus besoin. Grâce à la disponibilité des outils en ligne, cette autonomisation facilite le travail individuel à la maison, en amont ou aval des TP.

MethNum (L1, L2, L3 – 2019-2021)#

J. Neveu et ses collègues de physique ont mis en place un cycle de cours MethNum de licence de Méthodes Numériques de trois ans, dont les cours, TP, partiels et examens sont basés sur Jupyter et Python Scientifique. Initialement offerts aux licences DD MP, ce cours a été généralisé en septembre 2020 à tout le portail MP (120 étudiant-es), et à diverses licences double-diplôme, pour un total d’environ 270 étudiant-es de L1. Environ 70 étudiant-es supplémentaires en L2 et L3 de licences double-diplôme MP bénéficient ensuite de cours plus avancés.

Ce sont environ 20 enseignant-es qui utilisent Jupyter pour cet enseignement. Grâce aux outils de gestion des devoirs déployés et développés (voir ci-dessous), ces enseignants peuvent rédiger collaborativement le matériel pédagogique, distribuer aux étudiant-es les feuilles d’exercices avec les solutions cachées, consulter leur travail puis collecter leurs copies, les noter en partie automatiquement et les répartir entre enseignants pour une part de correction manuelle assistée. Les copies corrigées et annotées sont ensuite envoyées automatiquement aux étudiant-es. Tout le matériel pédagogique est aussi publié sous forme d’un site web public (tel que ici pour le L3).

Cette infrastructure permet la gestion au quotidien d’un cours numérique impliquant un grand nombre d’étudiant-es. Grâce à ce système et à la plateforme JupyterHub, nous pouvons demander aux étudiants un travail à la maison régulier et autonome malgré les conditions sanitaires, et chaque semaine, malgré la pandémie, ce sont ainsi quelques centaines de TP numériques qui sont réalisés et corrigés.

Initiation à la science des données (L1 – 2019-2021)#

I. Guyon et N. Thiéry ont monté en 2019-2020 un cours de L1 d”initiation à la science des données basé sur des mini-projets sur Jupyter. En 2020-2021, ce cours est ouvert à tout le portail MI et LDD associées (200 étudiant-es) et utilise la même infrastructure de cours que MethNum ou Info111.

Géosciences (2020-2021)#

Au département des Sciences de la Terre, depuis 2020-2021 plusieurs UEs sont basées en partie ou entièrement sur l’utilisation de feuilles Jupyter sous CoCalc : le nouveau module optionnel de «programmation en Géosciences» en L3 (suivi par 13 étudiant-es cette année) initie à la programmation python à partir de feuilles Jupyter gérées sous CoCalc, tous les TPs du module «Traitements de données» du tronc commun du M1 StePe (62 étudiant-es) sont aussi faits sous CoCalc, ainsi que ceux du module «Traitements de données en hydrologie» du M2 StePe Hydrologie (9 étudiant-es).

Le CIP 2020-2021 a été un élément structurant de cette transformation, en permettant aux enseignants de se former, former leur collègues et investir du temps de préparation qui sera largement rentabilisé sur le temps long. L’essaimage a été beaucoup plus rapide qu’originellement envisagé, notamment grâce à l’implication forte d’un nouveau maître de conférence (E. Léger)

Une étude hydrologique pour les étudiants de L3 sur le service CoCalc.

Cette transformation s’est poursuivie au delà des UEs classiques de programmation ou de traitement de données. Les traitements classiques effectués sur les données de géophysique (mesures de résistivité électrique et radar de sol) ont été réécrits sous forme de feuilles Jupyter et ont été utilisés pour différents stages de terrain (stage plutidisciplinaire des L3: 37 étudiant-es; stage de géophysique des M2 Environnement Géologiques et Géotechnique: 15 étudiant-es; stage de géophysique des M1 Stepe: 26 étudiant-es). Ces feuilles de calcul ont servi aussi aux étudiant-es de L3 dans leurs projets axés sur des questions issues du stage plutidisciplinaire.

Ajoutons un module enseigné par Frédéric Schmidt sur JupyterHub, et quelques TP dans des modules au sein des enseignements d”Hydrologie Continentale (L3) et Hydrosystèmes – Hydrogéosystèmes (M2) créés par Emmanuel Léger. Leur existence et leur partage facile permet aussi de former les stagiaires de ce printemps (2 M2, 1 M1, 1 DUT), ainsi que de collaborer en temps réel avec les doctorants. Les enseignant-es elles-eux-mêmes ont utilisé l’outil pour créer des exemples pour illustrer leur cours et créer des exercices pour les évaluations. Le déploiement au cours de l’année universitaire 2020-2021 a donc touché au sein du département Sciences de la Terre tous les étudiant-es de L3, M1 et certain-es M2, et 10 enseignant-es (A. Saintenoy, E. Léger, F. Schmidt, F. Landais, G. Cruz-Mermy, H. Zeyen, M. Pessel, P. Sailhac, L. Dupeyrat, A. Renaud).

Autres enseignements#

En parallèle des cours susmentionnés, Jupyter est utilisé dans de nombreuses UEs; pour n’en citer que quelques-unes impliquant les participant-es de ce projet: Images numériques (L1 MPI, Python), Projet pluridisciplinaire math-info (L1 MP/MI), Math208 Python pour le calcul scientifique (L2 MI), Algèbre effective (L3 MFA), MAO calcul formel (M1 MFA, SageMath), Algorithmique des graphes (M1 ISD, Python), Combinatoire et Algèbre (M1, Python, SageMath), TER collectif: Algorithmique interactive avec Jupyter (M1, Python, C++), Modélisation option algèbre et calcul formel (M2 agreg math, SageMath). Il est aussi utilisé pour des cours de master en STAPS (en langage R), et dans de nombreuses autre composantes de Paris-Saclay.

Infrastructure#

De 2015 à 2019, Paris-Sud était coordinateur du projet européen OpenDreamKit sur les environnements virtuels de recherche pour les mathématiques basés sur Jupyter (Thiéry: coordinateur, Pons: responsable de site et du WorkPackage dissémination, Lelièvre: participant).

De cette expérience est née depuis quatre ans un service JupyterHub@Paris-Saclay qui met à disposition l’écosystème Jupyter pour l’ensemble des personnels et étudiant-es, sans inscription au préalable. Ce service est actuellement maintenu par M. Leoni et N. Thiéry, piloté par ce dernier et rendu possible par le soutien du mésocentre Cloud@VirtualData de Paris-Saclay. Grâce à ce service, les étudiant-es gardent accès à tous les outils en dehors des séances de TP, sans devoir installer de logiciel. Cela a levé une des barrières importantes au travail personnel, notamment pour les étudiant-es les plus fragiles.

Contribution à la continuité pédagogique#

Comme vu plus haut, Jupyter donne une plus grande autonomie aux étudiant-es face au matériel de cours, s’adaptant à leurs rythmes de travail et d’apprentissage. Cela s’avère être aussi un outil précieux en contexte perturbé (grèves, pandémie).

En mars 2020, la bascule en enseignement à distance a pu se faire sans investissement technique supplémentaire pour L1-MPI Info123 Projets math-info, L1-MPI Info 121, MethNum-L1, MethNum-L3, Math103 Algèbre linéaire, Math114 Logique et démonstrations assistées par ordinateur ou Algorithmique en cycle ingénieur à Polytech’Paris-Sud, notamment grâce aux services JupyterHub et CoCalc (ce dernier sur abonnements issus du projet OpenDreamKit).

Depuis la rentrée 2020, ces services continuent de permettre de donner cours et TP dans les conditions diverses que nous avons connues (confinement, demi-jauge, hybridation pour étudiant-es cas contact, neige), notamment pour quasiment tous les cours d’informatique ou de calcul en L1.

Évolutions lors du CIP 2020-2021#

En 2020-2021, le travail sur la plateforme a été poursuivi par M. Leoni et N. Thiéry avec le soutien du mésocentre: mise à jour et extension de la pile logicielle disponible (R, SageMath, …) en fonction des demandes des utilisateurs, montée en puissance et en robustesse, tableau de bord, système de tickets pour le suivi des évolutions et requêtes utilisateurs, régulation de l’usage des resources (dont espace disque), groupe de messagerie instantannée (Signal) pour les dépannages d’urgence.

Tableau de bord du service JupyterHub@Paris-Saclay; on observe l’utilisation très régulière du service, avec des pics courants à 150 utilisateurs simultanés (ainsi qu’un boggue de la fermeture des sessions inutilisées à la fin des vacances de février).

Utilisation de CoCalc#

La plateforme CoCalc, développée sous licence libre, offre un riche environnement en ligne à base de machines virtuelles sous Ubuntu avec pléthore de logiciels libres préinstallés, dont Python et Jupyter, et des fonctionnalités de collaboration et d’enseignement. Nous collaborons de longue date avec les développeurs de CoCalc, notamment au travers du projet OpenDreamKit.

Le CIP 2020-2021 a été l’occasion de comparer les services offerts par CoCalc d’une part et JupyterHub@Paris-Saclay et son écosystème (travo, GitLab, …). Il en ressort que les deux offres sont complémentaires: à gros grain, CoCalc offre un niveau d’intégration et une simplicité de mise en œuvre appréciés par les nouveaux enseignants, tandis que JupyterHub offre une grande flexibilité. Le choix d’une plateforme ou l’autre n’est pas critique car elles sont toutes deux basées sur les mêmes technologies (Jupyter, nbgrader, …), permettant ainsi une migration aisée.

Jusqu’ici, les cours utilisant CoCalc sont basés sur son déploiement commercial https://cocalc.com notamment avec des licences payées via OpenDreamKit. Dans l’optique d’une plus grande maîtrise des données et de la performance (latence), un déploiement expérimental local de Cocalc était originellement envisagé dès 2020-2021, afin d’évaluer la viabilité et la pertinence d’un tel service en parallèle de JupyterHub. Cette expérimentation a été reportée et sa pertinence sera réévaluée en fonction des volumes d’utilisation constatés.

Infrastructure de cours et outils de gestion des devoirs#

Comme mentionné plus haut, les enseignements impliquant de larges cohortes d’étudiants s’appuyent sur une infrastructure de cours, notamment pour gérer tout le cycle des devoirs: édition collaborative du matériel pédagogique, distribution des feuilles d’exercices (sans les solutions!), collecte des copies des étudiant-es, exécution en environnement sécurisé, correction partielle automatique, répartition entre les enseignants pour correction manuelle assistée du complément. Cela permet de gèrer avec une efficacité certaine le suivi pédagogique de centaines d’étudiant-es à la fois.

Correction manuelle assistée de feuilles Jupyter avec nbgrader.

Cette infrastructure est le résultat de plusieurs années d’efforts conjoints et mutualisés entre les enseignants pour tester en grandeur nature, évaluer, et sélectionner les outils d’enseignement novateurs autour de Jupyter, les diffuser et, lorsque nécessaire, y contribuer. Elle s’appuie notamment sur l’outil de gestion des devoirs nbgrader. Cet outil a été originellement conçu pour un usage centralisé, non adapté aux contraintes locales. Pour pallier à cela, N. Thiéry et J. Neveu ont progressivement développé des outils complémentaires permettant un usage décentralisé, en découplant la gestion des devoirs d’un côté de l’environnement de travail de l’autre. Ainsi, les étudiants et enseignants peuvent travailler librement en salle de TP (SIF), directement sur leur machine personnelle, sur le service JupyterHub, voire sur d’autres services.

Exemple de l’infrastructure de gestion de devoirs pour les cours MethNum : figure distribuée aux étudiants et enseignants pour comprendre l’utilisation des commandes fetch, submit et collect qui mettent en musique la circulation des devoirs entre les salles de TP, le service JupyterHub et GitLab.

Le CIP 2020-2021 a permis à N. Thiéry soutenu par J. Neveu de retravailler en profondeur ces outils pour en lever les limitations précédentes grâce une innovation forte inspirée par les GitHub ClassRooms: l’utilisation d’une forge logicielle (ici l’instance GitLab de Paris-Sud) comme élément central de l’infrastructure. Voici le motto du projet :

Teaching computer science or computational courses is all about collaboration on code. It is thus unsurprising that, with a pinch of salt, software forges like GitLab can provide helpful infrastructure to support and enhance that collaboration.

Ce travail, réalisé en collaboration avec des collègues de l’Université du Québec à Montréal a abouti à la bibliothèque générique Python de gestion de devoirs travo basée sur GitLab. L’apport par rapport aux GitHub ClassRoom est:

  • l’utilisation d’une infrastructure souveraine hébergée sur site (ici https://gitlab.u-psud.fr) intégrée au système d’information local,

  • l’automatisation des processus rendant le système accessible dès le L1

  • la modularité permettant d’intégrer tout outil de son choix

L’apport par rapport à nbgrader seul est :

  • la décentralisation;

  • la possibilité pour les étudiants de déposer leur travail chaque fois qu’ils le souhaitent, pour s’autoévaluer, pour sauvegarder leur travail, pour collaborer, pour changer de lieu de travail;

  • l’exposition progressive des étudiants à des outils collaboratifs puissants qui leur seront autant d’atouts pour la suite (forges comme GitLab, systèmes de gestion de version comme git).

Travo a d’ores et déjà été adopté par une demi-douzaine d’UE, et nous visons – via des formations à venir ce printemps – plusieurs dizaines d’UE à la rentrée 2021.


Formation et dissémination#

Le projet travo a été présenté au séminaire LOOPS les 8 et 15 décembre 2020, suscitant un vif intérêt (70 participants).

Pour former les équipes pédagogiques impliquées dans les UE utilisant ces outils, des tutoriels ont été écrits et organisés autour de travo et des scripts dédiés methnum.

L’écosystème Jupyter a été présenté au village pédagogique lors de la Journée Innovation Pédagogique de Paris-Saclay; une demande forte de formation a été exprimée.

Des formations seront proposées au mois de Juin, période où les enseignants sont plus disponibles et commencent à préparer la rentrée.

Objectifs#

Jupyter est aujourd’hui utilisé par de nombreuses UEs à l’Université Paris-Saclay, dont certaines avec de larges cohortes, ainsi qu’un noyau dur d’enseignants ayant accumulé une forte expertise. Le potentiel est beaucoup plus large et il s’agit maintenant de diffuser la technologie et les bonnes pratiques à vaste échelle. Ce projet de CIP a pour but de soutenir les équipes pédagogiques dans :

  • le rodage des enseignements déjà concernés pour exploiter tous les outils pertinents, afin d’offrir un plus grand confort d’utilisation aux étudiant-es et aux enseignant-es,

  • la factorisation des outils clés éprouvés par les cours existants pour créer un gabarit de cours utilisable par les UEs intéressées,

  • la formation de nouveaux collègues pour qu’elles-ils élaborent leurs enseignements à partir de nos acquis,

  • la montée en puissance et en qualité de service du service JupyterHub@Paris-Saclay en tandem avec le projet Transformer de N. Thiéry.

Les décharges d’enseignement attribuées par le projet permettront aux enseignant-es concernés de consacrer du temps à la poursuite de ces objectifs tout en labelisant les efforts déjà entrepris dans la transformation des enseignements vers l’écosystème Jupyter.

Montée en puissance et en gamme du service JupyterHub@Paris-Saclay (Thiéry, Neveu, Leoni, avec le soutien du mésocentre)#

Le service JupyterHub@Paris-Saclay a fait ses preuves de son utilité et de son potential en couvrant les besoins de nombreux cours, dont certains de grande taille. Il reste cependant beaucoup à faire pour passer à l’échelle, tant en terme de volume que de variété des cas d’usages. Les besoins saillants sont les suivants.

  • Qualité de service : bon an, mal an, les interruptions de services ne dépassent pas les 30 minutes tous les quinze jours en moyenne. Pour du travail asynchrone à la maison cela reste tolérable quoique un peu inconfortable: nos étudiants n’en ont pas besoin; c’est limite pour de l’utilisation en synchrone (TP, …).

  • Volume : pouvoir supporter quelques centaines d’utilisateurs en simultanné.

  • Pile logicielle : diversifier les logiciels disponibles; voire possibilité pour l’utilisateur (les enseignants) de choisir eux-meme leurs logiciels pour plus d’autonomie.

Les actions suivantes sont prévues pour répondre à ces besoins :

  • migration sur le service Kubernetes-à-la-demande en cours de déploiement sur le mésocentre,

  • déploiement élastique, avec allocation automatique des resources en fonction des besoins (requiert Kubernetes),

  • déploiement flexible, permettant l’instanciation de diverses piles logicielles configurées par l’utilisateur, comme dans le service similaire Plasma de l’Université de Paris (requiert Kubernetes).

Ces actions figuraient déjà dans le projet CIP 2020-2021; la mise en œuvre en a été retardée du fait d’évolutions requises du mésocentre, et d’une réévaluation des priorités en fonction des opportunités et besoins les plus pressants en cette année fortement perturbée par le Covid.

En complément, une opportunité de collaboration s’est ouverte avec Centrale Supélec qui va amener au dépôt conjoint d’un projet Transformer pour en financer les réalisations notamment par appel à un prestataire extérieur, tel QuantStack avec qui nous collaborons régulièrement et qui est intervenu sur Plasma.

Ce CIP permettra de libérer du temps pour le pilotage de ces actions et la maintenance du service.

Gabarits de cours clé en main (Thiéry, Neveu, Grenier)#

À l’heure actuelle, déployer l’infrastructure pour un cours avec de nombreux étudiants comme Info 111 ou MethNum, requiert une certaine expertise technique. Un objectif de ce CIP est de dégager du temps pour fournir des gabarits de cours clé en main pour faciliter largement le déploiement de nouveaux enseignements utilisant les mêmes technologies.

Jupyter en géosciences (Saintenoy, Léger, Thiéry, Lelièvre)#

Pour poursuivre l’utilisation de Jupyter dans l’enseignement en sciences de la Terre, nous envisageons plusieurs actions :

  • consolider l’utilisation des TD/TP au sein des matières de programmation stricto sensu, telles que Traitements de données (M1 et M2), Programmation pour les géosciences (L3),

  • étudier l’impact des enseignements antérieurs sur la capacité des étudiant-es à progresser (estimation de la progression tout au long du cursus L3-M1-M2). Il s’agira de vérifier que l’initiation à la programmation L3 avec Jupyter a fourni un environnement où il sera plus facile de poursuivre sur des traitement de données généraux en M1, puis plus spécifiques en M2,

  • former d’autres enseignants à l’utilisation de feuilles Jupyter sous un environnement CoCalc dans un premier temps, puis une migration sous JupyterHub (Thiéry et al.), pas à pas. La version CoCalc permet une transition en douceur,

  • mettre en place nbgrader pour les TP/TD grâce à l’input de N. Thiéry,

  • proposer des TD avec SageMath dans les cours de mathématiques proposer au niveau L2,

  • essayer de piloter des Raspberry Pi par CoCalc, via ssh, pour faciliter les TP-Raspi du module Programmation en géosciences du niveau L3

  • passer des enseignements de modélisation des écoulements dans les aquifères sous feuilles Jupyter en utilisant la version modflow sous Python. Ce point permettrait de toucher nos collègues hydrologues/ hydrogéochimistes utilisateurs de modflow.

  • construire un cours de SIG sous Jupyter (utilisation des modules gdal, rasterio, richdem etc.). Des premiers essais ont été conduits cette année en M2 et en L3, mais nécessitent plus de temps pour être vraiment aboutis.

  • adapter des TPs du cours d’I. Guyon et N. Thiéry, Introduction aux sciences des données au L1 MI, pour une prise en main lors de certains projets étudiants en géophysique et hydrologie (plutôt niveau M2 du fait du décalage de niveau).

Recensement des utilisations et besoins (tous)#

Le recensement des activités proposées dans le CIP 2020 a été réalisé et nécessite d’être maintenu à jour, dans ce document. Nous continuerons donc à proposer aux collègues de définir leurs besoins via ce document pour proposer notre aide dans le déploiement de Jupyter dans leurs enseignements.

Ateliers de formation (tous)#

L’accompagnement et la formation des collègues est un élément clé du projet.

Des formations plus systématiques seront proposées aux enseignants des cours concernés, mais aussi des formations publicitaires pour promouvoir l’utilisation de ces moyens modernes de gestion d’un cours numérique de grande ampleur. Des formations aussi sur l’élaboration de site internet directement à partir des notebooks Jupyter (à l’image de ce lien) seront proposés pour permettre une diffusion optimale des supports pédagogiques aux étudiants et offrir une vitrine valorisante de nos cours pour l’Université.


Résultats attendus#

  • Utilisation fortement accrue de l’écosystème Jupyter dans l’enseignement à Paris-Saclay.

  • Amélioration de l’apprentissage pour les étudiant-es dans les UEs concernées: autonomisation; adaptation à la pluralité des expériences, et des rythmes d’apprentissage et de travail; suivi renforcé et focalisation de l’attention des enseignants sur ceux qui en ont le plus besoin.

  • Montée en puissance des salles de TP virtuelles, notamment via le service JupyterHub (en tandem avec le projet Transformer), pour une meilleure autonomie dans le travail personnel à domicile, une résilience accrue aux aléas (grève, pandémie), et un accès facilité aux technologies Jupyter.

  • Formation des étudiants et des enseignants scientifiques à des technologies en pleine émergence: écosystème Jupyter, outils collaboratifs du logiciel (git, GitLab); promotion de la plateforme GitLab de l’Université.

  • Mutualisation des efforts des enseignants; capitalisation et essaimage des compétences et bonnes pratiques.

  • Formation et dissémination auprès des moniteur-es et enseignant-es, à Paris-Saclay et au-delà.

  • Amélioration, fiabilisation, diffusion et promotion à Paris-Saclay et au delà des solutions développées localement: bibliothèque travo, scripts associés (Methnum, …), gabarits de cours, etc.

  • Contributions logicielles aux outils utilisés.

  • Contribution possible à une infrastructure nationale pour l’enseignement (éducation nationale et universités).


Acteurs impliqués / partenaires#

Note: La répartition précises des heures de décharge sera décidée ultérieurement, en fonction notamment des disponibilités et des contraintes de services. Nous souhaitons nous réserver la possibilité – sous réserve d’accord du consortium et des départements concernés – d’étendre la liste ci-dessous si l’opportunité se présente d’impliquer des acteurs d’autres départements.

Jérémy Neveu (MCF, IJCLab) https://gitlab.u-psud.fr/jeremy.neveu
J. Neveu coordonne les enseignements de méthodes numériques en Python MethNum pour les licences de physique. Il a mis en place l’infrastructure logicielle d’échange de documents de cours et de correction des évaluations methnum.

Nicolas M. Thiéry (PR, LRI) https://Nicolas.Thiery.name
N. Thiéry exploite depuis sa thèse le calcul mathématique interactif (Maple, MuPAD, SageMath), en recherche comme en enseignement, et contribue au développement de ces outils (e.g. 100k lignes dans SageMath). Plus généralement, il a utilise et promeut l’usage d’outils numériques pour la pédagogie (AutoMultipleChoice, WIMS, Platon, GitLab, eCampus, …). Coresponsable du portail MPI, il a pendant la période de confinement formé en urgence des collègues et lancé un recensement collaboratif des outils et expériences d’enseignement distanciel; il est maintenant chargé de mission Informatique Pédagogique auprès de la VP CFVU pour eCampus.

Viviane Pons (MCF, LRI) https://www.lri.fr/~pons/
Depuis son recrutement à Paris-Sud, V. Pons délivre la majorité de ses enseignements avec Jupyter, notamment via CoCalc et est très impliquée dans l’animation de la communauté.

Samuel Lelièvre (MCF, LMO) https://www.math.u-psud.fr/~lelievre
Ayant enseigné du L1 au M2 avec SageMath, Python, Jupyter et CoCalc, outils également utiles pour sa recherche, S. Lelièvre aime diffuser et illustrer les mathématiques et contribue au développement de SageMath.

Nicolas Grenier (MCF, LISN) https://limsi.fr/~grenier N. Grenier enseigne les Méthodes Numériques, du L1 au M2, principalement les méthodes dédiées à la résolution d’équations aux dérivées partielles, telles que rencontrées dans la modélisation de la mécanique des fluides. Ces implémentations sont enseignées en Python pour son accessibilité ou en Fortran pour sa performance.

Albane Saintenoy (MCF, GEOPS) http://albane.saintenoy.name/ et Emmanuel Léger (MCF, GEOPS) https://www.researchgate.net/profile/Emmanuel-Leger
E. Léger et A. Saintenoy utilisent les outils de calcul d’analyse de données et de visualisations pour leurs projets de recherche, et sont respectivement chargés des TD et responsable dans 6 UE de géosciences susmentionnées.

Partenaire: Marco Leoni (IR, DSI / IJCLab) https://gitlab.u-psud.fr/marco.leoni
M. Leoni est IR au mésocentre de Paris Saclay, notamment en soutien à l’informatique scientifique.