Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| howto:git:classroom50:classes [2026/08/19 08:51] – msuter | howto:git:classroom50:classes [2026/08/25 10:54] (aktuell) – msuter | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== Classroom50: | + | ====== Classroom50: |
| <WRAP center round tip 60%> | <WRAP center round tip 60%> | ||
| - | Jede Organisation kann eine oder mehrere | + | Jede Organisation kann einen oder mehrere |
| - | Diese Seite beschreibt, wie du eine Klasse | + | Diese Seite beschreibt, wie du eine Classrooms |
| </ | </ | ||
| Zeile 11: | Zeile 11: | ||
| // | // | ||
| - | ===== Klasse | + | ===== Classroom |
| - Gehe zu [[https:// | - Gehe zu [[https:// | ||
| - Öffne den gewünschten Classroom. \\ {{: | - Öffne den gewünschten Classroom. \\ {{: | ||
| Zeile 21: | Zeile 21: | ||
| <WRAP center round tip 60%> | <WRAP center round tip 60%> | ||
| - | Um alle Lernenden | + | Um alle Lernenden |
| </ | </ | ||
| * Die Teilnehmerliste eines Moodle-Kurses bildet eine gute Basis für die CSV-Datei. | * Die Teilnehmerliste eines Moodle-Kurses bildet eine gute Basis für die CSV-Datei. | ||
| - 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 '' | - Ersetze die erste Zeile mit '' | ||
| - | - Füge am Anfang jeder Zeile ein Komma ein und entferne | + | - Entferne |
| === Beispiel === | === Beispiel === | ||
| Zeile 35: | Zeile 35: | ||
| ... | ... | ||
| </ | </ | ||
| - | * Lade nun die bearbeitete CSV-Datei in deine Klasse | + | * Lade nun die bearbeitete CSV-Datei in deinen Classroom |
| - | - Öffne | + | - Öffne |
| - | - Klicke | + | - Gehe zu " |
| + | |||
| + | |||
| + | ===== Individueller Autograder ===== | ||
| + | <WRAP center round tip 60%> | ||
| + | Du kannst für deine Klassen einen individuellen Grader (z.B. pygrader vom BZZ) verwenden. | ||
| + | </ | ||
| + | |||
| + | ==== 1. autograder.py kopieren ==== | ||
| + | |||
| + | - Öffne das Repository '' | ||
| + | - Öffne den Ordner für die gewünschte Klasse. Zum Beispiel '' | ||
| + | - Kopiere das Skript '' | ||
| + | |||
| + | ==== 2. Korrekte Version auswählen ==== | ||
| + | <WRAP center round tip 60%> | ||
| + | In der Datei '' | ||
| + | Aktualisiere diese Version auch bei bestehenden Repos regelmässig. | ||
| + | </ | ||
| + | |||
| + | <code python> | ||
| + | # | ||
| + | """ | ||
| + | |||
| + | Install it once per classroom: | ||
| + | |||
| + | gh teacher autograder set-default <org> < | ||
| + | |||
| + | It is published verbatim to the classroom' | ||
| + | `< | ||
| + | serves this single file without siblings, so the grading engine is installed | ||
| + | from PyPI-style git at a PINNED tag: grading stays reproducible, | ||
| + | classroom is a one-line edit here plus a publish-pages run. | ||
| + | |||
| + | Everything else — grading, result.json, | ||
| + | https:// | ||
| + | """ | ||
| + | |||
| + | import subprocess | ||
| + | import sys | ||
| + | |||
| + | # The rollout gate: this line is what every student' | ||
| + | # reaches them on their next push, so it moves between assignments, | ||
| + | # middle of one, and only together with a `gh teacher autograder set-default`. | ||
| + | VERSION = ' | ||
| + | PACKAGE = f' | ||
| + | |||
| + | ... | ||
| + | </ | ||