Secondary School Schedule with a lot of elective courses

Started by bbshank, January 30, 2013, 02:52:42 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

bbshank

We are trying FET to generate our secondary school schedule G7-12. Our schedule is fixed  7 blocks 6 per day, the students sign up for 7 classes and have the same class in a moving block.  Since it is fixed I only care about the A-G block schedule and set it up this way (1 day of 7 classes).

The class selections are pretty much fixed in grades 7-8 the difference is driven by their math needs, I have split the 7 year into our two classes, A and B, and split these based on their math needs, math7 and pre-alg.  The problem is as the grade level increases the schedule becomes driven by the number of choices the students have. 12th grade having only one of two possible required English classes and 6 choices. I have attached a current course listing by grade.

Q: Having split the years into the 2 groups A and B, and split these into the fixed classes that the students have to take, I plan on creating subgroups, of 1 student, for all student in the upper grades to allow the many choices they have, is this the correct way to proceed? Is there a better way?

Q: How do I enter classes that have two sections of the same class? Like two sections of Algebra 1. I want to be able to move the students between the sections to resolve conflicts automatically. What is the best way to do this?

Q:  What does "Split"  under the add activities dialog do?

Q: What are sub activities for?

I am currently entering the current year's schedule into FET, I know it has at lease one solution, as a test to see if we can use it for next year. Do you see any concerns with our setup? Are there any pointers you can give us?  Is there a similar example that we can model?

Thanks for the help! I look forward to reading the responses and using the software.

Cheers,
Brad

Liviu Lalescu

Quote from: bbshank on January 30, 2013, 02:52:42 PM
We are trying FET to generate our secondary school schedule G7-12. Our schedule is fixed  7 blocks 6 per day, the students sign up for 7 classes and have the same class in a moving block.  Since it is fixed I only care about the A-G block schedule and set it up this way (1 day of 7 classes).

The class selections are pretty much fixed in grades 7-8 the difference is driven by their math needs, I have split the 7 year into our two classes, A and B, and split these based on their math needs, math7 and pre-alg.  The problem is as the grade level increases the schedule becomes driven by the number of choices the students have. 12th grade having only one of two possible required English classes and 6 choices. I have attached a current course listing by grade.

Q: Having split the years into the 2 groups A and B, and split these into the fixed classes that the students have to take, I plan on creating subgroups, of 1 student, for all student in the upper grades to allow the many choices they have, is this the correct way to proceed? Is there a better way?

This is the correct way.

Quote
Q: How do I enter classes that have two sections of the same class? Like two sections of Algebra 1. I want to be able to move the students between the sections to resolve conflicts automatically. What is the best way to do this?

I am not sure I understand. You have to assign a fixed (predefined) sectioning to FET.

Quote

Q:  What does "Split"  under the add activities dialog do?


Divides an activity into more subactivities per week.

Quote

Q: What are sub activities for?


Instead of having only activities, if for instance you have 3 hours per week of Mathematics, but separate, you add 3 subactivities. It is a convention.

Quote

I am currently entering the current year's schedule into FET, I know it has at lease one solution, as a test to see if we can use it for next year. Do you see any concerns with our setup? Are there any pointers you can give us?  Is there a similar example that we can model?

Thanks for the help! I look forward to reading the responses and using the software.

Cheers,
Brad

bbshank

Thank you for your responses, suggestions, and confirmation. We have successfully generated the last years schedule :-) 

We are changing our timetables for next year offering additional meeting times for certain classes in the additional block. We will have a rotating block schedule 8 blocks 6 per day resulting in one rotation lasting 4 days.
For example:
day 1 - a,b,c,d,e,f
day 2 - g,h,a,b,c,d
day 3 - e,f,g,h,a,b
day 4 - c,d,e,f,g,h

With the new requirements I can no longer set it up as one day with 8 blocks

Most of the classes will meet 3 of the 4 days (in the same block), we will also have select classes meet 1 of 4, and 2 of 4 as well as providing an additional time for certain 3 of 4 classes so that they meet every day.

For example English would meet 3 of 4 in block a and once in block g on day 4 ensuring that it meet every day.

Q: Setting up the days in FET is trivial, what constraints do we set to make sure classes always meet in the same block - Calc always meets block a, thus meets on day 1, 2, and 3; Bio always meets block g, thus meets on day 2, 3, and 4; and so on?

Q: What is the easiest/best way to add the additional time as in the example of English above. English split 3 and add a separate English activity with no split same teacher and students? How would I ensure it landed on the correct day( where the other 3/4 split English activity did not meet)?

Q: referring back to a previous question...
QuoteQ: How do I enter classes that have two sections of the same class? Like two sections of Algebra 1. I want to be able to move the students between the sections to resolve conflicts automatically. What is the best way to do this?
What I was asking was, if we have two sections of Algebra 1 and 40 students taking Algebra 1, what constraints do we set to get the most balanced classes (might result in 22 in section a and 18 in section b)? Is there a way of doing this without specifically assigning individual students to specific sections?

