Classroom 50: Aufgabe annehmen, bearbeiten, abgeben

Diese Seite gilt für alle Module, die auf Classroom 50 laufen. Der alte Ablauf über GitHub Classroom steht unter Github Classroom (veraltet).

  1. Ein GitHub-Konto, verknüpft mit der BZZ — siehe GitHub - Konto erstellen und verknüpfen und GitHub - Single Sign on.
  2. Dein Moodle-Benutzername muss deinem GitHub-Login entsprechen. Ist das nicht der Fall, wird deine Abgabe zwar bewertet, die Note kommt aber nicht in Moodle an. Melde dich in dem Fall bei der Lehrperson.

Neu gegenüber GitHub Classroom: Der GitHub-Benutzername wird nicht mehr im Moodle-Profil eingetragen (weder unter Pseudonym noch unter GitHub Classroom). Classroom 50 vergleicht direkt Moodle-Benutzername und GitHub-Login.

  1. Öffne in Moodle die Aktivität der Aufgabe (Typ External Assignment).
  2. Klicke den dort hinterlegten Link zum Annehmen der Aufgabe.
  3. GitHub erstellt dir ein privates Repository <CLASSROOM>-<SLUG>-<DEIN-LOGIN> in der Organisation der Klasse.

Das Repository enthält den Startcode aus dem Template. Die Tests der Lehrperson sind bereits hinterlegt.

git clone https://github.com/<ORG>/<CLASSROOM>-<SLUG>-<DEIN-LOGIN>.git
cd <CLASSROOM>-<SLUG>-<DEIN-LOGIN>

Danach eine virtuelle Umgebung anlegen und die Abhängigkeiten installieren — der Ablauf ist unverändert, siehe Virtual Environment und git und Python venv.

python3 -m venv .venv
source .venv/bin/activate       # Windows: .venv\Scripts\activate
pip install -r requirements.txt

Die requirements.txt ist für deine lokale Arbeit da. Die Bewertung auf GitHub benutzt sie bewusst nicht, sondern eigene, festgelegte Versionen. Deshalb kann es vorkommen, dass pylint auf GitHub etwas strenger urteilt als bei dir lokal.

Abgeben heisst: pushen. Es gibt keinen separaten Abgabeknopf.

git add .
git commit -m "Aufgabe gelöst"
git push

Jeder Push löst eine neue Bewertung aus. Du kannst beliebig oft pushen; gewertet wird die letzte Abgabe vor dem Abgabetermin.

Nach ein bis zwei Minuten stehen im Repository vier Dinge:

Ort Was du dort siehst
Häkchen / Kreuz neben dem Commit Kurzfassung, z.B. classroom50/autograde: 5/7 (2/3 tests passed)
Reiter Actions das vollständige Log des Bewertungslaufs
Reiter Releases ein Release pro Abgabe mit der Feedback-Tabelle
Pull Request Feedback dasselbe Feedback als Kommentar

Die Feedback-Tabelle sieht so aus:

### classroom50 autograde: 5/7

## Unittests
| name     | feedback        | expected | actual | points | max |
| -------- | --------------- | -------- | ------ | ------ | --- |
| test_ggt | Assertion Error | 8        | None   | 0      | 2   |

**0.00/2.00 Points (0.00%)**
  • expected ist der von den Tests erwartete Wert, actual dein tatsächlicher.
  • Ein Eintrag Linting bewertet den Stil deines Codes. Punkte gibt es anteilig zur pylint-Note.
  • Ein rotes Kreuz beim Commit heisst: mindestens ein Test ist gescheitert oder das Linting gab 0 Punkte.

Die Punkte werden nachts nach Moodle übertragen, ungefähr um 05:00 Uhr. Wenn du am Abend pushst, steht die Note am nächsten Morgen in Moodle. Braucht die Lehrperson die Noten früher, kann sie den Übertrag von Hand auslösen.

Verspätete Abgaben werden übertragen und im Feedback als solche gekennzeichnet.

Frage Antwort
Ich sehe 0/0 statt Punkten. Für diese Aufgabe ist (noch) keine Bewertung hinterlegt. Kein Fehler deinerseits — der Lehrperson melden.
Das Häkchen ist rot, obwohl alle Tests grün sind. Dann kostet das Linting die Punkte. Schau in die Zeile Linting im Release.
Es läuft gar kein Bewertungslauf. Enthält deine Commit-Message NOACTION oder CLASSROOM 50, wird der Lauf absichtlich übersprungen. Sonst: Reiter Actions prüfen.
Ich habe nach dem Abgabetermin gepusht. Die Abgabe wird trotzdem bewertet und als verspätet markiert.
Meine Note fehlt in Moodle. Meist stimmt Moodle-Benutzername ≠ GitHub-Login. Der Lehrperson melden.

Mehr: Problembehandlung.

  • howto/git/classroom50/lernende.txt
  • Zuletzt geändert: 2026/08/14 11:14
  • von kmaurizi