Corona_Planer_CNF

Hier können alle Themen rund um die neuen zusätzlichen Blockungsprogramme diskutiert werden.

Moderator: wschrewe

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

Corona_Planer_CNF

Beitrag von B. Bartsch » Samstag 16. Mai 2020, 08:51

Liebe Forenmitglieder,

anbei ein neues Tool Corona_Planer_CNF.
Die Idee:
  • Sie wollen im nächsten Schuljahr möglichst viele SuS beschulen.
  • Sie wollen einen regulären Stundenplan berechnen.
  • Sie wollen die SuS in Woche 1 und Woche 2 einteilen. Dann haben ca. 50% der SuS Unterricht in Woche 1 und die anderen 50% in Woche zwei. Dadurch sind die Kursgrößen halbiert.
  • In der Oberstufe ergibt sich nun das Problem, dass ein Kurs mit z.B. 22 SuS zufälligerweise in 5 SuS in Woche 1 und 17 SuS in Woche 2 aufgeteilt wird. Und hier kommt der Corona_Planer_CNF ins Spiel, der versucht die Kursdifferenzen der Teilgruppen zu minimieren.
  • Sie benötigen eine fertige Blockung (z.B. der EF) und exportieren die Textdateien aus Kurs42. Diese Dateien importieren Sie in meinem Programm, stellen die Bedingungen ein und lassen dann Berechnen.
  • Sobald Sie eine Lösung haben, die Ihnen gefällt, können Sie bei der Liste der Lösungen auf "Speichern" klicken. Dies speichert eine neue "Schueler.txt" in der alles identisch ist bis auf die Spalte "Klasse". Hier findet man dann z.B. statt "EF" nun "EF_W1" oder "EF_W2".
  • Es gibt noch einen kleinen Bug: Falls Sie den Button "Speichern" nicht sehen, müssten Sie versuchen, die Schriftart etwas kleiner zu setzen.
  • Wie auch in meinen anderen CNF-Programmen benötigen Sie von hier https://github.com/msoos/cryptominisat/releases die Datei "cryptominisat5-win-amd64-nogauss.exe". Ggf. müssen Sie dazu im Bereich "CryptoMiniSat 5.6.8" das Menü zunächst aufklappen.
  • Es gibt auch einen Spezialimport zur Blockung einer Abiturentlassung mit Schülerpräferenzen.
Das Programm hat folgende Regeln (Ich kann gerne weitere hinzufügen):

100#Definiere: Es gibt <A> Wochenzyklen.
200#Kurs: Der Kurs <A> hat höchstens <B> SuS.
201#Kurs: Der Kurs <A> hat höchstens eine Kursdifferenz von <B> SuS.
202#Kurs: Die Kursdifferenz <A> kommt höchstens bei <B> Kursen vor.
300#Schüler: Fixiere den/die Schüler/in <A> in Wochenzyklus <B>.
301#Schüler: Schüler/in <A> unbedingt im gleichen Wochenzyklus wie Schüler/in <B>.
302#Schüler: Schüler/in <A> nicht im gleichen Wochenzyklus wie Schüler/in <B>.

Die Regel 200 entspricht letztlich der Grenze der Raumkapazitäten.
Die Regel 201 ist die, die man optimiert.
Schafft man mit Regel 201 eine Kursdifferenz von 2 (aber nicht 1), so kann man mit Regel 202 die 1er-Kursdifferenzen reduzieren.
Mit den Regeln 301/302 kann man forcieren, dass bestimmte SuS in der gleichen Woche (nicht) zur Schule gehen.

Man kann die Regeln nacheinander anwenden und so bestimmte Werte überschreiben:
201#Kurs: Der Kurs <*> hat höchstens eine Kursdifferenz von <3> SuS.
201#Kurs: Der Kurs <IF-GK1> hat höchstens eine Kursdifferenz von <9> SuS.
So kann man erreichen, dass die Kursdifferenz aller Kurse wichtig ist, außer die des Informatik-Kurses.

Es gibt folgende drei neue Regeln:
303#Schüler: Schüler/in <A> wünscht sich den gleichen Wochenzyklus wie Schüler/in <B>.
304#Schüler: Höchstens <A> unerfüllte Schülerwünsche.
305#Schüler: Schüler/in <A> höchstens <B> unerfüllte Schülerwünsche.


Diese kann man Verwenden, um auf Schülerwünsche einzugehen, aber dafür ist es primär nicht gedacht. Herr Westphal bat mich, für die (in Gruppen aufgeteilte) Abiturentlassung eine Importfunktion zu implementieren, bei der man pro Schüler/in angeben kann, mit wem er/sie in einer Gruppe sein möchte. Die Importdatei muss "Abiturentlassung.txt" heißen und sich an dieses Format halten:

Code: Alles auswählen

