Terug naar overzicht

Blog Workflow-notebook

Geschreven door Fleur Braunsdorf

Blog van Jasper van der Heide over zijn Grassroot Workflow-notebook.

Inleiding

Bij een aantal vakken werkte ik als student-assistent met nbgrader, een methode om python programmeeropdrachten (deels) automatisch na te kijken (voor meer daarover zie deze eerdere grassroots). Nbgrader geeft veel mogelijkheden, zoals meer inzicht krijgen in de resultaten van opdrachten en het makkelijker teruggeven van feedback. Tegelijkertijd is de UvA dit jaar overgestapt op Canvas, wat beschikt over een redelijk uitgebreide api. Dit biedt mogelijkheden om opdrachten automatisch van Canvas te halen, en andersom cijfers en feedback automatisch op Canvas te zetten. Om dit makkelijk te maken heb ik voor deze grassroots een “workflow-notebook” gemaakt, om het meeste uit zowel Canvas als Nbgrader te halen!

Wat kan en doet het allemaal?

Workflow

Het workflow-notebook bestaat uit een aantal chronologische stappen die een stuk makkelijker worden gemaakt.

  • Inleverveld op Canvas plaatsen
  • Automatisch de submissions van Canvas downloaden
  • Autograden
  • Handmatig nakijken
  • De submissions toetsen op plagiaat
  • Toetsanalyse (hier later meer over)
  • Per student cijfer en feedback online zetten op Canvas
  • Eindcijfers op Canvas plaatsen

Hoewel het chronologisch is geplaatst, kunnen de stappen ook herhaald worden in een andere volgorde. Zo blijkt na handmatig nakijken soms dat een test bij een opdracht niet werkt zoals gehoopt. Deze kan dan aangepast worden en kan er opnieuw ge-autograde worden.

Toetsanalyse

Door nbgrader kunnen resultaten goed geanalyseerd worden. Er zijn in het workflow notebook een aantal toetsanalyse visualisaties beschikbaar. Onderstaand figuur geeft bijvoorbeeld inzicht in de verdeling van de cijfers voor een opdracht, en de mogelijkheid om de beoordeling aan te passen.

1

Nbgrader geeft ook de mogelijkheid om de resultaten per vraag van een opdracht in te zien. Daarmee kunnen de p-waarden en rir-waarden per vraag berekend worden, wat inzicht geeft in de kwaliteit van vragen en welke vragen misschien onduidelijk waren voor studenten.

2

Om de kwaliteit van opdrachten overall in te zien, kan de Cronbachs Alpha voor elke opdracht berekend worden.

3

Ook is er een visualisatie met het overzicht van de cursus als geheel. Bovenaan staat een boxplot van de cijfers van een opdracht. Daaronder een plotje met hoeveel studenten na elke opdracht het vak wel of niet lijken te halen. Hiervoor kunnen ook cijfers worden gebruikt die niet van een nbgrader opdracht komen, maar wel op Canvas staan. Omdat elk vak natuurlijk verschilt, is het mogelijk om per cursus vereisten toe te voegen, aan te geven wat de wegingen zijn en welke opdrachten herkansingen zijn voor wat.

4

Als laatste plotje is er dan het overzicht van de (voorlopige) eindcijfers en de mogelijkheid deze op Canvas te plaatsen.

5

Cijfers uploaden naar Canvas

Als laatste feature is er de mogelijkheid om de berekende cijfers van een opdracht automatisch op Canvas te zetten. Bij het uploaden is het ook mogelijk een algemene comment te zetten of het door nbgrader gemaakte feedbackvel te uploaden als comment. In dit feedbackvel worden, in tegenstelling tot nbgrader, wel de hidden tests weggehaald.

Hoe nu verder?

Het volgende semester zal het workflow-notebook gebruikt worden bij een aantal vakken, en aan de hand daarvan ook verbeterd. Mocht je als docent ook dit willen gebruiken, mail mij op j.vanderheide@uva.nl en dan help ik graag!

Het workflow-notebook bestaat uit twee delen, het notebook en een python package. Deze zijn te vinden hier op GitHub. De komende tijd zal ik nog wat verbeteren, onder andere de documentatie. Het is waarschijnlijk dat er nog wel wat kleine bugs in zitten of dat er features ontbreken. Laat het ook dan vooral weten via GitHub!