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 09:07] – [Lernende hinzufügen] msuterhowto:git:classroom50:classes [2026/08/19 09:38] (aktuell) msuter
Zeile 44: Zeile 44:
 Falls du dies möchtest, kannst du die Datei ''roster.csv'' im GitHub-Repository ''classroom50'' bearbeiten. Falls du dies möchtest, kannst du die Datei ''roster.csv'' im GitHub-Repository ''classroom50'' bearbeiten.
 </WRAP> </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.1787123275.txt.gz
  • Zuletzt geändert: 2026/08/19 09:07
  • von msuter