SchülerID;SchülerName;WunschID1;WunschID2;WunschID3
1;Westphal;2;5;7
2;Bartsch;1;5;6
3;Kohle;4;9;8
4;Dummy;;;
5;Dummy;;;
6;Dummy;;;
7;Dummy;;;
8;Dummy;;;
9;Dummy;;;
Anschließend generiert mein Programm daraus die Schüler 1 bis 9 sowie die zugehörigen Wünsche (1 mit 2, 1 mit 5, 1 mit 7, 2 mit 1, ...)
Dateianhänge
bar_Corona_Planer_CNF_2020_05_22a.jar
(137.63 KiB) 5-mal heruntergeladen
Zuletzt geändert von B. Bartsch am Freitag 22. Mai 2020, 17:29, insgesamt 7-mal geändert.
B. Bartsch

NielsWestphal
Beiträge: 311
Registriert: Sonntag 2. Dezember 2018, 18:33
Schulform: Gymnasium

Re: Corona_Planer_CNF

Beitrag von NielsWestphal » Samstag 16. Mai 2020, 09:30

Läuft wie geschmiert!!!
mfg
Niels Westphal

GE Schwerte
Beiträge: 146
Registriert: Montag 3. Dezember 2018, 10:28
Wohnort: Schwerte
Schulform: Gesamtschule

Re: Corona_Planer_CNF

Beitrag von GE Schwerte » Montag 18. Mai 2020, 21:47

B. Bartsch hat geschrieben:
Samstag 16. Mai 2020, 08:51
[*] Sie wollen die SuS in Woche 1 und Woche 2 einteilen. Dann haben ca. 50% der SuS Unterricht in Woche 1 und die anderen 50% in Woche zwei. Dadurch sind die Kursgrößen halbiert.
[*] In der Oberstufe ergibt sich nun das Problem, dass ein Kurs mit z.B. 22 SuS zufälligerweise in 5 SuS in Woche 1 und 17 SuS in Woche 2 aufgeteilt wird. Und hier kommt der Corona_Planer_CNF ins Spiel, der versucht die Kursdifferenzen der Teilgruppen zu minimieren.
[*] Sie benötigen eine fertige Blockung (z.B. der EF) und exportieren die Textdateien aus Kurs42. Diese Dateien importieren Sie in meinem Programm, stellen die Bedingungen ein und lassen dann Berechnen.
Sorry, ich hab das Problem nicht verstanden...

Wenn ich doch eine fertige Blockung habe, die Kurse gebildet sind, die Schienen (oder Bänder) gefüllt sind
und ich jetzt wochenweise 50/50 unterrichten möchte, dann kann ich doch den obigen Kurs in 2 Teile á 11 SuS
aufteilen.
In der ersten Woche kommt die obere Hälte der Kursliste, in der zweiten Woche die untere Hälfte.

Ich schätze Ihre Arbeit ja sehr, aber wo ist jetzt mein Denkfehler?

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

Re: Corona_Planer_CNF

Beitrag von B. Bartsch » Montag 18. Mai 2020, 21:54

Ich schätze Ihre Arbeit ja sehr, aber wo ist jetzt mein Denkfehler?
Das geht im Klassenverband leicht, aber nicht sobald die SuS in Kursen sind.
Beim ersten Kurs können Sie das machen 11 (A) zu 11 (B). Von den A-Schülern könnten 2 im CH-GK1 sein und von den B-Schülern könnten 7 im CH-GK1 sein. Und wir tun mal so, als ob insgesamt auch nur 9 SuS CH gewählt haben. Dann haben Sie dort schon ein Ungleichgewicht.
B. Bartsch

D.Jakel
Beiträge: 204
Registriert: Sonntag 2. Dezember 2018, 18:13
Schulform: Gymnasium

Re: Corona_Planer_CNF

Beitrag von D.Jakel » Dienstag 19. Mai 2020, 09:47

Guten Morgen, geht es also darum, dass Schüler tatsächlich immer nur in der A-Woche kommen, wenn sie in einem Kurs der A-Woche sind?
mfG, D.Jakel

NielsWestphal
Beiträge: 311
Registriert: Sonntag 2. Dezember 2018, 18:33
Schulform: Gymnasium

Re: Corona_Planer_CNF

Beitrag von NielsWestphal » Dienstag 19. Mai 2020, 09:52

genau. Das war die Idee, dadurch die Räume nicht zu überlasten.
Wir haben das manuell versucht, A-I und J-Z, dann hatten wir viele Kurse, bei denen eine Obergrenze nicht überschritten wurde, wir hatten aber auch Kurse, die 20 zu 8 aufgeteilt waren. Bei einer Obergrenze von z.B. 16 pro Raum, funktioniert das natürlich nicht.
So funktioniert es, egal ob Klassenverband, Diff-Unterricht oder auch Kurssystem. Und wer weiß, ob das nach den Sommerferien noch benötigt wird.
mfg
Niels Westphal

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

Re: Corona_Planer_CNF

Beitrag von B. Bartsch » Dienstag 19. Mai 2020, 10:06

Und wer weiß, ob das nach den Sommerferien noch benötigt wird.
Das tolle daran ist ja, dass man jederzeit zur A-B-Wochen-Stragie wechseln kann und jederzeit auch wieder zurück.

