Eine kleine Gui, die PK-Tutoren während der Übungen unterstützen soll. Sie dient zum effizienten Eintragen der Anwesenheit und der Adhocbewertungen.
Es wird also geraten, das Repo zu klonen (git clone https://github.com/jakobkogler/pk-tool.git
) und alle folgenden Voraussetzungen zu installieren.
- Python 3.5
- PyQt 5 (
python3 -m pip install PyQt5
) - GitPython für experimentellen Git-Modus (
python3 -m pip install gitpython
)
Andernfalls kann man auch eine vorkompilierte Version downloaden. Bei diesen vorkompilierten Program funktionieren aber möglicherweise nicht alle Funktionen. Die Git-Interaktionen funktionieren mit meinem Windows nicht (eventuell aber nur bei mir). Und außerdem ist das Design des Programmes mit den vorkompilierten Versionen relativ hässlich.
Kompilierte Version für Windows 10: pk-tool.exe
Kompilierte Version für Linux (kompiliert unter Manjaro 15.12) pk-tool
Das Programm startet man mit python3 pk-tool.py
oder per Doppelklick, falls eine vorkomplierte Version verwendet wird.
Nach dem ersten Start des Programmes muss man ein paar Einstellungen vornehmen.
Den Einstellungs-Dialog findet man unter Datei - Einstellungen
.
Dort muss man den Pfad zum PK-Repository angeben, und kann außerdem seinen Usernamen festlegen, um eine bessere Übersicht über seine Gruppen zu bekommen.
Mit Hilfe von Comboboxen kann man die gewünschte Gruppe auswählen und die gewünschte Übung auswählen. Dadurch wird eine interactive Tabelle erstellt. Man kann die Anwesenheit eintragen (Häckchen setzen), die Adhoc-Aufgabe bewerten (Zahl zwischen 0 und 100), und auch einen Kommentar eintragen.
Um keine Zeit beim Namensuchen zu vergeuden, kann man all diese Dinge auch mit "Befehlen" erledigen. Die Syntax dafür ist:
name a
: Der Studentname
ist anwesend.name b
: Der Studentname
ist abwesend.name zahl
: Der Studentname
bekommtzahl
Prozent auf den Adhoc-Teil.name kommentar
: Fügt den Kommentarkommentar
beim Studentenname
hinzu.
Dabei genügt es, einen Substring des echten Namens anzugeben. odo 100
bewertet bei Studenten Dennis T. Odom
100%.
Das funktioniert aber natürlich nur, wenn der Substring nur in einem Namen vorkommt.
Anstatt dem Namen kann man auch die Matrikelnummer angeben. Z.B. 1234567 ist krank
.
Jede Änderung wird automatisch gespeichert im PK-Repo-Ordner gespeichert.
Dabei wird automatisch mit utf-8
kodiert und Unix Line Endings verwendet (auch unter Windows).
Nach dem Bearbeiten der Files muss man aber manuell die Dateien ins Git-Repo einchecken und pushen.
Per Klick auf Datei - Neu
wird eine neue CSV-Datei für die aktuell ausgewählte Gruppe erstellt.
Diese wird automatisch im richtigen Ordner gespeichert.
Jede Spalte kann per Klick auf die Spaltenüberschrift sortiert werden.
Falls ein Student nicht in der Tabelle erscheint (z.B. weil er aus einer anderen Gruppe ist), kann man via Bearbeiten - Student hinzufügen
eine neue Zeile der Tabelle hinzufügen.
Man kann die letzten Änderungen rückgängig machen, bzw. die rückgängig gemachten Schritte wiederherstellen.
Allerdings geht die History verloren, sobald man auf eine andere CSV-Datei wechselt oder man das Programm schließt.
Zu finden sind die Befehle unter Bearbeiten - Zurück
bzw. Bearbeiten - Vor
.
Man kann unter Einstellungen den experimentelle Git-Interaktionen einstellen. Experimentell deswegen, weil es noch nicht auf mehreren Systemen getestet wurde. Falls man diesen Modus aktiviert, wird automatisch beim Starten des Programmes das PK-Repository gepullt, sodass man die neuesten Studentendaten bekommt. Außerdem kann man nach dem Bearbeiten der Anwesenheitslisten die Änderungen direkt aus dem Programm heraus ins Git einchecken und pushen.
Man kann außerdem eine Liste der E-Mails aller Stundenten einer Gruppe generieren.
Diese Liste wird automatisch in die Zwischenablage gelegt und kann anschließend mit Strg-V
in ein Mail-Programm eingefügt werden.
Zu finden ist dieser Befehl unter Tools - Studenten-E-Mails
.
Mit einem Klick auf Datei - Lade Test-Anmeldungen
kann man die Anmeldungsliste von Tuwel laden und automatisch die csv-Dateien für die Test-Anwesenheit generieren.
Copyright (C) 2015-2016 Jakob Kogler, MIT License