How to setup for typical American High School?

Started by Baker, August 16, 2008, 12:39:49 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Baker

I really like this program from what I've seen, but I'm getting confused about terminology, I think.  Let me describe what I'm trying to do:
In short, I'm trying to create a master schedule for a typical American high school.  Our setup is as follows:
  • We have 10 periods each day, and each day is the same.
  • We have about 100 distinct "sections" of courses - for example, a course may be "English 1" and there are 5 sections of English 1.  A student who requests English 1 could be placed into any of the 5 sections.  Some courses may only have 1 section.
  • Each teacher teaches some number of course sections - For example, an English teacher may teach 2 sections of "English 1", 2 sections of "Writing", and 1 section of "Shakespeare".
  • Students request some subset of courses they want to take.  Some requests are more constraining than others.  For example a highly specialized course might only have one section, but a more common course, like "Enlgish 1" might have many sections.
I'd like FET to able to churn on all of this data, but I don't know which are the appropriate fields to set.  Has anyone done this to derive a master schedule for such a typical high school situation?  

Help appreciated.  Thanks.

Liviu Lalescu

I hope there will answer more people to this question, but I also can tell you my opinion:

In FET you need to define the exact students set and teachers for each activity. You cannot let FET choose which students to place in an activity. Course planning or sectioning cannot be done from FET.

So, if you have 4 students and 2 activities of English, you need to say that in activity A1 there will be students S1 and S3 (say) and in A2, S2 and S4, or whatever choice you want to make.

You can define overlapping groups, this is a different matter. FET lets you split a year according to 3 categories (example: language, boys/girls and Physics/Chemistry). You may also consider a year as the year+section, and obtain 4 categories: add year 1a, 1b, 2a, 2b, 2c. For more categories, you will have to add them manually, or work manually on the .fet input file, or use the import facility of FET.

What I know is that some FET users made the course planning manually and obtained a good timetable with FET.

Please let me know.

Baker

Thanks for the quick response.  I think I'm starting to get a handle on it.  I need to play a little bit more.

What about viewing the schedule by period?  I'd really like to see a list, or grid, of all the courses scheduled into a particular period.  Is that possible?

Liviu Lalescu

No, it is not possible to see all the activities in a particular day+hour. You can see the subjects' timetable as html, but this is not exactly what you require.

I didn't add this facility because nobody suggested that until now.

I'll add this in the TODO.

Volker Dirr

#4
Quote
What about viewing the schedule by period?  I'd really like to see a list, or grid, of all the courses scheduled into a particular period.  Is that possible?

I think we already have something like that. Just view a "years timetable time vertical". Is that good enough to you? Maybe you can also try all other "xxx timetable time xxx" files.

Baker

Ok, thanks.  I'll take a look at that.

I think the crux of the matter is that the high school at which I work is scheduled much like a university.  Essentially, each student is an individual group in FET.  Each course is an individual subject in FET.  Each FET activity is a student request for a course, etc.

I'm working on having my database spit out the xml for a FET file and  then I'll see what it generates.  I'm hopeful...

Liviu Lalescu

#6
I would recommend to use years: 9,10,11,12, then groups like: 9a, 9b, 9c, and then subgroups like individual students. You can then define other groups, like 9Math or 9boys or similar. A group can contain any subgroups (students), and you can define any groups. So I would recommend individual students to be subgroups in FET.

You could also try to use the new import function of FET.

Baker

Well, yes, that's what I'm doing - individual students as sub-groups.  As for splitting the years, there's no logical way to do it in our system.  We don't separate boys and girls in any meaningful way, for example, but that's okay.

I tried the import feature, but it seems to only allow me to import one item at a time -- at least for subjects.  It seemed easier and more efficient to just generate the xml.  I'll look at it some more.

Thanks.

Liviu Lalescu

Years, groups and subgroups is just a hierarchical organization. If you have the individual students as subgroups, you can define any years and groups you like (you can even have a single year and group containing them). But it is easier if you have say a group "Math", with students taking part in Maths lessons, and add an activity with this group instead of all the subgroups (it is the same, but you need to work less to add the activity).

