howto:git:classroom50:classes

Action unknown: linkbutton

Classroom50: Klasse erstellen

Jede Organisation kann eine oder mehrere Klassen enthalten. Diese Seite beschreibt, wie du eine Klasse innerhalb der Organisation erstellst.

  • Die GitHub-Organisation wurde erstellt.
  • Die Organisation in Classroom50 wurde erstellt.

Classroom50: Organisation einrichten

  1. Öffne den gewünschten Classroom.
  2. Klicke auf [+ New classroom]

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.
    1. Lade die Teilnehmerliste aus dem Moodle-Kurs als CSV-Datei herunter.
    2. Ersetze die erste Zeile mit first_name,last_name,email,section
    3. 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.
    1. Öffne die Klasse innerhalb des Classrooms über den Button [View assignments]
    2. Gehe zu „Roster“ und klicke den Button für den CSV-Upload und lade die Datei 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.

Du kannst für deine Klassen einen individuellen Grader (z.B. pygrader vom BZZ) verwenden.

  1. Öffne das Repository classroom50 innerhalb der GitHub-Organisation. Zum Beispiel https://github.com/m320-ix25/classroom50.git.
  2. Öffne den Ordner für die gewünschte Klasse. Zum Beispiel m320-ix25.
    In diesem Ordner sind schon einige JSON- und CSV-Dateien.
  3. Kopiere das Skript autograder.py von https://github.com/BZZ-Commons/pygrader50/blob/main/bootstrap/autograder.py in den Klassenordner.

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}'
 
...
  • howto/git/classroom50/classes.txt
  • Zuletzt geändert: 2026/08/19 09:38
  • von msuter