1.Introduction
For each class, according to the teaching plan, marking week as unit, through manual setting and algorithm, to determine where, when and what class is ongoing every day.
2.Methods
we have simplified the problem by following methods:
2.1 Schedule by Group
The Class Scheduling 1.0 is focusing on a group/class rather than an individual. The classes include both traditional classes and stratified classes due to stratification of ability levels, as well as classes of interest. The same student may be in various types of classes. When we assign a curriculum for each class, from the individual student's point of view, "one student one lesson” is generated.
2.2 Schedule by Week
One semester can be divided into 19 to 21 weeks, and the week schedule is repeated week by week through the whole semester.
At the beginning of the semester, a schedule template will be created. The new week's class schedule will be cloned from the template, and adjustments could be made for the week according to the situation, such as adding some temporary activities. If the added event conflicts with the original lesson plan, some lessons will be cancelled based on the actual available hours of the week for each curriculum.
The teaching plan is generally organized every semester, and the teaching content is organized into each class according to the class hours. If we can support class scheduling on a semester basis, we can track and optimize activity arrangements and their impact at the system level in the future. A conflict class, which is instead by a temporary activity will be automatically put back to the subsequent schedule. Of course, we can also reserve a buffer period for possible changes in one semester.
2.3 Schedule by Slot
Taking into account the efficiency of algorithm, the 1.0 version divides the time of the week into 5 days, and 7 lesson slots can be arranged every day. These discrete alternative schedulling plans form the basis of our algorithm (mainly based on genetic algorithms). If the lessons are arranged directly in continuous time, the alternative options will increase greatly, and the time for selecting the optimal solution will increase greatly.
3.Steps
3.1 Setting lesson slot
A student's work-rest routine determines his lesson time. When we are scheduling, we will divide primary school students and middle school students into two major groups, according to different work-rest schedule (the schedule could be applied to each grade). The two groups have their own schedules and class lengths. The duration of a primary school is usually 35 minutes (and some lessons are 20 minutes, 50 minutes), while the duration of middle school is 50 minutes. The scheduling algorithms used in these two groups are same. Since the lessons are arranged separately, the duration of the lessons is not included in the algorithm for the current version. When we have a curriculum which mix of primary and secondary school students in the future, we would improve the algorithm to support more flexible course selection for each student.
3.2 Group students
Traditionally we will divide a Year/Grade (such as Grade 7) randomly into several classes (such as G7A class, G7B class), which is the most natural way to separate students. Under the concept of teaching students in accordance with their aptitude, we will also group according to the students' disciplinary abilities, such as G7 English Level 1 (G7EN1), G7 English Level 2 (G7EN2), and G7 English Level 3 (G7EN3). G7EN1 will have students from G7A and G7B. In other words, a student may be in a G7EN1 class and a G7CN1 class.
In the scheduling system, we mark the set of classes that may overlap with students, so that there will be no G7A and G7EN1 classes at the same time holding teaching activities, but G7A and G7B can be taught in different classrooms at the same time. G7EN1 and G7EN2, G7EN3 can also be taught in different classrooms at the same time.
3.3 Set curriculum and teaching plan
Each curriculum will set up taught teachers, and there may be more than one teacher per curriculum (the teacher list will be maintained in advance in the system). The teaching plan will also set the repetition frequency, such as 2 times a week, 2 times a week, and so on. In the future, the curriculum can also set the preference time, such as the morning of a few days.
Each curriculum is also associated with one or several teaching plan, which determines the relationship between the lessons and the student group. For example, the “G7 Mathematics for the 2018 School Year” requires two groups of G7A and G7B to participate. From the other perspective, the teaching plan determines for each student group what lessons they need to attend each week.
3.4 Set venue
Before the scheduling algorithm is executed, the last setting is the available venue. We can set rules to say which venue is preferred for this class or student group etc. The priority of venue preference of a curriculum is higher than a student group.
3.5 Run Algorithm
We have mentioned the scheduling rules many times above. The role of these rules is to intervene and guide the class scheduling process. We will firstly set the rule priority with weight. The higher the weight, the higher the priority. When the weight is 100%, this rule must be satisfied. Otherwise, the scheduling result is regarded as failure. When the weight is low (such as 50%), we will try to satisfy the rule.
The class scheduling algorithm executes the rules according to the weight from high to low. The algorithm will determine which curriculums, classes, and teachers are involved in the rules, and find the corresponding lesson based on this information to arrange the classes.
The input of the class scheduling algorithm is: the lessons has been bound, the student group, the taught teacher in the plan.
The output of the class scheduling algorithm is: the lesson has been set into which lesson slot at which venue. (i.e. Mon/Tue/Wed/Thu/Fri Lesson N)
3.6 Manual Setting
Manual settings can be done before or after the execution of scheduling algorithm.
The manual arrangement is more flexible, and it can be arranged to the whole school or the certain grades, classes, or individuals. It is mainly used for various activities of the school, and the special courses for individual students. The time of teachers and students occupied in activity which set by manual will be automatically avoid when the system algorithm is on.
We can adjust the classes after algorithm execution, including deleting, adding or switching the class, which is based on conflict checking.
4.Next plan
4.1 Cross-Grade Management
For some clubs/branch curriculum, students from different grades can choose same class, such as Japanese classes.
4.2 Optimize algorithm to fit more scenarios
The current rules are limited. We will enrich the scheduling rules according to the actual scheduling requirements, so that the rules would fit to the actual scene and have a better usability.
The current work-rest routine is unified within the grade level. According to the actual curriculum requirements, the class differences and even individual differences may be taken into consideration. Under the limited resources, the maximum support for the individual would be offered.
4.3 Class Allocation and Teaching Resource Distribution
At present, academic classes are manually set. The teaching resources of the class (such as teachers and classrooms) are also manually distributed. In the future, the system will help to allocate the resources under certain strategies. In the case of an increase in the number of stratifications, classification of curriculum and students in the future, the individual differences among student schedules will be greater. In this case, the help of the system and algorithm is meaningful.
4.4 Resource Gap Estimate
At the beginning of the new academic year, we can do virtual class scheduling, which is plan to set the number of new students and estimate the gap between teachers and venues. It is also possible to estimate the new student enrollment amount based on the current teacher and venue conditions.
云谷学校目前正在招聘产品经理,感兴趣的同学可以添加我微信
网友评论