Kurs42 To CNF:Hauptseite

Aus Schild-NRW Wiki
Zur Navigation springen Zur Suche springen

Hinweise

Kurs42_To_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.


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 Kurs42_To_CNF herunter (https://schulverwaltungsinfos.nrw.de/svws/forum/viewtopic.php?f=71&t=20&start=180).
  • 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 Laufbahnen sollten wie üblich bereits vor dem Blocken gründlich geprüft werden
  • In Kurs42 werden unter Bearbeiten --> Kurse einrichten bzw. Bearbeiten --> Kurse einrichten (ohne Fachwahl) die Anzahl der Kurse pro Fach festgelegt
  • Unter Import/Export --> Export in Textdatei werden sämtliche Häkchen gesetzt und ein Zielordner gewählt
  • In Kurs42_To_CNF unter Datei --> Kurs42-Ordner öffnen den soeben mit dem Export befüllten Ordner auswählen
  • Die Abfrage Sollen alle Schüler/Kurse aus KURS42 fixiert werden? kann zunächst verneint werden (die Funktion dieser Abfrage wird an anderer Stelle (LINK?) erklärt)
  • Das Fenster Debug ganz unten sollte leer sein
  • Das Fenster Statiskik gibt Importinformationen an, z.B. wie viele Schüler importiert und wie viele Fächer gewählt wurden


Blocken mit Kurs42_To_CNF

Das Fenster Maximalwerte enthält allgemeine Voreinstellungen zur Blockung. Erfahrungsgemäß bietet sich das Vorhegen an, zunächst die Umwähler auf 0 zu setzen, dafür aber die Maximale Kursgrößendifferenz auf einen sehr hohen Wert, z.B. 35 zu setzen. Die Maximale Kursgröße sollte dem an der Schule üblichen Wert entsprechen. Die Anzahl der Schienen muss mindestens so groß sein, wie die Anzahl der Kurse des Schülers mit den meisten Kursen.

Im Fenster Regeln werden die Regeln definiert, an die sich das Programm zwingend halten soll. Sollen z.B. alle Religions und Philosophie-Kurse unbeding parallel liegen, und zwar in Schiene 3, wählt man in den vier Drop-Down-Menüs Folgendes aus:

  1. Fach-Art
  2. Rel,GK
  3. in Schiene
  4. 3

Es erscheint im Regelfenster Fach-Art#REL;GK#in Schiene#3. Auch durch andere Regelkombinationen kann dieses Ergebnis erzwungen werden, hier gilt es auszuprobieren und Erfahrungen zu sammeln. Die Anzahl der Threads kann zunächst auf 1 stehen (mehr dazu hier LINK), das Ausgabeformat ist üblicherweise Neu+BOM

Berechnen Ein Klick auf den Button Berechne! führt eine Berechnung gemäß der Maximalwerte und Regeln durch. Das Ergebnis wird in einem Tab, z.B. B1_SAT in sechs Fenstern dargestellt, die sich von selbst erklären. Wenn es mathematisch kein Ergebnis geben kann, erscheint UNSAT als Name des Tabs.


Daten in Kurs42 importieren

Nach einer erfolgreichen Berechnung einer Blockungung legt das Programm im oben angelegten Ordner für den Export aus Kurs einen Unterordner an, dessen Name dem TAB B1_SAT entspricht und zusätzlich das Ausgabeformat enthält, hier also B_00001_NEU_UTF8_BOM. In Kurs42 gibt es zwei Möglichkeiten, diese Blockung zu importieren:

  1. Unter Import/Export --> Import der SAT-Solver-Ergebnisse alle Häkchen setzen und den Ordner B_00001_NEU_UTF8_BOM auswählen. Die Blockung ist importiert und kann z.B. unter Blocken --> Automatisch Blocken eingesehen und bearbeitet werden.
  2. Unter Datei --> Neue Blockung aus Textdatei wird der o.g. Ordner gewählt, alle Häkchen gesetzt und importiert.

Das zweite Vorgehen hat den Vorteil, dass man nicht versehentlich eine bestehende Blockung überschreibt und so die frisch importierte Blockung unter einem eigenen Namen speichern kann.


Jahrgänge Blocken

Die hier vorgestellten Regeln sind nur Beispiele einer Schule mit ihren jeweiligen schulspezifischen Anforderungen und können niemals 1:1 übernommen werden. Sie sollen Anregungen schaffen, wie man für seine Schule ein gutes Ergebnis erzielen kann.

Blockung der neuen EF mit Stammgruppen

In diesem Beispiel wird davon ausgegangen, dass die Schule in der EF quasi vierzügig ist und die Fächer Englisch, Mathe, Deutsch und Sport jeweils in der gleichen Zusammensetzung stattfinden sollen. Dazu werden folgende Regeln angewendet:

  • Kurs#D-GK1#in Schiene#1
  • Kurs#M-GK2#in Schiene#1
  • Kurs#E5-GK3#in Schiene#1
  • Kurs#SP-GK4#in Schiene#1
  • Kurs#D-GK2#in Schiene#2
  • Kurs#M-GK3#in Schiene#2
  • Kurs#E5-GK4#in Schiene#2
  • Kurs#SP-GK1#in Schiene#2
  • Kurs#D-GK3#in Schiene#3
  • Kurs#M-GK4#in Schiene#3
  • Kurs#E5-GK1#in Schiene#3
  • Kurs#SP-GK2#in Schiene#3
  • Kurs#D-GK4#in Schiene#4
  • Kurs#M-GK1#in Schiene#4
  • Kurs#E5-GK2#in Schiene#4
  • Kurs#SP-GK3#in Schiene#4


Des Weiteren sollen alle Philo- und Relikurse für mögliche Kurswechsler parallel liegen:

  • Fach-Art#PL;GK#in Schiene (SuS optimal)#5
  • Fach-Art#REL;GK#in Schiene (SuS optimal)#5

Der Mathe Vertiefungskurs soll außerhalb der Regulären Blockung liegen. Die vorliegende Schule bietet in der EF zwölf Kurse an und zusätzlich einen Mathe-Vertiefungskurs als 13. Fach.

  • Fach-Art#VM;VTF#allein in Schiene#13


Blockung der neuen Q1

Blockung der Q2 (Zusatzkurse)


Strategien und weitere Tipps

...

Video-Tutorials

...