Deputat_To_CNF

Themen rund um das Programm Kurs42

Moderator: wschrewe

B. Bartsch
Fachberater*in
Beiträge: 321
Registriert: Dienstag 4. Dezember 2018, 14:14
Schulform: Gymnasium

Deputat_To_CNF

Beitrag von B. Bartsch »

Sehr geehrte Forenmitglieder,
anbei ein Programm zur 'optimalen' Verteilung von Lehrkräften auf Kurse. Das Programm heißt 'Deputat_To_CNF'. Sie benötigen den SAT-Solver CryptoMiniSat als externes Programm. Es folgt eine kurze Auflistung, was das Programm kann.

##### HINWEIS: Am Ende des Chats befindet sich immer die aktuellste Version. #####

FÄCHER
Können definiert/gelöscht werden. Fächer besitzen ein Kürzel und eine Beschreibung (D, Deutsch). Zur Zeit verwendet das Programm nur das Kürzel. Fächer können mit anderen zusammengefügt (merge) werden (ggf. nötig bei Importen). Ob man beispielsweise Deutsch, D-Förder, D-Lernzeit als drei Fächer oder als ein Fach modelliert hat Vor- und Nachteile. Persönlich würde ich nur das Fach Deutsch modellieren.

LEHRKRÄFTE
Können definiert/gelöscht werden. Jede Lehrkraft besitzt ein Kürzel und einen Namen (derzeit unwichtig). Eine Mindeststundenzahl (wird noch ignoriert), eine Maximalstundenzahl und eine etc-Stundenzahl (zb. Entlastung, nur wichtig zur Soll-Stunden-Darstellung). Zusätzlich kann die Anzahl an Klassenlehrerfunktionen begrenzt werden. Zudem kann forciert werden, dass die Klassenlehrerfunktion eine Mindestanzahl an Stunden in der jeweiligen Klasse zur Folge hat. Lehrkräfte können zu jedem Fach eine Maximalstundenanzahl definieren. Werte über 0 bedeuten, dass die Lehrkraft das Fach potentiell unterrichten darf. Lehrkräfte können zu jeder Klasse/Klassenlehrerfunktion eine Präferenz abgeben. Und Lehrkräfte können zu jedem Kurs eine Präferenz angeben.

KLASSEN (--> KURSE)
Klassen haben ein Kürzel und benötigen ggf. einen Klassenlehrer. Pro Klasse kann man Kurse definieren. Klassen können geklont werden. Kurse werden dabei dupliziert, außer der Kurs ist in einer Schiene, dann nimmt die Klasse an dem bereits existierenden Kurs teil.

KURSE
Ein Kurs hat ein Fach (unveränderlich) und einen Anzeigename. So kann man Deutsch, Deutsch-Förder, Deutsch-Lernzeit als 'D' deklarieren, die Kurse aber dennoch unterscheiden. Ein Kurs hat 1-n Klassen (Eingabe durch Komma getrennt). Der Kurs kann in einer Schiene sein --> Eine Lehrkraft kann nicht zwei Kurse innerhalb der selben Schiene unterrichten. Ein Kurs hat eine Mindest- und eine Maximalstundenanzahl. Das Minimum ist wichtig, wenn Kurse gekürzt werden dürfen. Ein Kurs kann in einer Stundengruppe sein. Kurse in der selben Stundengruppe haben stets die gleiche Stundenanzahl. So kann man z.B. erreichen, dass wenn zb. Religion in einer Schiene gekürzt wird, alle Religionskurse gekürzt werden. Ein Kurs kann in einer Lehrkraftgruppe sein. So kann man z.B. erreichen, dass wenn eine Lehrkraft Deutsch in einer Klasse unterrichtet, sie auch Deutsch-Lernzeit bekommen soll.

### BERECHNUNG ###
Die Berechnung hat drei Parameter, nach denen man optimieren kann. 'Summe aller Stundenkürzungen minimieren' und 'Summe unerfüllter Lehrer-Kurs-Präferenzen minimieren' und 'Summe unerfüllter Lehrer-Klassenlehrer-Präferenzen minimieren'.

Im oberen Teil sieht man hinter Lehrkräfte z.b. (900-950) und hinter Klassen (930-970). Die Zahlen zeigen das Stunden-Angebot der Lehrkräfte und die Stunden-Nachfrage der Kurse an. Nur bei Überschneidung der Intervalle macht die Berechnung mit dem Programm Sinn.

Herzliche Grüße
Benjamin Bartsch

