2.2. Gestion de cours avec Jupyter/nbgrader#

../_images/jupyter1.png

Présentation du système de validation coté enseignant

Marc BUFFAT département mécanique, Université Lyon 1

../_images/logo_lyon1dpt.png

2.2.1. Basé sur l” EcoSystème Jupyter (pour l’éducation)#

../_images/jupyter.jpg

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#

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.6.1. bouton: Control Panel -> menu Services#

services

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 ..

../_images/jupyter-notebook.png

2.2.8.1. quelques références: https://jupyter.org#