Thanks again for your excellent contribution and your answers :-)

Cheers,
Brad

bbshank

I have attached a sample timetable of what we are trying to create.

https://docs.google.com/a/cmis.ac.th/file/d/0B71_pYxcTLo-ZU9VQWdYWXVwSkE/edit

Thanks for your help and advice.
Brad

Liviu Lalescu

Your file does not work, it asks me to login to CMIS email. Why don't you make a forum attachment?

(But I admit your question / problem is too complicated for me to answer).

bbshank

Sorry,  I was trying to attach an openoffice spreadsheet from my phone and couldn't so I added a link. The file is public now. Please try again. I'll add a proper file if you still can't access it.

Thanks,
Brad

bbshank

Quote from: Liviu Lalescu on March 23, 2013, 11:03:46 AM
Your file does not work, it asks me to login to CMIS email. Why don't you make a forum attachment?

(But I admit your question / problem is too complicated for me to answer).

Attached is a pdf of the ods file. It contains an example of what we are trying to do for a ms student.  The main thing is to ensure that a class meets the same block throughout the rotation. For example if Math meets in block c then it always meet in block c (period 3 on day 1) for the days which block c meets, days 1,2, and 4.  I hope this makes sense.

Brad

bbshank

I have tried setting FET up multiple ways to combine days, hours, and constraints to force the same class into the same block. We really only need to do this for the classes that meet 3 of the 4 days in the rotation as the extra classes should be able to fall in with the standard set of constraints.

examples:

  • 1 day with 24 hours a1,b1,c1,d1,e1,f1,g1,h1,a2,b2,...,h3
    each activitiy has 3 sub activities, then add the constraint min gaps between a set of activities to try to force an activity into a1,a2,a3

  • 24 days in a week set up the same as above with constraints min days between set of activities and max days between set of activities

Neither of the above help and I fear that it is getting too complicated for what seems to be a simple thing - 4 days, 6 classes per day, 8 different blocks which rotate a,b,c,d,e,f | g,h,a,b,c,d | e,f,g,h,a,b | c,d,e,f,g,h  and the requirement that each activity meet 3 times per week in the same block for example class meeting in block d - period 4 on day 1, period 6 on day 2, and period 2 on day 4.


Again this can't be done with one day and 8 hours since there are other extra classes that need to be added into the mix (can be accomplished with the additional constraints).

Can anyone please help?

Liviu Lalescu

Sorry, but I do not understand. If you just add 3 activities for students set D and put min days 100%, why shouldn't it work?

bbshank

I have tried this with one class AP Chem - added activity, assigned students, assigned teacher,  split 3, min 100% as you suggested and it puts the classes in 5th period - block e on day 1, 3rd period - block a on day 2 and 6th period block h on day 4.  Can you create a small example file, I will anonamize our fet file and post.

Thanks again for your help,
Brad

Liviu Lalescu

Quote from: bbshank on March 28, 2013, 02:56:28 AM
I have tried this with one class AP Chem - added activity, assigned students, assigned teacher,  split 3, min 100% as you suggested and it puts the classes in 5th period - block e on day 1, 3rd period - block a on day 2 and 6th period block h on day 4.  Can you create a small example file, I will anonamize our fet file and post.

I'm sorry, but I do not understand what is wrong with this setting.

bbshank

I made a quick sample file with 1 activity, split 3, min 100%. It does not put the activities in the same block as described above. Please have a look and suggest based on this example. I hope I am missing something.

Thanks,
Brad

Liviu Lalescu

Please tell me what does it mean "it does not put the activities in the same block" and please forgive me for not understanding. Aren't there other users knowing better than me?

bbshank

I understand your confusion as we explain it to our new staff every year. Each class (activity) meet in a fixed block, if one of our chemistry classes meets in block A then it meets 3 times every 4 days. 1st period on Day 1, 3rd period on Day 2, 5th period on day 3 and doesn't meet on day 4. The classes are fixed in a block and rotate like modular arithmetic starting over every 8 periods. I have seen many schools that use similar schedules, the benefit being that students only need remember that a particular class meet in a specific block as it is always preceded and followed by the same classes. Students usually have the list of classes and something to cross reference it against the day (1,2,3,or 4) like the attached blocks.jpg (which shows when block d classes meet according to the day in rotation), there is also a sample student schedule in the attached pdf.  Also, if it helps, if Monday is day 1, Tuesday is day 2, ..., Thursday is day 4, Friday is Day 1, ..., the following Monday is Day 2, ... and so forth this continues throughout the school year.

The question is how do I make a class repeat every 8 periods, thus ensuring that it is in the same block?

I really do appreciate your help and your desire to understand our problem.

Thanks,

Brad

I can give more examples if you need them :-)

Liviu Lalescu

Maybe make a FET day represent a real week, then minimum 8 gaps between activities. Or inverse, make a FET week contain n days and 1 hour per day, when n is real n_hours_per_week; then add minimum+maximum "FET days" between activities.

There are max 35 days per FET week and 60 hours per day, or you can compile with increased limits if needed.