Per per correcció automàtica de notebooks de Jupyter. Adaptat a la Universitat Autònoma de Barcelona (UAB).
Aquestes instruccions han estat adaptades de https://nbgrader.readthedocs.io/en/stable/user_guide/installation.html i de https://github.com/johnhw/moodle_nbgrader.
Cal fer servir el gestor de paquets del sistema, per instal·lar els paquests Python: nbgrader
, pdfkit
i fire
. Tambés es pot fer amb conda
o mamba
:
$ mamba install nbgrader pdfkit fire
Aquests scripts ens serveixen per interactuar amb cursos del Moodle.
- Descarreguem els scripts:
$ git clone https://github.com/mmasdeu/moodle_nbgrader.git ~/moodle_nbgrader
-
Anem a la carpeta on volem mantenir les diferents entregues
$ mkdir -p ~/AlgebraLineal $ cd ~/AlgebraLineal
-
Creem la configuració inicial, i hi copiem el fitxer inicial de configuració, adaptat a la UAB.
$ wget https://raw.githubusercontent.com/mmasdeu/moodle_nbgrader/master/nbgrader_config.py $ wget https://raw.githubusercontent.com/mmasdeu/moodle_nbgrader/master/header.ipynb -P source/ $ jupyter lab (s'obre una finestra/pestanya al navegador)
-
Editem el fitxer
source/header.ipynb
, si volem. -
Cliquem el menú NBgrader -> Formgrader que ha aparegut.
-
Cliquem + Add new assignment... (No feu servir espais al nom!)
-
Cliquem el llapis Edit per fixar el nom (la data d'entrega no es fa servir)
-
Cliquem el nom (a la columna Name), i afegim un document de Jupyter (New launcher + botó SageMath).
Es poden afegir nous fitxers de Sage/Python. Cal anar a View -> Cell Toolbar -> Create Assignment
- Cliquem el botó per Generar la tasca: Generate.
- El podem veure clicant a Preview.
- Podem penjar al Moodle el fitxer resultant, que trobarem a la carpeta
releases/
.
Podem avaluar una tasca per veure que funciona tal i com tenim previst. Per fer-ho, simplement cal
crear un directori ~/AlgebraLineal/submitted/JohnSmith/Examen/
i posar-hi a dins el fitxer corresponent.
L'avaluació automàtica es pot fer com en el pas 7 de la secció següent.
-
Al Campus Virtual, cliquem a Visualitza totes les trameses.
-
Acció de qualificar -> Descarrega totes les trameses. Cal desactivar l'opció Descarrega les trameses en carpetes (al final de la pàgina).
-
Als Paràmetres de la Tasca hem d'habilitar, dins la secció Tipus de retroacció les caselles Full de qualificació fora de línia i Fitxers de retroalimentació, i desabilitar les altres dues (Comentaris de retroalimentació i PDF amb comentaris).
-
També hem de baixar el full de qualificacions: Descarrega el full de càlcul per qualificar.
-
Copiem l'arxiu .zip i el full a
imports/
:$ mkdir -p ~/AlgebraLineal/imports $ cp tasca.zip ~/AlgebraLineal/imports/Examen.zip $ cp full.csv ~/AlgebraLineal/imports/Examen.csv
-
Generem els fitxers per avaluar
$ python ~/moodle_nbgrader/moodle_nbgrader collect Examen
-
Ara podem fer l'avaluació automàtica:
$ nbgrader autograde Examen
-
Si cal, des de la interfície web fem la part manual de la correcció.
-
Si no ho hem fet des de la interfícia web, podem generar els fitxers de retroacció amb la comanda següent:
$ nbgrader generate_feedback Examen
-
Generem el fitxer de notes i el zip amb la retroacció:
$ python ~/moodle_nbgrader/moodle_nbgrader gradesheet Examen
-
A la carpeta
exports/
hi trobarem els fitxers:exports/Examen.csv
-> Per pujar com Puja un full de qualificació.exports/Examen_feedback.zip
-> Per pujar com Penja múltiples fitxers de retroacció en un zip.