Klausurplanung CNF:Hauptseite
Hinweise
Klausurplanung_CNF wurde in JAVA von Benjamin Bartsch programmiert. Die Software ist "open source" und unterliegt der MIT oder der CC0 Lizenz, d.h. der Quellcode steht allen frei zur Verfügung, aber es dürfen keinerlei Ansprüche geltend gemacht werden. Wenn Sie den Autor kontaktieren möchten, finden Sie die E-Mail-Adresse innerhalb des Programms.
Das Programm arbeitet auf Basis der Daten des Programms Kurs42. Wenn Sie eine Import/Exportfunktion zu anderen Programmen wünschen, können Sie den Autor kontaktieren.
Das Programm unterstützt eine Vielzahl von Nebenbedingungen (Regeln genannt). Wenn Sie für Ihre Schule zusätzliche Regeln benötigen, können Sie ebenfalls den Autor kontaktieren.
Das Programm Klausurplanung_CNF berechnet mehrere Klausurpläne parallel und in Beziehung zueinander, so dass z.B. in der gymnasialen Oberstufe alle drei Jahrgangsstufen in einer gemeinsamer Klausurplanung berechnet werden. Die Details dazu finden Sie in diesem Wiki.
Vorbereitungen
- Laden Sie sich den folgenden SAT-Solver (https://github.com/msoos/cryptominisat/releases) herunter und speichern Sie die Datei (für Windows: cryptominisat5-win-amd64-nogauss.exe) auf Ihrem PC und merken Sie sich den Pfad.
- Installieren Sie ggf. JAVA und laden sich sich dann die aktuellste Version von Klausurplanung_CNF herunter (https://schulverwaltungsinfos.nrw.de/svws/forum/viewtopic.php?f=71&t=1302).
- Sie haben nun das Programm in Form einer JAR-Datei, welche man mit einem Doppelklick starten kann. Dort müssen Sie dort zunächst den Pfad zu cryptominisat...exe angeben und können dann arbeiten, aber zuvor müssen Sie jedoch noch aus Kurs42 Ihre Daten exportieren.
Daten in Kurs42 vorbereiten und exportieren
- Die Wahl der schriftlichen Fächer (Klausurverpflichtung) aller Schüler sollte in allen zu importierenden Blockungen vor dem Export aus Kurs42 gründlich geprüft werden.
- Unter Import/Export --> Export in Textdatei werden sämtliche Häkchen gesetzt und ein Zielordner gewählt.
- Der letzte Schritt ist für alle zu planenden Jahrgangsstufen zu wiederholen - für jede Jahrgangsstufe muss ein separater Unterordner verwendet werden (bspw. "Blockung EF", "Blockung Q1", "Blockung Q2").
- In Klausurplanung_CNF unter Importieren alle soeben erstellten Ordner gleichzeitig auswählen (Mehrfachauswahl: Strg-Taste gedrückt halten).
- Das Programm ist nun bereit für die Arbeiten am Klausurplan.
Festlegung des Zeitrahmens
- Auf der Registerkarte "Eingabe" legen Sie den Beginn und das Ende des Klausurzeitraums an (frühester Termin der 1. Klausur und spätester Termin der letzten Klausur).
- Die maximale Anzahl von Klausuren eines Schüler bzw. einer Schülerin ist standardmäßig auf drei pro Woche voreingestellt. Dies kann bei Bedarf geändert werden.
Voreinstellungen: Zeitfenster etc.
- Im Fenster Regeln werden nun die nötigen Regeln für den Klausurplan per Dropdown ausgewählt und präzisiert (siehe nachfolgender Abschnitt).
- Ist dies geschehen, kann die Rechnung durch Klick auf "+" gestartet werden. Mehrere Rechnungen sind, je nach Leistung des Computers, möglich. Als Orientierungswert gilt: höchstens eine Rechnung pro CPU-Kern.
Regelwerk
Das Programm arbeitet mit Regeln, die der Nutzer selbst vorgibt und in deren Rahmen eine (mathematische) Lösung gesucht wird. In diesem Fall also eine funktionierende Klausurplanung, die gewisse Rahmenvorgaben erfüllt. Jede Schule hat hier Spezifika, die zunächst definiert werden müssen. Beispielsweise sind folgende Fragen relevant:
- Werden Klausurpläne nach Fächern erstellt oder nach (Blockungs-)Schienen?
- Welche Längen haben die einzelnen Klausuren?
- Möchte ich einen Klausurplan für ein Halbjahr oder ein Quartal erstellen (entscheidend für Zeitfenster des Planes und Anzahl der Klausuren pro Fach)?
- Schreiben bestimmte Fächer (vorzugsweise in der EF) nur eine Klausur im Halbjahr oder keine Klausur im Quartal?
- Welche Klausuren werden als mündliche Prüfungen durchgeführt?
- Sind bestimmte Klausurtermine festgelegt, wie bspw. zentrale gestellte Klausuren?
- Sind bestimmte Termine im Zeitfenster zu blockieren, bspw. Feiertage, pädagogische Tage, Ferien,...?
- ...
Ist ein Regelkatalog mit grundsätzlichen Vorgaben erstellt, so folgt ein weiterer Teil des Regelkatalog, der durch das Programm optimiert werden soll. Auch hier sind Prioritäten zu setzen und dem Programm vorzugeben. Mögliche Faktoren einer Priorisierung sind:
- Anzahl der Klausurtage
- Anzahl der durch Klausuren betroffenen Stunden
- Anzahl von Klausuren, die in einer bestimmten Stunde liegen (Unterrichtsausfall)
- Anzahl der SchülerInnen, die Klausuren an zwei/drei aufeinanderfolgenden Tagen haben
- Anzahl der Klausuren pro Woche (kann ggf. auf zwei reduziert werden?)
- Anzahl von Klausurstunden, die innerhalb der regulären Unterrichtszeit liegen
- Abstand von zwei Klausuren eines Kurses
- ...
Ist die Festlegung der Prioritäten erfolgt, kann anhand dieser der Klausurplan errechnet werden. Hierzu ein Beispiel:
Beispiel für Priorisierung
- Priorität I (Klausurtage)
- 900#Optimiere: Stufe <EF> hat maximal <15> Klausurtage.
- 900#Optimiere: Stufe <Q1> hat maximal <15> Klausurtage.
- 900#Optimiere: Stufe <Q2> hat maximal <15> Klausurtage.
- Priorität II (betroffener Unterricht)
- Priorität III (Schüler)
- 300#SchülerIn: Stufe <EF> und SchülerIn <*> in keiner Woche <3> Klausurtage aufeinanderfolgend.
- 301#SchülerIn: Stufe <EF> und SchülerIn <*> Wochen-Summe mit <2> Klausurtagen aufeinanderfolgend maximal <10>.
- 300#SchülerIn: Stufe <Q1> und SchülerIn <*> in keiner Woche <3> Klausurtage aufeinanderfolgend.
- 301#SchülerIn: Stufe <Q1> und SchülerIn <*> Wochen-Summe mit <2> Klausurtagen aufeinanderfolgend maximal <10>.
- 300#SchülerIn: Stufe <Q2> und SchülerIn <*> in keiner Woche <3> Klausurtage aufeinanderfolgend.
- 301#SchülerIn: Stufe <Q2> und SchülerIn <*> Wochen-Summe mit <2> Klausurtagen aufeinanderfolgend maximal <10>.
- Priorität IV (Kursstunden)
Beim Errechnen des Klausurplans wird nun so vorgegangen:
- Zunächst sind bei der Prioritäten II-IV hohe Werte zu wählen, die auf jeden Fall zu einer Lösung führen.
- Bei Priorität I wird hingegen der Wert immer weiter reduziert, bis es keine Lösung mehr gibt. Der kleinste Wert mit einer Lösung wird beibehalten.
- Nun wird Priorität II so weit möglich reduziert und ebenfalls der kleinstmögliche Wert beibehalten.
- Das Gleiche wird für Priorität III und IV getan.
Ein alternatives Vorgehen wäre es auch, alle Prioritäten als Ganzes in den Blick zu nehmen und eine ausgewogene Lösung zu erstellen. Dies hat sowohl Vor- als auch Nachteile, die von den konkreten Bedürfnissen von der Schulgemeinde abhängen.
Einführungsbeispiel 1: Erste Regeln für eine gleichzeitige Blockung von EF und Q1
100#Klausurphasen: Stufe <*> und Kurs <*> schreibt <2> Klausuren.
105#Klausurphasen: Stufe <*> und Fach/Kursart <*>/<*>: Abstand zweier Klausuren ist mindestens <25> Tage.
151#Klausurlänge: Stufe <Q1> und Fach/Kursart <*>/<LK> mit Klausurnummer <*> hat Länge <4>.
151#Klausurlänge: Stufe <Q1> und Fach/Kursart <*>/<GK> mit Klausurnummer <*> hat Länge <3>.
151#Klausurlänge: Stufe <EF> und Fach/Kursart <*>/<*> mit Klausurnummer <*> hat Länge <2>.
201#Plan: Stufe <*> und Stunden <7> bis <10> gesperrt.
400#Klausurbeginn gemeinsam: Stufe <*> alle Kurse (außer LK und mündl. Prüfungen) mit gleichem Fach.
405#Klausurbeginn gemeinsam: Stufe <*> für alle Kurse des gleichen Tages.
901#Optimiere: Alle Stufen haben zusammen maximal <30> Klausurtage.