Classroom50: Klasse erstellen
Jede Organisation kann eine oder mehrere Klassen enthalten. Diese Seite beschreibt, wie du eine Klasse innerhalb der Organisation erstellst.
Voraussetzungen
- Die GitHub-Organisation wurde erstellt.
- Die Organisation in Classroom50 wurde erstellt.
Klasse erstellen
- Gehe zu https://classroom50.org/.
- Klicke auf [+ New classroom]
Lernende hinzufügen
Um alle Lernenden einer Klasse hinzuzufügen, erstellst du am einfachsten eine 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.
- Ersetze die erste Zeile mit
first_name,last_name,email,section - Entferne das Komma am Ende der Zeile.
Beispiel
first_name,last_name,email,section Hanna,Huser,huserh@bzz.ch,IA25a Beat,Beispiel,beispielb@bzz.ch,IA25a ...
- Lade nun die bearbeitete CSV-Datei in deine Klasse hoch.
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.
Individueller Autograder
Du kannst für deine Klassen einen individuellen Grader (z.B. pygrader vom BZZ) verwenden.
1. autograder.py kopieren
- Öffne das Repository
classroom50innerhalb der GitHub-Organisation. Zum Beispielhttps://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.pyvon https://github.com/BZZ-Commons/pygrader50/blob/main/bootstrap/autograder.py in den Klassenordner.
2. Korrekte Version auswählen
In der Datei autograder.py auf Zeile 21 wird die Version eingestellt.
Aktualisiere diese Version auch bei bestehenden Repos regelmässig.
#!/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}' ...



