Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
howto:git:classroom50:classes [2026/08/19 08:51] msuterhowto:git:classroom50:classes [2026/08/19 09:38] (aktuell) msuter
Zeile 26: Zeile 26:
     - Lade die Teilnehmerliste aus dem Moodle-Kurs als CSV-Datei herunter.     - Lade die Teilnehmerliste aus dem Moodle-Kurs als CSV-Datei herunter.
     - Ersetze die erste Zeile mit ''first_name,last_name,email,section''     - Ersetze die erste Zeile mit ''first_name,last_name,email,section''
-    - Füge am Anfang jeder Zeile ein Komma ein und entferne das Komma am Ende der Zeile.+    - Entferne das Komma am Ende der Zeile.
  
 === Beispiel === === Beispiel ===
Zeile 37: Zeile 37:
   * Lade nun die bearbeitete CSV-Datei in deine Klasse hoch.   * Lade nun die bearbeitete CSV-Datei in deine Klasse hoch.
     - Öffne die Klasse innerhalb des Classrooms über den Button [View assignments] \\ {{:howto:git:classroom50:cr50_class.png?400|}}     - Öffne die Klasse innerhalb des Classrooms über den Button [View assignments] \\ {{:howto:git:classroom50:cr50_class.png?400|}}
-    - Klicke den Button für den CSV-Upload und lade die Datei hoch.+    - Gehe zu "Roster" und klicke den Button für den CSV-Upload und lade die Datei hoch. \\ {{:howto:git:classroom50:cr50_roster.png?400|}} 
 + 
 + 
 +<WRAP center round important 60%> 
 +Aktuell wird der Vor/Nachname der Lernenden im Roster nicht angezeigt. 
 +Falls du dies möchtest, kannst du die Datei ''roster.csv'' im GitHub-Repository ''classroom50'' bearbeiten. 
 +</WRAP> 
 + 
 +===== Individueller Autograder ===== 
 +<WRAP center round tip 60%> 
 +Du kannst für deine Klassen einen individuellen Grader (z.B. pygrader vom BZZ) verwenden. 
 +</WRAP> 
 + 
 +==== 1. autograder.py kopieren ==== 
 + 
 +  - Öffne das Repository ''classroom50'' innerhalb der GitHub-Organisation. Zum Beispiel ''https://github.com/m320-ix25/classroom50.git''
 +  - Öffne den Ordner für die gewünschte Klasse. Zum Beispiel ''m320-ix25''. \\ In diesem Ordner sind schon einige JSON- und CSV-Dateien. 
 +  - Kopiere das Skript ''autograder.py'' von [[https://github.com/BZZ-Commons/pygrader50/blob/main/bootstrap/autograder.py]] in den Klassenordner. 
 + 
 +==== 2. Korrekte Version auswählen ==== 
 +<WRAP center round tip 60%> 
 +In der Datei ''autograder.py'' auf Zeile 21 wird die Version eingestellt. 
 +Aktualisiere diese Version auch bei bestehenden Repos regelmässig. 
 +</WRAP> 
 + 
 +<code python> 
 +#!/usr/bin/env python3 
 +"""Classroom 50 default autograder for the BZZ Python classrooms. 
 + 
 +Install it once per classroom: 
 + 
 +    gh teacher autograder set-default <org> <classroom> --from bootstrap/autograder.py 
 + 
 +It is published verbatim to the classroom's Pages site as 
 +`<classroom>/autograder.py` and fetched by runner.py on every submission. Pages 
 +serves this single file without siblings, so the grading engine is installed 
 +from PyPI-style git at a PINNED tag: grading stays reproducible, and upgrading a 
 +classroom is a one-line edit here plus a publish-pages run. 
 + 
 +Everything else — grading, result.json, release-body.md — lives in 
 +https://github.com/BZZ-Commons/pygrader50 
 +""" 
 + 
 +import subprocess 
 +import sys 
 + 
 +# The rollout gate: this line is what every student's run installs. Moving it 
 +# reaches them on their next push, so it moves between assignments, never in the 
 +# middle of one, and only together with a `gh teacher autograder set-default`. 
 +VERSION = 'v2.2.2' 
 +PACKAGE = f'pygrader50 @ git+https://github.com/BZZ-Commons/pygrader50@{VERSION}' 
 + 
 +... 
 +</code> 
  • howto/git/classroom50/classes.1787122271.txt.gz
  • Zuletzt geändert: 2026/08/19 08:51
  • von msuter