PS: Fragen, Anregungen und Wünsche gerne hier posten.
Dateianhänge
Deputat_To_CNF_2018_12_26.jar
(698.76 KiB) 83-mal heruntergeladen
Zuletzt geändert von B. Bartsch am Sonntag 30. Dezember 2018, 19:49, insgesamt 1-mal geändert.
B. Bartsch
Volker_Dirr
Beiträge: 94
Registriert: Sonntag 2. Dezember 2018, 19:55
Schulform: Realschule

Re: Deputat_To_CNF

Beitrag von Volker_Dirr »

Interessant.
Ich vermisse etwas die Eingabe des grundsätzlichen Konzeptes.
Vom Prinzip setzen viele Schulen einen Lehrer mit all seinen Fächern in der Klasse ein sobald er dort ein (Haupt-)fach unterrichtet. Sinn: Er kennt schon die Schüler; er kann leichter Klassenarbeiten verschieben, …

Dann fahren die Schulen jedoch vom Prinzip oft eines der folgenden Konzepte:

a) Man verteilt den Lehrer möglich nicht weiterhin in der Jahrgangsstufe, in der er schon unterrichtet.

b) Man verteilt den Lehrer möglich weiterhin in der Jahrgangsstufe, in der er schon unterrichtet

Vorteil von a)
- einige Lehrer “langweilen” sich, wenn sie immer in der selben Jahrgangsstufe unterrichten.
- angeblich sprechen sich die Lehrer besser ab und entwickeln den Unterricht gemeinsam besser als bei Variante b)
- ...

Vorteil von b)
- Lehrer braucht die Stunde nur einmal vorbereiten/aufbauen und kann sie mehrfach nutzen (habe ich an einer alten Schule in Physik geliebt; jetzt geht das leider nicht mehr :-( Ich brauchte so die Versuche nur einmal aufbauen und konnte sie dann aber 4 mal nutzen.)
- Lehrer sitzt in weniger Jahrgangsstufen Konferenzen. So braucht man nicht jede Konferenz mitnehmen, sondern kann auch mal nach Hause gehen.
- Wenn der Lehrer sogar alle Klassen eines Jahrgangs unterrichtet: Kein Schüler hat einen Vor- oder Nachteil. Alle haben beim gleichen Lehrer. Klassen sind leichter miteinander zu vergleichen. Kein Schüler hat “Glück”/”Pech”, weil er jetzt den “besseren”/”schlechteren” Lehrer bekommen hat.
- …
B. Bartsch
Fachberater*in
Beiträge: 321
Registriert: Dienstag 4. Dezember 2018, 14:14
Schulform: Gymnasium

Re: Deputat_To_CNF

Beitrag von B. Bartsch »

a) Man verteilt den Lehrer möglich nicht weiterhin in der Jahrgangsstufe, in der er schon unterrichtet.
b) Man verteilt den Lehrer möglich weiterhin in der Jahrgangsstufe, in der er schon unterrichtet
Das Prinzip nach dem ich das Programm entwickelt habe, basiert natürlich auf den Erfahrungen unserer Schule. Dort ist es zumeist so, dass eine Lehrkraft zu 50%-90% einfach die "alten" Kurse übernimmt. Falls eine Lehrkraft "alte" Kurse weiterführt, geht a) und b) relativ leicht.
a) Alle anderen Kurse in der Stufe erhalten die Präferenz 'ungerne'.
b) Alle anderen Kurse in der Stufe erhalten die Präferenz 'gerne'.

Ansonsten könnte ich a) und b) ggf. noch mit folgenden Regeln umsetzen:
"Wenn Klassenlehrer, dann mindestens ... Stunden in gleicher Stufe"
"Wenn Klassenlehrer, dann höchstens ... Stunden in gleicher Stufe"
muss ich mal drüber nachdenken...
B. Bartsch
Volker_Dirr
Beiträge: 94
Registriert: Sonntag 2. Dezember 2018, 19:55
Schulform: Realschule

Re: Deputat_To_CNF

Beitrag von Volker_Dirr »

Klar, alte Kurse erstmal ggf. forsetzen. Habe ich nicht erwähnt, weil sie den Teil schon in ihrem Programm unterstützen.
90% ist aber sehr sportlich. Selbst wenn ein Gymnasium 8 Jahrgänge hat, dann wären 7 alt und könnten übernommen werden und einer neu. Also können max 7/8=86,5% übernommen werden wenn man nie wechselt. Ohne Wechsel geht aber aber kaum, weil die Stundentafel in anderen Jahrgängen z.T. andere Fächer vorschreibt. Damit fällt die Quote nochmal. Wenn man dann eine Sek I-Schule mit nur 6 Jahrgängen ist, sieht die Quote noch "schlechter" aus.
Von Hauptschulen kenne ich es so, dass die oft versuchen das ganze von Klasse 5 bis 10 stabil zu halten.
RS wechseln oft in einem 2 oder 3 Jahresrhytmus.
Effektiv ist damit die Quote an RS deutlich unter 50%.