Yes, it is a good thing to follow the .fet xml structure. Just that it is a bit complicated. Import works OK, not one at a time like you misinterpreted, but you just need to specify if there is a heading for the file or not and select the proper separators and name of the field to import.

You could export a file from FET and see its structure and import it. Importing such a file which was exported from FET is easier than importing other files, the fields are automatically guessed.

I intend to release in about 5 hours from now the new FET-5.6.2 version. Please let me know if you notice anything wrong or have any problems, I might be forced to postpone release and work on these problems.

Baker

First, thanks for all your help, I think I'm starting to get the hang of it.

Back to one of my original questions, which I think I can ask more clearly now.  (It may not be possible, but I just want to be 100% sure).

I have a subject, say, "English."  I know that I will have 5 sections of "English":  "English 1", "English 2", ..., "English 5"

I have 100 students (each student is a sub-group) that need to take English as well as several other subjects.  Each of these 100 students needs to be placed in EXACTLY one of "English 1" or  "English 2" or ... or "English 5"

Can FET do this?  In other words, can it choose to put a sub-group of students into one of several subjects, choosing which one based on other activities that need to be scheduled for the sub-group?

An example in the abstract (color used for emphasis):

Students: S1 and S2

Subjects: SubjA1, SubjA2,...,SubjA5,  SubjB1, SubjC1

Activities:
S1 needs to be scheduled for SubjA1 OR SubjA2 OR...OR SubjA5 AND SubjB1

S2 needs to be scheduled for SubjA1 OR SubjA2 OR...OR SubjA5 AND SubjC1

Thus, if there were only two periods available the following schedule would be possible:

Per. 1   SubjA1     SubjB1
Per. 2   SubjA2     SubjC1

Since the students can be placed equally into SubjA1 or SubjA2, they can be scheduled.

Can FET do this?  Place a student into one of several options while taking into account other subjects that need to be scheduled?

Perhaps I need to use "divisions" or "Activity Tags" which I don't fully understand yet.  Just wondering.  Thanks.


Liviu Lalescu

#10
I think the answer is no, FET cannot do that. I think I understood from the start the problem you presented.

In FET, you need to have a clear input of data. Each activity must have the exact students which take it. You cannot do course planning, you'll have to do that manually.

There were some users who did the course planning by hand and obtained a good timetable. Please see http://lalescu.ro/liviu/fet/forum/index.php?topic=79.msg310#msg310

Each activity must define the exact students. In your case, A1 (SubjA1, Students S1 and other students, not S2, Teacher T1) and A2 (Subject SubjA2, Students S2 and other students, not S1, Teacher T2). So you need to say that student S1 goes in the first section of SubjA.

Activity tag is just an additional tag to help you with some constraints. You can use it or not, but it is not related to your problem. For instance, I might add an activity tag to activities of type lab and specify that they need to be placed in the last slots of each day, with constraint activities preferred time slots.

Divisions: is to allow overlapping groups and years. For instance, if you have in year Y1, boys and girls on one side and math and physics on the other side as optional subjects, you will have 4 groups: Y1-GroupBoys, Y1-GGirls, Y1-GMath, Y1-GPhysics. Y1-GroupBoys will contain subgroupBoysMath and subgroupBoysPhysics, ..., Y1-GPhysics will contain subgroupBoysPhys and subgroupGirlsPhys. It is clearly NOT needed in your case, because you have clearly each student and you have each student' activities (but you have a planning problem which cannot be solved by FET).

Baker

Okay, that's what I thought.

I think there is a work-around for me though...

To start, I can ignore individual students.  I know how many sections of each course I need, and I know which teachers are teaching which section, and I know how many periods I have.

I have a different program that can load students into courses and sections based on student requests.  From that I can see which conflicts arise.

Based on those conflicts, I can add some groups to FET to create dependencies that will force FET to come up with a different schedule that resolves those conflicts.

In this way, I can go back and forth between FET and my student-request loading program, hopefully coming up with the best schedule.

I'll try it and let you know how it works.

Liviu Lalescu

That is nice, even if I didn't understand all the details you wrote.

Please keep me informed of the progress, I am interested.

Liviu Lalescu