Das einzige Problem ist noch, dass in der Sek.I. die Mischgruppen "WPL, Latein/Französisch, Religion, ..." mit den derzeitigen Bestimmungen nicht zu unterrichten sind. Da könnte man folgende Strategien fahren:
  • Die Fächer gar nicht unterrichten. Jedenfalls nicht als Präsenzunterricht.
  • Einen Tag einführen, wo es z.B. nur L/F gibt. (Das ist vom Stundenplan sehr kompliziert)
  • Man könnte in der A-Woche die B-Schüler am Nachmittag in diesen Fächern unterrichten (und umgekehrt), aber nur pro Tag eines der Fächer. Das würde bei uns aber nicht funktionieren, da wir bei einem normalen Stundenplan schon bei 90%-95% Raumauslastung sind.
... Fällt jemanden noch was anderes ein ;-)
B. Bartsch

GE Schwerte
Beiträge: 146
Registriert: Montag 3. Dezember 2018, 10:28
Wohnort: Schwerte
Schulform: Gesamtschule

Re: Corona_Planer_CNF

Beitrag von GE Schwerte » Dienstag 19. Mai 2020, 10:34

B. Bartsch hat geschrieben:
Montag 18. Mai 2020, 21:54
Das geht im Klassenverband leicht, aber nicht sobald die SuS in Kursen sind.
Beim ersten Kurs können Sie das machen 11 (A) zu 11 (B). Von den A-Schülern könnten 2 im CH-GK1 sein und von den B-Schülern könnten 7 im CH-GK1 sein. Und wir tun mal so, als ob insgesamt auch nur 9 SuS CH gewählt haben. Dann haben Sie dort schon ein Ungleichgewicht.
Die Sek2 ist bei uns normal in Kursen organisiert.

Ich hänge mal ein Bild der Gleichzeitigkeitsgruppen (Schienen, Bänder) an.
Je eine Zeile betrifft Veranstaltungen die gleichzeitig stattfinden, d.h. die
Kurse in dieser Zeile haben keine gemeinsamen SuS.
Die Zahlen sind Kursstärken.

Trivial sind natürlich die "Engl." und "Mathe" Zeilen. da haben alle gleichzeitig Englisch und Mathematik.
Kommen also in der A-Woche die ersten 13 der Kursliste, in der B-Woche die unteren 12 SuS.

Aber auch in der GK4-Zeile kann ich doch für alle 102 SuS das gleiche Rezept anwenden:
Sport 1, Pädagogik 1, Physik 2 und Chemie 2 teilen jeweils ihre Kurse in 2 Hälften und wechseln
wochenweise ab. Da die Kurslisten alphabetisch sortiert sind, passt das auch mit den Mathe und
Englisch-Kursen aus den Zeilen darüber:
In der A-Woche haben die alphetisch frühen Schüler Sport, Päd, Physik und Chemie (und natürlich Mathe und Engl.),
in der B-Woche die alphabetisch hinteren.

Ich hab das Problem anscheinend immer noch nicht verstanden, kann es mir mal jemand langsam erklären? ;)
Dateianhänge
kursbänder.png
kursbänder.png (7.47 KiB) 165 mal betrachtet

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

Re: Corona_Planer_CNF

Beitrag von B. Bartsch » Dienstag 19. Mai 2020, 11:20

Ich hab das Problem anscheinend immer noch nicht verstanden, kann es mir mal jemand langsam erklären?
Folgende Annahmen (ggf. klärt es sich schon hier):
  • Pro Kurs kann man alphabetisch die Mitte finden, das ist kein Problem. Aber wir wollen, dass ein A-Schüler nur in Woche A kommt und ein B-Schüler nur in Woche B. Also aus Sicht eines individuellen Schülers hat der eine Woche Unterricht und eine Woche frei und immer so weiter.
  • Die Schüler sollen nicht pro Tag eine Schiene an Unterricht haben (dann könnte man sehr leicht jeden Kurs halbieren), sondern es gibt einen regulären Stundenplan. Z.B. 1./2. Stunde Schiene 3, 3./4. Stunde Schiene 7, 5./6. Stunde Schiene 2 und in der 7. Stunde noch Schiene 9.
Wir können auch gerne telefonieren ;-) Schreiben Sie mir einfach eine E-Mail.
Zuletzt geändert von B. Bartsch am Dienstag 19. Mai 2020, 11:32, insgesamt 2-mal geändert.
B. Bartsch

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

Re: Corona_Planer_CNF

Beitrag von B. Bartsch » Dienstag 19. Mai 2020, 11:30

... Sie könnten auch probieren die Schüler mal per Hand zu trennen (z.B: alphabetisch) und Sie werden sehen, dass die Aufteilung bei vielen Kursen ganz okay sein, wird aber nicht bei allen.

Extrembeispiel:
Kurs 1: Hat zufälligerweise nur Schüler mit Namen von A-L.
Kurs 2: Hat zufälligerweise nur Schüler mit Namen von M-Z.
B. Bartsch

Antworten

Zurück zu „Externe Blockungsprogramme“