2.2. Gestion de cours avec Jupyter/nbgrader#
Présentation du système de validation coté enseignant
Marc BUFFAT département mécanique, Université Lyon 1
2.2.1. Basé sur l” EcoSystème Jupyter (pour l’éducation)#
exemples de notebooks sur nbviewer.jupyter.org
galerie de notebooks sur github.com/jupyter/jupyter/wiki
exemples de notebook sur perso.univ-lyon1.fr/marc.buffat
2.2.2. Objectifs:#
2.2.2.1. utilisation des notebooks pour l’enseignement#
sous forme de TP (programmation, traitements de données, TP virtuels, modélisation)
sous forme de cours interactif
2.2.2.2. fournir un environnement simple (web) pour l’étudiant#
aucun logiciel à installer sur l’ordinateur de l’étudiant
multi-plateforme avec accès avec un navigateur
accessible 24h/24h
2.2.2.3. fournir un environnement simple (web) pour l’enseignant#
interface web de gestion du cours (nbgrader)
distribuer et récupérer simplement les TP des étudiants
gestion des étudiants
détection de plagiat
accès simple au travail des étudiants (format html, pdf)
notation / évaluation semi-automatique du travail des étudiants
interface simple avec Tomuss
accès interactif aux dossiers de TP des étudiants
2.2.2.4. logiciel libre#
développé au départ pour des besoins pédagogiques personnels
partagé dans l’esprit du logiciel libre et de Linux.
2.2.3. Infrastructure mise en place au département#
2.2.3.1. serveurs jupyterhub (cours/classe)#
jupyterL2.mecanique (~ 300 utilisateurs simultanés)
jupyterL3.mecanique {~ 100 utilisateurs simultanés)
jupyterM1.mecanique (~ 80 utilisateurs simultanés)
jupyterM2.mecanique (~ 80 utilisateurs simultanés)
jupyterL1.mecanique (~ 300 utilisateurs simultanés)
2.2.3.2. serveur jupyter (Python/R/Octave/SageMath)#
2.2.4. Etape 1#
2.2.4.1. définir la structure de son cours et ses besoins#
un seul intervenant avec peu d’étudiants
cours avec une équipe pédagogique
cours avec de nombreux étudiants: structuration en groupes de TP
ensemble de cours (meta-cours) liés à une formation
2.2.4.2. matériel pédagogique#
liste de notebooks développés sur son ordinateur
installation de Jupyter avec anaconda ou pip
utilisation du serveur Jupyter (accessible à tous les enseignants)
exemples de notebooks sur nbviewer.jupyter.org
galerie de notebooks sur github.com/jupyter/jupyter/wiki
exemple TP1.ipynb
2.2.5. Etape 2: demande de création d’un cours#
envoie d’un mel à Geoffroy Berret geoffroy.berret@univ-lyon1.fr, ingénieur informatique au département mécanique
fournir les informations suivantes
nombre d’étudiants concernés
structuration du cours: un cours unique/ groupes de TP
nom du cours = code APOGEE du type MGCxxx.
cours avec GroupeTP: MGCxxxG1, MGCxxxG2
noms des enseignants (équipe pédagogique)
responsable = premier enseignant de la liste
2.2.5.1. phase de test#
pour la phase de test
cours unique sous le meta-cours cours1
2.2.5.2. pour la suite:#
structuration en meta-cours
nom du meta-cours correspondant à la structuration de plusieurs cours au sein d’un même formation
2.2.5.3. retour par mél#
création du cours demandé sur un serveur nbgrader. Le cours crée possède des exemples de TP que l’on peut bien évidemment modifier.
exemple: cours MGC0000 sous mbuffat-nbgrader
liste d’étudiants tests fictifs: p0000000, p0000001, p0000002
2.2.5.4. étapes suivantes#
connexion sur le serveur du cours
mise en place du cours sur le serveur
test des outils validations
2.2.6. Interface enseignant#
2.2.7. Selection du cours: p.e. PHY2005L
#
interface jupyter nbgrader du cours,
dépots des notebooks du cours (dans
source
),gestion des transfert vers les étudiants (menu
Formgrader
)
2.2.8. Selection de la gestion: p.e. __GESTION_cours1
#
interface de gestion du cours ,
étudiants inscrits,
validation, plagiat ..
2.2.8.1. quelques références: https://jupyter.org#
Exemples de Notebook: https://perso.univ-lyon1.fr/marc.buffat
Teaching and Learning with Jupyter (L. Barba): https://jupyter4edu.github.io/jupyter-edu-book