Classroom50: Klasse erstellen

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

Voraussetzungen

Classroom50: Organisation einrichten

Klasse erstellen

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

Lernende hinzufügen

Um alle Lernenden einer Klasse hinzuzufügen, erstellst du am einfachsten eine CSV-Datei.

Beispiel

first_name,last_name,email,section
Hanna,Huser,huserh@bzz.ch,IA25a
Beat,Beispiel,beispielb@bzz.ch,IA25a
...

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

  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.

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}'
 
...