2.6. Engineering computation with Jupyter/nbgrader/Python#
Un retour d’expérience
Marc BUFFAT département mécanique, Université Lyon 1
2.6.1. Basé sur l” EcoSystème Jupyter (pour l’éducation)#
C’est un ensemble d’outils open source pour l’informatique interactive et exploratoire, et une plate-forme pour créer des récits informatiques pour impliquer nos étudiants dans leurs démarche d’apprentissage (en sciences)
2.6.2. Objectifs pédagogique#
Apprentissage d’une méthode (et pas d’un langage)
approche algorithmique
méthode scientifique (rigueur, validation)
Maîtrise de l’utilisation de l’informatique scientifique
pour du traitement de données
pour comprendre la modélisation / simulation
pour l’analyse des données de simulation
Mais pas forcement axé sur le développement !
2.7. Approche pédagogique: Learning by doing#
constat inculture en informatique de nombreux étudiants en licence (mécanique)
Laurena Barba « Computational Thinking »
teaching and learning with jupyter https://jupyter4edu.github.io/jupyter-edu-book/
Seymour Papert’s Power Principle (MIT 1980)
What comes first, « using » or « understanding »? The natural mode of learning is to first use, leading slowly to understanding.
Apprentissage par problème
méthode scientifique alliant rigueur, validation, analyse
2.7.1. Enseignements concernées en Mécanique#
2.7.1.1. Master Mécanique#
MGC1056M Éléments finis M1 Mécanique (~50 étudiants)
MGC1061M Atelier numérique M1 Mécanique (~50 étudiants)
MGC2367M Méthodes numériques avancées M2 MAM (~30 étu)
2.7.1.2. Licence Mécanique L3/L2#
MGC3079L Programmation & signal (~90 étudiants)
MGC3062L Complément mécanique des fluides (~60 étudiants)
MGC2014L Mécanique des systèmes de solide (~380 étudiants)
MGC2005L Outils informatiques pour la méca. (~ 100 étudiants)
2.7.2. Outils / mise en oeuvre#
logiciels libres pour adapter les outils aux besoins et non l’inverse
2.7.2.1. Infrastructure Jupyter/nbgrader adaptée aux cours#
gestion de cours
distribution / récupération des documents (notebook/fichiers…)
validation/évaluation (semi-automatique)
évaluation automatique de code Python
gestion de banques d’exercices avec notations automatiques
détection de plagiat (pge / compte rendu)
intégration de TP virtuels (axés modélisation et/ou traitement/analyse des données)
2.7.3. Infrastructure mise en place au département (accés 24/24)#
2.7.3.1. serveurs jupyterhub (cours/classe)#
jupyterL2.mecanique (~ 300 utilisations simultanées)
jupyterL3.mecanique {~ 100 utilisations simultanées)
jupyterM1.mecanique (~ 80 utilisations simultanées)
jupyterM2.mecanique (~ 80 utilisations simultanées)
2.7.3.2. serveur jupyter (Python/R/Octave/SageMath)#
2.7.3.3. serveur X2GO (accès distance logiciels prof. sous Linux)#
2.7.4. Cours Outils Informatique en L2#
[Laurena Barba] engineering computations for undergraduate students
2.7.4.1. Cours en mode comodal#
2 vidéos d’introduction de 1h30 sur Jupyter et Python
utilisation de notebooks fait en séance avec les étudiants
2.7.4.2. TP en distanciel avec évaluation systématique#
traitement de données: prédiction du réchauffement planétaire
exercices de programmation avec numpy
modélisation numérique: système de vibration avec amortissement
modélisation avec calcul symbolique: expérience du pendule de Foucault
système dynamique complexe: pendule double -> chaos
2.7.5. Bilan#
2.7.5.1. Bilan très positif: a killer app for education [L. Barba]#
L’environnement Jupyter et les notebooks constituent un outil extrêmement flexible qui peut être utilisé de très nombreuses manières pour atteindre ses objectifs de cours.
Les notebooks sont suffisamment flexibles pour pouvoir être utiliser dans des apprentissages relativement passifs à très actifs: pour illustrer un cours, en classe inversée, en TP virtuels ou non, …
2.7.5.2. Mais ce n’est qu’un outil au service de la pédagogie de l’enseignant#
2.7.5.3. Besoin de partage d’expériences#
2.7.6. Merci#
2.7.6.1. quelques références: https://jupyter.org#
« Teaching and Learning with Jupyter » (L. Barba): https://jupyter4edu.github.io/jupyter-edu-book
Exemples de Notebook: https://perso.univ-lyon1.fr/marc.buffat