Hello,
we've a course system in the last three years in a secondary German school. To increase the data input time I like to add all involved subjects with the corresponding teachers to one of the courses (=one single activity). My problem is, that I need more than one special room like gym, or physics lab for one of those "course"-activities (because there are several subjects and teachers involved). I also tried to give such an activity several activity tags (one for each needed roomgroup), but this is also not accepted by the program (conflict error message).
The current workaround is the creation of several dummy activities, which have the same starting time as the main activity, but the needed different rooms. This makes a lot of work during the data input and therefore I would like to have the possibility to assign more than one room to one activity.
I would be very happy, if you, Liviu, or any other "source-code-expert" could tell me if this change is possible without too many program changes and if so, where I have to change the sources.
Thanks a lot!
Daniel
Thank you for your suggestion! It is already in the TODO, see item #114, and I added you as an additional author of this suggestion, now.
Unfortunately, it looks very difficult. It is difficult to express the constraint in FET terms, and it is very difficult to modify the working code, since it was not thought from the start.
The generation code is in generate.cpp. Search for the word "room". If you get the generate code to work, the rest should be simpler.
It might be easier to make a program to generate the .fet file XML code for the trick with the same starting time dummy activities.
Did you obtain good results so far? (you can answer this on a separate topic, on another board, as necessary.)
Warum benötigen Sie mehrere Räume? Wollen Sie einen "Kursblock" als ganzes setzen. Sprich mit allen Lehrern, Räumen und dem ganzen Jahrgang? Das würde natülich funktionieren, hat aber den Nachteil, dass ein Vertretunsglehrer nicht sehen könnte wo er benötigt wird. Außerdem sind solche Pläne nicht optimal; insbesondere, wenn die Kurse nicht zwangsläufig parallel sein mussen bzw. wenn nicht alle Schüler an allen Kursen teilnehmen müssen.
In einer Oberstufe sollten die Daten besser Schülerbezogen importiert werden. Wenn Sie aus NRW kommen und SchILD in der Schulverwaltung benutzen, dann können Sie das mit TiTiTo von SchILD nach FET konvertieren.
Thank you Liviu for your fast reply!
Sorry, I missed reading the TODO...
My results are good, I'm just lazy. I also thought about modifying the .fet but I think it's better included in the program.
I'll have a look into the generate.cpp source, but I'm not optimistic since you say it's difficult :(
Herr Dirr,
ich stimme Ihnen zu, dass die Pläne sicherlich (für die Schüler) optimaler gerechnet werden könnten. Meine Schule nimmt zur Zeit die damit verbundenen Nachteile (Schüler könnten bei nachträglichen Kursänderungen schlechter andere Kurse gebracht werden; Klausurenplanung würde sich ändern) nicht in Kauf. Daher bleiben wir bisher dabei und ich vereinfache mir die Eingabe deutlich, wenn ich einen Kursblock als ganzes setze.
Ich sehe aber auch weitere Vorteile wenn mehrere Räume für eine Aktivität möglich wären, z.B. Teamteaching mit aufgeteilter Lerngruppe.
Gibt es denn auch Punkte (abgesehen von Fehleingaben in FET) die bzgl. des Algorithmus dagegen sprechen?
Quote from: dasa on January 11, 2017, 07:59:58 PM
Thank you Liviu for your fast reply!
Sorry, I missed reading the TODO...
No problem at all, it is good that you came with this suggestion, so I know the most wanted features.
Quote
My results are good, I'm just lazy. I also thought about modifying the .fet but I think it's better included in the program.
I'll have a look into the generate.cpp source, but I'm not optimistic since you say it's difficult :(
A starting step might be to make, in src/engine/generate.cpp, line 119, roomsTimetable a static Matrix3D<QList<int> > (so it takes a list of rooms instead of a single int). And then follow a lot of changes.
Sie können das so eingeben. Abgesehen von der etwas komplizierten Eingabe spricht nichts dagegen.
Ich würde dann an ihrer Stelle wahrscheinlich es folgendermaßen eingeben (damit die Pläne in der Optik etwas besser aussehen und Vertretunsglehrer besser erkennen können, wohin sie sollen):
Wenn Sie z.B. einen "Kursblock" für die Leistungskurse haben mit M, D und E. Dann würde ich 3 Aktivitäten setzen mit den entsprechenden Fächern und die entsprechnede Räume über möglichst allgemeine Raumeinschränkungen zuorden.
In den 3 Aktivitäten allerdings nur in EINE einzige den ganzen Jahrgang setzen. Die anderen 3 Aktivitäten ohne Schüler!
Damit die Lehrer besser sehen können welche Schüler sie haben, würde ich die Schüler entweder im Namen des Faches oder in der Aktivitätenkennzeichnung nennen. Alternativ könnten Sie einschalten alle gleichzeitigen Aktivitäten im Plan zu drucken (siehe Optionen. Das dürfte allerdings bei einem Kurssystem in der Oberstufe etwas unübersichtlich werden.)
Anschließend die EInschränkung: Aktivitäten mit gleicher Startzeit für diese 3 Aktivitäten.
Hello again, Daniel,
The option of multiple rooms for an activity is available from FET-5.40.0, using virtual rooms (enter the Rooms dialog and add (a) virtual room(s), and read the help there).
Thank you so much for this wonderful option. It can solve many problems like for example timetables of exams. This idea is really genius
You are welcome! :)