2.3. TP virtuel avec Jupyter Notebook#

Marc BUFFAT dpt Mécanique, UCB Lyon 1

2.3.1. Présentation (avec jupyter notebook)#

  1. Contexte au département de mécanique

  2. présentation de Jupyter (historique)

  3. TP virtuel mesure en soufflerie des forces aérodynamiques (étudiant)

  4. Implementation (enseignant)

    • avec jupyter

    • avec Jupyter + Nbgrader

2.3.2. Plateformes au département de Mécanique#

  1. plateforme pédagogique moodle.mecanique.univ-lyon1.fr ../_images/moodle.png

  2. plateforme jupyter.mecanique.univ-lyon1.fr

    • noyaux python / R / SageMath / Octave ../_images/Jupyter_logo.png

  3. plateforme Jupyter-exam.mecanique.univ-lyon1.fr

    • plateforme de cours nbgrader avec python / Octave

  4. salon de discussion (authentifié) xmpp.mecanique.univ-lyon1.fr

2.3.3. Jupyter Notebook#

import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

2.3.3.1. Historique#

Project Jupyter’s operating philosophy is to support interactive data science and scientific computing across all programming languages via the development of open-source software. ../_images/jupyter1.png

  1. Python (1980 par Guido Von Rossum / Benevolent Dictator For Life)

  2. IPython (2001 par Fernando Pérez / Physicien Berkeley)

  3. Jupyter (2014 par Fernando Pérez and many others / Free software fundation..)

  4. Jupyter lab / Jupyter nbgrader (2018)

Teaching and Learning with Jupyter jupyter4edu.github.io

2.3.3.2. Jupyter and its moons: Julia Python R#

../_images/jupyter.jpg

2.3.3.3. Nbviewer.jupyter.org#

../_images/nbviewer.png

2.3.4. Objectif des TP virtuels#

  1. donnez une expertise sur le traitement de données issues d’expériences (mème virtuelles) pour en déduire des lois générales

    • expérience en soufflerie sur un modèle réduit pour en déduire le comportement sur un avion réel

    • analyse sans dimension

  2. apprendre à rédiger un rapport sur l’analyse de ces données

  3. pas un TP de programmation !!!!

  4. temps pour réfléchir et rédiger le rapport

  5. normalement, un travail sur ces TP est payant

  6. TP individualisé

2.3.4.1. Etude des efforts aérodynamiques sur un profil d’aile#

TP L3 Mécanique ../_images/soufflerie.jpg

2.3.4.1.1. objectifs#

  • simulation d’une expérience en soufflerie

  • choix des mesures à effectuer (paramètres)

  • analyse sans dimension

  • rapport d’analyse

  • TP individualisé (un profil / étudiant)

2.3.4.2. Version étudiant#

2.3.4.3. Version enseignant simple#

  • utilisation de la plateforme jupyter

  • nécessite un programme modèle pour générer les données

    • écrit sous python, matlab/octave, scilab ou R

    • génére des données individualisées (fonction du numéro étudiant)

  • écriture d’un notebook simple avec les instructions, l’appel au programme de génération des donnéees et les instructions pour le rapport

  • distribution manuel du notebook et du programme aux étudiants

    • envoyer à chaque étudiant

    • ou partager sur le répertoire commun

  • récupération des comptes rendus (par les étudiants)

    • sous TOMUSS

    • dépôts sous Claroline connect ou Moodle

  • la plateforme Jupyter accepte plusieurs centaines d’étudiants en même temps

2.3.4.4. Version enseignant plus complexe#

  • plateforme jupyter + nbgrader

  • gestion automatique de la distribution des TP

  • récupération automatique des devoirs

  • mais nécéessite la mise en place d’un cours sous jupyter + nbgrader

2.3.5. Questions ?#