Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| howto:git:organisation [2024/03/28 14:07] – angelegt - Externe Bearbeitung 127.0.0.1 | howto:git:organisation [2026/08/25 10:07] (aktuell) – Veraltet - Inhalt jetzt unter github.com/BZZ-Commons/pygrader50/docs admin | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== Organisation der Repositories ====== | ||
| - | Durch den vermehrten Einsatz von GitHub und Classrooms müssen wir unsere Repositories organisieren. | ||
| - | ^ ^ Organisation ^ Einsatzzweck ^ | ||
| - | | //Für Lehrpersonen// | ||
| - | | | bzz-fgict || Aktuell für alles, etwas chaotisch | | ||
| - | | | teacher-python || Aufgaben, Leistungsbeurteilungen, | ||
| - | | | teacher-java || Aufgaben, Leistungsbeurteilungen, | ||
| - | | | Modulbereich " | ||
| - | | | BZZ-Commons || Skripts, Workflows, ... die wir weltweit freigeben | | ||
| - | | //Für Vorlagen (Templates)// | ||
| - | | | templates-python | Vorlagen für Assignments im Classroom | | ||
| - | | | templates-java | ::: | | ||
| - | | //Für Lernende// ||| | ||
| - | | | BZZ-2022 | Jahrgang 2022 (IA22a, IA22b, IM22a, IM22b, ...) | | ||
| - | | | BZZ-2023 | Jahrgang 2023 (IA23a, IA23b, IM23a, IM23b, ...) | | ||
| - | |||
| - | <WRAP center round info 60%> | ||
| - | Ich beschreibe den Ablauf jeweils am Beispiel einer neuen Programmieraufgabe im Modul 319. | ||
| - | Der Titel der Aufgabe lautet: " | ||
| - | Ich möchte diese Aufgabe bei den Klassen IM22a und IM22b einsetzen. | ||
| - | </ | ||
| - | |||
| - | ===== Ablauf ohne geheime Lösung ===== | ||
| - | <WRAP center round info 60%> | ||
| - | Bei dieser Variante wird nur ein Repository mit Branches für die Vorlage ('' | ||
| - | </ | ||
| - | |||
| - | {{: | ||
| - | |||
| - | ==== 1. Neues Repository erstellen ==== | ||
| - | Ich erstelle ein neues Repository für diese Aufgabe (siehe [[: | ||
| - | Dieses Repository ist **public** definiert. | ||
| - | Die Lernenden müssen Zugriff auf dieses Repository haben. | ||
| - | |||
| - | * Organisation: | ||
| - | * Repository: M319_LU06_A01_Lists | ||
| - | * Branch: main | ||
| - | |||
| - | Ich kennzeichne dieses Repository als " | ||
| - | |||
| - | ==== 2. Vorlage erstellen ==== | ||
| - | Die Vorlage enthält alle Dateien und Funktionen, welche die Lernenden als Startpunkt erhalten: | ||
| - | |||
| - | * Branch: **main** | ||
| - | |||
| - | | lists.py || Dieses Skript sollen die Lernenden erstellen/ | ||
| - | | lists_test.py || Unit-Tests für die Lernenden | | ||
| - | | .gitignore || | | ||
| - | | requirements.txt || Libraries die importiert werden müssen | | ||
| - | | .github || Ordner für die Workflows | | ||
| - | | | classroom/ | ||
| - | | | workflows/ | ||
| - | |||
| - | ==== 3. Musterlösung erstellen ==== | ||
| - | Die Musterlösung kann direkt im gleichen Repository als eigener Branch z.B. **solution** erstellt werden. | ||
| - | |||
| - | <WRAP center round info 60%> | ||
| - | Mein Repository ist nun vollständig. | ||
| - | </ | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | ===== Ablauf mit geheimer Lösung ===== | ||
| - | {{: | ||
| - | |||
| - | <WRAP center round info 60%> | ||
| - | Bei dieser Variante haben die Lernenden keinen Zugriff auf den Branch " | ||
| - | Dieses Vorgehen ist vor allem bei Leistungsbeurteilungen sinnvoll. | ||
| - | </ | ||
| - | |||
| - | ==== 1. Neues Repository erstellen ==== | ||
| - | Ich erstelle ein neues Repository für diese Aufgabe. | ||
| - | Dieses Repository ist **internal** (oder private) definiert. | ||
| - | Die Lernenden sollen keinen Zugriff auf dieses Repository erhalten. | ||
| - | |||
| - | * Organisation: | ||
| - | * Repository: M319_LU06_A01_Lists | ||
| - | * Branch: main | ||
| - | |||
| - | ==== 2. Vorlage erstellen ==== | ||
| - | Die Vorlage enthält alle Dateien und Funktionen, welche die Lernenden als Startpunkt erhalten: | ||
| - | |||
| - | * Branch: **main** | ||
| - | |||
| - | | lists.py || Dieses Skript sollen die Lernenden erstellen/ | ||
| - | | lists_test.py || Unit-Tests für die Lernenden | | ||
| - | | .gitignore || | | ||
| - | | requirements.txt || Libraries die importiert werden müssen | | ||
| - | | .github || Ordner für die Workflows | | ||
| - | | | classroom/ | ||
| - | | | workflows/ | ||
| - | |||
| - | ==== 3. Musterlösung erstellen ==== | ||
| - | Die Musterlösung kann direkt im gleichen Repository als eigener Branch z.B. **solution** erstellt werden. | ||
| - | |||
| - | <WRAP center round info 60%> | ||
| - | Mein Repository ist nun vollständig. | ||
| - | </ | ||
| - | |||
| - | ==== 4. Kopie erstellen ==== | ||
| - | |||
| - | Ich erstelle eine Kopie meines Repositories, | ||
| - | Damit wird meine Lösung nicht übernommen wird. | ||
| - | |||
| - | * Name: " | ||
| - | * Visibilty: " | ||
| - | |||
| - | Dieses Repository kennzeichne ich als " | ||
| - | |||
| - | ===== Repository im Classroom einsetzen ===== | ||
| - | |||
| - | <WRAP center round info 60%> | ||
| - | Um ein Repository in einem Classroom zu verwenden, muss das Repository **public** sein oder in der gleichen Organisation wie der Classroom liegen. | ||
| - | * Das Template für die Assignments wird in der Organisation " | ||
| - | * Für die Classrooms der Klassen " | ||
| - | </ | ||
| - | |||
| - | |||
| - | |||
| - | ==== 1. Classroom erstellen ==== | ||
| - | Falls noch kein Classroom für meine Klassen " | ||
| - | * Classroom-Name: | ||
| - | |||
| - | ==== 2. Assignment erstellen ==== | ||
| - | Ich erstelle ein Assignment im Classroom " | ||
| - | * Assignment: " | ||
| - | * Template: " | ||
| - | |||
| - | Den Link zu diesem Assignment stelle ich den Lernenden zur Verfügung. | ||
| - | |||
| - | ===== Anpassungen / Fehlerkorrekturen in der Vorlage ===== | ||
| - | Anpassungen am Template werden in künftigen Repositories übernommen. | ||
| - | Es gibt keinen Automatismus um bereits erstellte Repositories der Lernenden zu aktualisieren. | ||
| - | |||
| - | ===== Housekeeping ===== | ||
| - | <WRAP center round info 60%> | ||
| - | Aufräumen von Organisationen / Repos / Benutzerkonten | ||
| - | </ | ||
| - | |||
| - | ==== Abschlussklassen ==== | ||
| - | === Am Ende der Lehre == | ||
| - | * Lernende auffordern Ihre Repos zu sichern | ||
| - | * Repository in anderes Konto transferieren | ||
| - | * UserId, Emailadresse ändern und Organisation verlassen | ||
| - | |||
| - | |||
| - | === Nach Ablauf der Rekursfristen === | ||
| - | * Organisation löschen | ||
| - | * Classroom löschen | ||