A simple tool made to help keep track when correcting exercises for the course "Formale Modellierung"


Keywords
FMOD, correction, assistance, TU, Vienna
License
MIT
Install
pip install fmod-tool==0.1.10

Documentation

FMOD Verbesserungstool

Installation

Das tool lĂ€sst sich ĂŒber pip fĂŒr Python >3.7.1<=3.9 mit pip install fmod_tool installieren.

DEV

Dieses git repo klonen und poetry install ausfĂŒhren (poetry nötig). Nun kann man mit tool in jedem Ordner arbeiten und weiter am Projekt arbeiten.

Nutzung

Setup

Das Tool benötigt 2 Ordner: done, not_done. Im not_done bitte sÀmtliche PDFs legen. Die Excel Datei sollte nicht im not_done Ordner sein, verursacht aber keine Probleme.

Der Ordner sollte so aussehen:

ueXPunkte.xlsx
done
not_done/
    3128481VornameNachname.pdf
    3128481VornameNachname.pdf
    3128481VornameNachname.pdf
    3128481VornameNachname.pdf
    ...

Nach dem ersten mal ausfĂŒhren von tool wird eine settings.yml erstellt. Diese bitte öffnen und bearbeiten (Punkte eintragen und PrĂ€fenz fĂŒr Abschluss nach Korrektur festlegen).

Anschließend einmal tool extract ausfĂŒhren um die Datei names.txt zu generieren wo deine Bewertungen zwischengespeichert werden bevor sie zum Schluss in die Excel-Datei kopiert werden! Falls du manuell etwas Ă€ndern musst, kannst du das in der names.txt machen!

Nutzung

Mit tool show kann man sich die noch nicht fertigen Abgaben anzeigen lassen. Wenn man tool show -d macht, sieht man welche schon Abgaben schon fertig sind.

Um den Verbesserungsvorgang zu starten ruft man tool correct MATNR auf. Als Ausgabe bekommt man die schon erledigten Abgaben und anschließend die derzeitige Zeile der aktuellen. Das Tool wartet nun auf eine Bewertung fĂŒr die erste Aufgabe. Hier ist es nun möglich die Abgabe des/der Studenten/in in einem PDF-Editor zu annotieren und nach Verbesserung des ersten Beispiels die Punkte im Tool einzugeben:

MAX POINTS FOR 1 : 3
Enter Points:2

Und Enter drĂŒcken um die Aufforderung fĂŒr das nĂ€chste Beispiel zu bekommen. Nach jeder Eingabe bekommt man auch die Übersicht der aktuellen Abgabe immer wieder ausgegeben. Falls die Aufgabe mit vollen Punkten gelöst wurde, genĂŒgt es auch einfach nur Enter zu drĂŒcken ohne eine Zahl einzugeben, es wird die maximale Punkteanzahl eingetragen.

Nachdem alle Beispiele verbessert wurden wird die Summe ausgegeben. Diese bitte in die Abgabe annotieren und die PDF speichern (oder eine Kopie in done speichern). Das Tool wartet nun auf eine Eingabe. Nachdem Eingabe gedrĂŒckt wird, geschieht jetzt das was in settings.yml gewĂ€hlt wurde:

  • "NOTHING": Die Original PDF bleibt im not_done Ordner (schlecht, da das show command damit durcheinander kommt)
  • "REMOVE": Die Original PDF wird aus dem not_done Ordner gelöscht (standard, somit wird show richtig berechnet). Diese Option nutzen, falls man die PDF nicht in-place editiert und stattdessen die Kopie selbst in done speichert.
  • "RENAME": Die Original PDF wird aus not_done nach done verschoben und ein _copy.pdf wird angehangen Diese Option nutzen, falls man die PDF in-place verĂ€ndert und das Original nun die Annotationen hat.

Zum Schluss werden alle noch nicht verbesserten Abgaben ausgegeben, von denen man sich eine Matrikelnummer fĂŒr die nĂ€chste Verbesserung nehmen kann.

Falls ein Fehler beim korrigieren passiert, kann man das Programm mit Ctrl+C einfach unterbrechen und mit der Abgabe von vorne anfangen.

Nachdem alle Abgaben verbessert wurden, nimmt tool to_xlsx EXCELDATEIPFAD TUTORNAME die names.txt und trÀgt alle Ergebnisse in eine Kopie der Excel Datei die mit _done.xlsx endet ein. Diese liegt im selben Ordner. Es werden noch einmal alle Abgaben ausgegeben als auch ganz rechts deren Summen.

Nun ist es nur mehr nötig zu checken ob in der ueXPunkte_done.xlsx alles passt, diese umbenennen, in den done Ordner zu packen und den ganzen done Ordner per Lieblingsprogramm hochzuladen.

Anmerkungen

FĂŒr jedes Kommando gibt es eine kurze Help die man mit sich anzeigen lassen kann indem man --help anhĂ€ngt.

Jede/r ist eingeladen am Projekt zu helfen indem er/sie das Projekt auf Github forked und VorschlĂ€ge auf dem Fork macht. Anschließend per Pull Request diese Änderungen vorschlagen! Danke vielmals fĂŒr jegliche Hilfe.

Bei Fragen oder Bugs im Repo ein Ticket öffnen oder mir eine Email schreiben!