Periods of different lengths

Started by tevi, November 18, 2009, 07:40:22 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

tevi

At my school I have periods of 1 hour and periods of 1h30min.

Monday, wednesday, friday:
8.30-9.30 9.30-10.30 11-12 12-13  (4 periods of 1 hour)

Tuesday, Thrusday:
8-9 9-10 10-11 11.30-13 (3 periods of 1 hour and one of 1.5 hours)

One possibility:
I choose some activities of 3 hours and put them in two periods of 1.5hours) but I have to do this manually.

Other possibility:
Put all periods of 0.5 hours, but I think is not a good solution.

Better possibility:
FET choose which subject to split in 2 of 1.5hours, and which ones to split in 3 of 1hour.

I think this is not possible at this time, but it would be a nice suggestion.

Thanks

Volker Dirr

#1
QuoteOther possibility:
Put all periods of 0.5 hours, but I think is not a good solution.

This is mathematicly the best solution. It will generate the best timetabables and it is used by several school with great success.
The only disadvantage to your last posibility is: you need be carefuly if you read the statistics. Of course duration 1 mean 30 minutes in that case.

it will be very difficult to add your suggestion, because internaly must be checked if activities overlap or not; it can just be true or not. You can check that only with a "full" period.
Also if we write the html table, i can just write a whole cell. I can't write a halfe cell.

The only thing that is possible is this:
If you added your durations (like 1 and 1.5), fet can maybe internaly change this numbers into numbers without a comma, so change it to 3 and 2.
It is the same like you do in your suggestion. You(FET) just need to know a little bit fractional arithmetic. I will not be to difficult to code that, but if we do that, we have at least 3 disadvantages:
1. We haven't any more full excess to the html timetable outputfile. maybe you want an other ((not) canceld in the fractional arithmetic) view.
2. It will be impossible to define all constraints. For example how do you want to set a starting times constraint that way? (you, you can tell me always divide an hour into 60 minutes and set that times. That is of course possible, but it mean you need much more space (for example in your sample 30 times. so it mean: a) fet will be ~ 30 times slower. b) it will complicate adding constraints, because you need to care for example about 5 minutes break between periods. so adding constraints will be much more tricky and users will pobably do much more misstakes.)
3. - fet need more space, because it also need to save the (internaly) changed duration.

So overall: If we add that feature, we loose several other ones. Several constraints will be impossible, imprecisely or at least very complicated to add. Genetating will slow down (much!).
That is why i don't like to add your request.

Your second possibility (see quote) is the correct way. It just mean you need to calculate a little bit (very easy fractional arithmetic. Every studend lerned that in 5th or 6th grade (in germany)).


tevi

First of all, thanks for your replay.

I agree yours comments and I'll use 2nd possibility.

It's clear that is very difficult to adapt FET to work with different duration periods. You explained it very well (html problem it's a good example).

In Catalunya we also tech fractional arithmetic in 5th or 6th, but not every body learn it.;)



Volker Dirr

QuoteIn Catalunya we also tech fractional arithmetic in 5th or 6th, but not every body learn it.;)

Yes, my sentence was a little bit ironic. We teach fractional arithmetic before calculating decimal with comma/point (sorry i don't know the enlgish term. i mean numbers like 1.5). And also here (most) students can calculate with decimal still at grade 10, but several can't calculate anymore with fractional arithmetic. looks like we (mathe teachers) do something wrong. :-(

MilesM

Hello,

Two points on this (long forgotten) subject:

1) I think it would be helpful to be able to assign time lengths to periods (even if the actual periods are multiples of that as suggested above) in order to be able to generate statistics on time per subject, per grade etc. It would allow another level of validation to make sure everything works.

2) In my case, we can have varying lengths of classes that are multiples of 15 minutes i.e.: 15 min, 30 min, 45 min, 60 min, 75 min or 90 min. In some cases, I can't split the activity into enough because we work on a 10 day cycle (each day has 21 blocks of 15 min x 10 days = 210 total periods) and the split function is limited to 35.

To give an example, I have a kindergarten teacher who has only 1 subject to teach: kindergarten (math, science etc. isn't specified at that age), plus a certain number of blocks of teacher preparation time (when another teacher comes and takes over her class). The day has 3 breaks (morning recess, lunch, afternoon recess), creating 4 big teaching blocks (that can be subdivided into smaller classes). In that configuration, I need at least 40 splits in order to enter her teaching assignment. My solution at this point is to create two subjects for her: "Kindergarten (morning)" and "Kindergarten (afternoon)", then subdividing each of those into at least 20 splits. It works, but it isn't terribly elegant.

If there were enough possible splits, I would just put the required number of periods per subject over the 10 day cycle (84 blocks of 15 minutes for French class) and see how the timetables came out. As it is, I have to manually specify how many splits at each duration (ex. 10 chunks @ 30 min, 5 chunks @75 min and 4 chunks at 90 min).

Any comments or suggestions for other ways to overcome these challenges are greatly appreciated.

Thank you so much for making such a useful program!

Liviu Lalescu

Quote from: MilesM on August 31, 2015, 04:06:00 AM
Hello,

Two points on this (long forgotten) subject:

1) I think it would be helpful to be able to assign time lengths to periods (even if the actual periods are multiples of that as suggested above) in order to be able to generate statistics on time per subject, per grade etc. It would allow another level of validation to make sure everything works.


I am not sure if this is already in the TODO, but I will add it.

Quote

2) In my case, we can have varying lengths of classes that are multiples of 15 minutes i.e.: 15 min, 30 min, 45 min, 60 min, 75 min or 90 min. In some cases, I can't split the activity into enough because we work on a 10 day cycle (each day has 21 blocks of 15 min x 10 days = 210 total periods) and the split function is limited to 35.

To give an example, I have a kindergarten teacher who has only 1 subject to teach: kindergarten (math, science etc. isn't specified at that age), plus a certain number of blocks of teacher preparation time (when another teacher comes and takes over her class). The day has 3 breaks (morning recess, lunch, afternoon recess), creating 4 big teaching blocks (that can be subdivided into smaller classes). In that configuration, I need at least 40 splits in order to enter her teaching assignment. My solution at this point is to create two subjects for her: "Kindergarten (morning)" and "Kindergarten (afternoon)", then subdividing each of those into at least 20 splits. It works, but it isn't terribly elegant.


The maximum split of an activity should be the maximum number of days per week. If you need the activities consecutive if same day, add activities with duration greater than zero. If you don't need them consecutive if same day, add n_days_per_week activities, then another round of activities, and so on.

Quote

If there were enough possible splits, I would just put the required number of periods per subject over the 10 day cycle (84 blocks of 15 minutes for French class) and see how the timetables came out. As it is, I have to manually specify how many splits at each duration (ex. 10 chunks @ 30 min, 5 chunks @75 min and 4 chunks at 90 min).

Any comments or suggestions for other ways to overcome these challenges are greatly appreciated.


I am afraid I do not understand.

Quote

Thank you so much for making such a useful program!

Thank you for the appreciation!