Division of Classes

Started by Teck Hock, August 06, 2021, 03:51:58 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Liviu Lalescu

I don't understand. See my tiny attached file, it shows y1 and y2 in timetable view students.

Teck Hock

Sorry for not being clear.
Able to show division with that lesson if there are division.

Liviu Lalescu

Only on HTML timetables and Print (I am not sure about Print, though), if there is a constraint activities same starting time, you can show them by selecting Settings > Timetables > Print activities with same starting time in timetables.

In timetable view it is not possible (maybe only as a customization).

Teck Hock

Another question on division.
I have 2 classes A and B - both classes taking Subject A say Math.
However for class A Math is only allocated 6 periods and for class B, Math is allocated 8 periods.

There are some students from Class B that join Class A for Math lesson.
Due to the difference of 2 periods, these students will have 6 periods with Class A and another 2 periods with the own class B.

The Math teacher for Class A and Class B are different.

Can advise on how should I do the division and how do I add these division to activities?

Thks

Liviu Lalescu

Three independent sets: A, B1, B2, and edit subactivities (not activities), like in my attached file.

Let me know if I am mistaking.

Teck Hock

Prefer to keep year as classes and do via division.

Can I do by this way?
1. 2 Classes A and B.
2. In Class B - Do a division into Math Gp 1 and Math Gp 2.

Below are those that I not so sure.
3. 1st Activity - Teacher 1, Class A, Class B Math Gp 1 - 6 periods
4. 2nd Activity - Teacher 2, Class B Math Gp 2- 8 periods
5. Then 2nd Activity - modify sub-activities. 1 sub-activity (2 periods) change to Class B.

See attached picture and also fet file.

Am I doing the right thing

Liviu Lalescu


Teck Hock

Thks.

My school has 20+ classes and after creating 2/4 levels with the divisions,
inside the Add/Modify Activity dialog box, the lists get very long.
Can we filter this list by class? Meaning just show a particular class and its groups/sub groups?

Thks

Liviu Lalescu

Not possible in the official FET, I'm sorry.

Teck Hock

MAX_TOTAL_SUBGROUPS max out.
Am I able adjust this value?

Thks

Liviu Lalescu

You need to get the sources of FET and modify the file src/engine/timetable_defs.h, line 149 (const int MAX_TOTAL_SUBGROUPS=30000;) and recompile.

But I really doubt you need this. It might be very slow to generate and I doubt you have more than 30,000 students in your institution.

Teck Hock

Ya agree. We dont have 30,000 students.

We have Year 1 - 7 classes.
Subject 1 : MT - we have 12 division among the 7 classes. due to Chinese, Malay and Tamil
Below subjects we group into 2 groups of 4 and 3 classes
Subject 2 : English - we have 4 division for Group A and 3 division for Group B.
Subject 3 : Math - we have 4 division for Group A and 3 division for Group B.
Subject 4 : Science - we have 4 division for Group A and 3 division for Group B.
Subject 5 : Geography - we have 4 division for Group A and 3 division for Group B.
Subject 6 : History - we have 4 division for Group A and 3 division for Group B.
Subject 7 : Literature - we have 4 division for Group A and 3 division for Group B.

In Singapore, we trial on class mixing. We mix students with all different abilities together.
For content subject, they are then group by ability - hence divisions.
For Non content subject like Physical Education, Character Education - they attend as a class so no division for such subjects.

I can create an activity with all 4 teachers and all 4 classes added in. But with division, the TT is neater because teacher are tag to each group. This is our preferred option.

While the individual department break down the students into groups, it could be tedious for me to do the grouping and import into FET via csv so that empty groups will not created. And I will need to do this for every time table due to the change in student. Division, once I do it, I can recycle for every year. I think this was suggested by you in earlier posts.

Next year, we will have 2 levels structured in this nature of class mixing.

Anyway workaround that you can advise?

Btw - I wouldnt mind the slowness because I usually left it to generate and I do other tasks simultaneously.

Thanks

Teck Hock

Hi

Seems like the Subgroup - I didnt use when entering the activities.
So far, for all the activities that I enter, I only use Year and Group.
Will there be any issue if I manually delete all the sub-groups?

Thks

Liviu Lalescu

With say 30,000 students, it will be 10 times slower than with say 3,000 students (the students allocation part). Also, if you want to generate in parallel on 8 cores, it will consume the cache of the processor and it might be 100 times slower (not only 10).

But if you really want, you can increase this MAX_TOTAL_SUBGROUPS to what you need, recompile, and try to see if you obtain timetables in a reasonable time.

You might develop an automatic script to remove the empty subgroups, but I am not sure it is feasible.

Almost 01:00 here, got to go to sleep  :)

Liviu Lalescu

Quote from: Teck Hock on September 11, 2021, 10:54:50 PM
Hi

Seems like the Subgroup - I didnt use when entering the activities.
So far, for all the activities that I enter, I only use Year and Group.
Will there be any issue if I manually delete all the sub-groups?

Thks

You can "Remove everywhere" only the empty subgroups (subgroups which have 0 students in real life). Otherwise the internal structure of the subgroups is necessary.