Die in dem vorherigen Beitrag angesprochenen Konzepte sollten aber nicht auf Klassenlehrer beschränkt sein. Etwa die Hälfte des Kollegiums (je nach Anteil an Teilzeitkräften) ist kein Klassenlehrer - trozdem fahren Schulen auch bei den nicht Klassenlehrern das a) oder b) Konzept.

BTW: Nicht wenige Schulen haben Co-Klassenlehrer. Die sollten evtl. auch entsprechend vergeben werden.
B. Bartsch
Fachberater*in
Beiträge: 321
Registriert: Dienstag 4. Dezember 2018, 14:14
Schulform: Gymnasium

Re: Deputat_To_CNF

Beitrag von B. Bartsch »

... neue Version: Deputat_To_CNF_2018_12_29.jar

- viele kleine Verbesserungen
Dateianhänge
Deputat_To_CNF_2018_12_29.jar
(711.74 KiB) 85-mal heruntergeladen
B. Bartsch
B. Bartsch
Fachberater*in
Beiträge: 321
Registriert: Dienstag 4. Dezember 2018, 14:14
Schulform: Gymnasium

Re: Deputat_To_CNF

Beitrag von B. Bartsch »

... neue Version: Deputat_To_CNF_2018_12_30.jar

- weitere kleine Verbesserungen (Plausibilitätstests, mehr Statistik, ... )
Dateianhänge
Deputat_To_CNF_2018_12_30.jar
(745.85 KiB) 82-mal heruntergeladen
B. Bartsch
B. Bartsch
Fachberater*in
Beiträge: 321
Registriert: Dienstag 4. Dezember 2018, 14:14
Schulform: Gymnasium

Re: Deputat_To_CNF

Beitrag von B. Bartsch »

... neue Version: Deputat_To_CNF_2018_12_31.jar

- Nun kann man pro Klasse - falls gewünscht - eine Klassenstufe zuordnen. Alle Klassen, die einer Stufe zugeordnet sind werden für "Stufenberechnungen" einbezogen. [ich habe mich dagegen entschieden, die Stufen aus dem Klassenkürzel abzuleiten...]
- Nun kann man pro Lehrkraft "in_stufen_präsent_min" und ""in_stufen_präsent_max" angeben, um die Anzahl der Stufen in denen eine Lehrkraft unterrichtet einzuschränken. Ein Wert von 0 deaktiviert diese Option.
Dateianhänge
Deputat_To_CNF_2018_12_31.jar
(773.12 KiB) 73-mal heruntergeladen
B. Bartsch
B. Bartsch
Fachberater*in
Beiträge: 321
Registriert: Dienstag 4. Dezember 2018, 14:14
Schulform: Gymnasium

Re: Deputat_To_CNF

Beitrag von B. Bartsch »

... neue Version: Deputat_To_CNF_2019_01_01.jar

- weitere Verbesserung in der Ausgabe.

PS:
Falls jemand einen Daten-Import aus anderen Programmen wünscht, könnte ich dies implementieren, dann bräuchte ich aber Testdaten...
Dateianhänge
Deputat_To_CNF_2019_01_01.jar
(783.09 KiB) 80-mal heruntergeladen
B. Bartsch
Fachberater*in
Beiträge: 321
Registriert: Dienstag 4. Dezember 2018, 14:14
Schulform: Gymnasium

Re: Deputat_To_CNF

Beitrag von B. Bartsch »

... neue Version: Deputat_To_CNF_2019_01_02.jar

- Fehlerkorrektur: In der Ausgabe fehlte bei der Übersicht der Klassen die zugehörige Lehrkraft.
Dateianhänge
Deputat_To_CNF_2019_01_02.jar
(783.03 KiB) 78-mal heruntergeladen
B. Bartsch
B. Bartsch
Fachberater*in
Beiträge: 321
Registriert: Dienstag 4. Dezember 2018, 14:14
Schulform: Gymnasium

Re: Deputat_To_CNF

Beitrag von B. Bartsch »

... neue Version: Deputat_To_CNF_2019_01_04.jar

- CPU-Threads können nun eingestellt werden (und werden auch gespeichert).
- Das Programm merkt sich den zuletzt geöffneten Ordner.
Dateianhänge
Deputat_To_CNF_2019_01_04.jar
(790.09 KiB) 77-mal heruntergeladen
B. Bartsch
Antworten

Zurück zu „Kurs42 - Programm zur Kursblockung“