Scheduling Rules descriptions and examples

Tool Search: Course Rules

The following information lists the Scheduling Rule names, a description of each rule with examples, the rule's logic details, and how the rule applies when building the schedule or when loading the courses. 

Ensure the rules are necessary before assigning them to courses. Too many rules assigned to a course limit the course's placement and the assignment of students to it. 

Some rules become irrelevant when using a semester term setup. For example, the Precedes/Follows and Before/After rules do not work when the calendar has only two terms. However, when the calendar was built with four terms (quarter schedule), these rules would become very useful.

Scheduling Rules - Things to know

Build and Load logic

When the Scheduling Board builds and loads courses, it attempts to place courses and students multiple times based on these rules.

Depending on the complexity of the period schedule, the number of rules associated with courses, the restrictions placed on staff and students, the course may not be placed in the desired manner. 

For courses with more restrictive needs (many rules, staff restrictions, etc.), consider manually placing these courses first and locking them. Then use the Build and Load functionality on the Scheduling Board to build and load the remaining courses. 

50% request requirement

Build only considers rules when:

  • One paired course has been built where the number of sections must exactly equal the number of sections to build.
  • There are requests for at least 50% of the possible seats for both paired courses. 

Scheduling Rules descriptions

Before and After

The Before and After rules limit the terms and periods during which a student can be scheduled into a course. These rules state the following: 

  • The student must take Course 1 in a term or period BEFORE taking Course 2. 
  • The student must take Course 2 in a term or period AFTER taking Course 1. 

Before (by Term)

Students take Course 1 before Course 2. 

Example: Math 100 is before Math 101. 

When Math 101 is placed in Term 3, students in Math 100 can only be scheduled in Term 1 or Term 2.

Build Load Potential Issues
When the build considers this rule, the paired 'Before' course must be in an earlier term (by term sequence) than the paired 'After' course. 

When Load encounters this rule, it doesn't make any changes and continues on to the next request.


There would be an issue when the course spans multiple terms when the number of terms required to build both sections exceeds the total number of terms in the calendar. 


For example, when both Math 100 and Math 101 need to be scheduled for three terms each, but there are only four terms in the calendar, the Build would be unable to accommodate any such requests.

After (by Term) 

Students take Course 2 after Course 1.

Example: Math 101 is after Math 100.

When Math 100 is placed in Term 1, students in Math 101 can only be scheduled in Terms 2, 3, or 4.

Build Load Potential issues

When Build considers this rule, the paired 'After' course must be in a later term (by term sequence) than the paired 'Before' course. 


When Build encounters this rule and the corresponding section does not already exist, it creates a new section.

When Load encounters this rule, it does not make any changes and continues on to the next request.


There would be an issue when the course has multiple terms when the number of terms required to build both sections exceeds the total number of terms in the calendar. 


For example, when both Math 100 and Math 101 need to be scheduled for three terms each, but there are only four terms in the calendar, the Build would be unable to accommodate any such requests.

Before (by Period)

Students take Course 1 before Course 2. 

Example: Biology Lecture needs to be scheduled BEFORE Biology Lab. 

In a six-period day, when Biology Lecture is scheduled in Period 3, Biology Lab can be scheduled in any period after Period 3. 

Build Load Potential issues
When the build considers this rule, the paired 'Before' course must be in an earlier period (by period sequence) than the paired 'After' course. 

When Load encounters this rule, it doesn't make any changes and continues on to the next request.


There would be an issue when the course has multiple periods when the number of periods required to build both sections exceeds the total number of periods in the term.  


For example, when both Biology Lecture and Biology Lab need to be scheduled for three periods each, but there are only four periods in the day, the Build would be unable to accommodate any such requests.

After (by Period) 

Students take Course 2 after Course 1. 

Example: Biology Lab must be scheduled AFTER the Biology Lecture. 

In a six-period day, when Biology Lecture is scheduled in Period 3, Biology Lab can be scheduled in any period after Period 3. 

Build Load Potential issues

When Build considers this rule, the paired 'After' course must be in a later period (by period sequence) than the paired 'Before' course. 


When Build encounters this rule and the corresponding section does not already exist, it creates a new section.

When Load encounters this rule, it does not make any changes and continues on to the next request.


There would be an issue when the course has multiple periods when the number of periods required to build both sections exceeds the total number of periods in the term. 


For example, when both Math 100 and Math 101 need to be scheduled for three periods each, but there are only four periods in the calendar, the Build would be unable to accommodate any such requests.

Precedes and Follows

Precedes and Follows rules are stricter versions of the Before and After rules, with the addition that the courses must be in consecutive terms or periods. These rules state the following: 

  • The student must take Course 1 in a term or period IMMEDIATELY BEFORE Course 2. 
  • The student must take Course 2 in a term or period IMMEDIATELY AFTER Course 1. 

When multiple period schedules exist for a calendar, logic attempts to schedule the courses into the first period schedule. HOWEVER, if the courses cannot fit into the other period schedules, the courses are not placed at all. 

For example, a calendar uses the following Period Schedules:

  • Day A - Periods 1, 2, 3, 4, 5, 6
  • Day B - Periods 1, 3, 5
  • Day C - Periods 2, 4, 6

No course sections would be built with Precedes/Follows rules assigned because they couldn't be placed into Periods 1, 2 or Periods 3, 4 in any other day rotation. 

Immediately Precedes (by Term)

Students take Course 1 before Course 2 in consecutive terms

  • Course 1 happens in Term 1
  • Course 2 happens in Term 2

Example: Math 10A precedes Math 10B in consecutive terms. 

When Math 10B is scheduled in Term 4, Math 10A can only be scheduled in Term 3.

Build Load Possible issues

When the build considers this rule, the paired 'Precedes' course must be placed in the term (by term sequence) prior to the paired 'Follows' course. 


When Build encounters this rule and the corresponding section does not already exist, the new section is created. 

When Load encounters this rule, it doesn't make any changes and continues on to the next request. There would be an issue if the number of terms required to build both sections exceeded the total number of terms in the calendar.

For example, when both Calculus I and Calculus II need to be scheduled for three terms each, but there are only four terms in the calendar, Build would be unable to accommodate any such requests.

Immediately Follows (by Term)

Students take Course 2 following Course 1 in consecutive terms.

  • Course 1 happens in Term 1
  • Course 2 happens in Term 2

Example: Math 10B follows Math 10A. 

When Math 10A is scheduled in Term 1, Math 10B can only be scheduled in Term 2.

Build Load Possible issues

When the build considers this rule, the paired 'Follows' course must be placed in the term (by term sequence) after the paired 'Precedes' course. 


When Build encounters this rule and the corresponding section does not already exist, the new section is created. 

When Load encounters this rule, it doesn't make any changes and continues on to the next request. There would be an issue if the number of terms required to build both sections exceeded the total number of terms in the calendar.

For example, when both Calculus I and Calculus II need to be scheduled for three terms each, but there are only four terms in the calendar, Build would be unable to accommodate any such requests.

Immediately Precedes (by Period)

Students take Course 1 before Course 2 in consecutive periods

  • Course 1 happens in Period 1
  • Course 2 happens in Period 2

Example: Math 10A precedes Math 10B. 

When Math 10B is scheduled in Period 4, Math 10A can only be scheduled in Period 3.

Build Load Possible issues

When the build considers this rule, the paired 'Precedes' course must be placed in the term (by period sequence) prior to the paired 'Follows' course. 


When Build encounters this rule and the corresponding section does not already exist, the new section is created. 

When Load encounters this rule, it doesn't make any changes and continues on to the next request. There would be an issue if the number of periods required to build both sections exceeded the total number of periods in the school day.

For example, when both Calculus I and Calculus II need to be scheduled for three periods each, but there are only four periods in the calendar, Build would be unable to accommodate any such requests.

Immediately Follows (by Period) 

Students take Course 2 following Course 1 in consecutive periods.

  • Course 1 happens in Period 1
  • Course 2 happens in Period 2

Example: Math 10B follows Math 10A. 

When Math 10A is scheduled in Period 1, Math 10B can only be scheduled in Period 2.

Build Load Possible issues

When the build considers this rule, the paired 'Follows' course must be placed in the period (by period sequence) after the paired 'Precedes' course. 


When Build encounters this rule and the corresponding section does not already exist, the new section is created. 

When Load encounters this rule, it doesn't make any changes and continues on to the next request. There would be an issue if the number of periods required to build both sections exceeded the total number of periods in the day.

For example, when both Calculus I and Calculus II need to be scheduled for three periods each, but there are only four periods in the day, Build would be unable to accommodate any such requests.

Consecutive

Students take Course 1 and Course 2 in consecutive terms, but not in any order.

  • Math A is scheduled in Term 1 and Math B is scheduled in Term 2; OR 
  • Math B is scheduled in Term 1 and Math A is scheduled in Term 2.

Do not use this rule with Before/After and Precedes/Follows. 

Build Load Possible issues

When the build considers this rule, this one paired course must precede or follow the other paired course in the next sequential term (by term sequence). 


When the build encounters this rule and the corresponding section does not already exist, the new section is created. 

When Load encounters this rule, it doesn't make any changes and continues on to the next request.

N/A

Same Teacher

Students take Course 1 and Course 2 from the same teacher.

Example: Spanish A has the same teacher as Spanish B. When Spanish A is taught by Ms. H, then Spanish B can only be taught in a section by Ms. H.

When used with the Same Period rule, students taking Course 1 from Teacher A in Period 1 in Term 1 are scheduled into Course 2 with Teacher A in Period 1 in Term 2.

Build Load Possible issues

When the build considers this rule, this one paired course must precede or follow the other paired course in the next sequential term (by term sequence). 


When the build encounters this rule and the corresponding section does not already exist, the new section is created. 

When Load encounters this rule, it doesn't make any changes and continues on to the next request. N/A

Same Section Number

Students take the same section number for Course 1 and Course 2.

Example: Math 10A is the same section as Math 10B. When a student is scheduled into Math 10A Section 1, the student can only be scheduled into Math 10B Section 1.

This rule states that the student must be scheduled into the section number of both courses. This allows the same roster of students to move from Course 1 to Course 2. 

Build Load Possible issues
N/A When Load encounters this rule, it doesn't make any changes and continues on to the next request. Using this rule in conjunction with other rules often results in load failures on the Scheduling Board due to logic conflicts.

Same Period

Students must take Course 1 and Course 2 during the same period but in different terms.

Example: English 10A is the same period as English 10B. When a student is scheduled into a section of 10A that meets term 1 period 2, English 10B must be scheduled into term 2, 3, or 4 during period 2.

Both courses must be scheduled into sections that meet during the same period number in different terms. It only looks at the period. 

When used with the Same Teacher rule, students taking Course 1 from Teacher A in Period 1 in Term 1 are scheduled into Course 2 with Teacher A in Period 1 in Term 2.

Same Term

Students take Course 1 and Course 2 at different times within the same term.

Example: English 100 is the same term as Literature 101. When a student is scheduled into a section of English 100 during term 1, he must be scheduled into a section of Literature 101 that meets during term 1, but not during the same period.

Both courses must be scheduled into different periods of the same term. It only looks at the term. 

Do not use this rule with the Different Term rule. 

Different Term

Students take Course 1 and Course 2 in different terms.

Example: Phy Ed 10 is in a different term than Fitness 11. When Phy Ed 10 is scheduled into a section that meets term 2, the student can only be scheduled into a section of Fitness 11 that meets terms 1, 3 or 4.

Both courses must be scheduled into different terms. This rule only looks at the term.

Do not use with the Same Term rule.

Skinny

Students take both Course 1 and Course 2 in the same period/same term without it causing a conflict.

Example: Careers is skinnied with Chorus during 3rd hour term 1. The student goes to Career half of the hour and Chorus the other half of the hour.

Both courses are scheduled for the same period and term. Courses could also be scheduled to meet every other day or every couple of weeks.

This rule takes precedence over many of the other rules.

Combined

A course is taught in the same period with the same staff or in the same room. 

The Combined rule allows more than one course to be taught in the same period with the same staff or room, depending on the scenario in which this rule is used. Students are placed according to the Scheduling Board's logic. This information also displays in the Walk-In Scheduler when assigning courses to students.

While similar in nature, the Combined rule is NOT the same as the Skinny rule. This rule behaves differently from the Skinny rule: 

The Skinny rule is primarily used to load students into multiple courses at once, while the Combined rule is used to build courses in the same period, in the same room, or with the same teacher. 

Staff logic

Two courses can be taught in the same classroom by the same teacher. When this rule is assigned, the Scheduling Board ignores the teacher conflicts on the course.

Example: Spanish III and Spanish IV courses have low enrollment and are combined into the same period with the same staff.

Room logic

When two or more courses are joined by the combined rule and placed in the same classroom and period, the combined rule allows the Scheduling Board to view and limit the combined total available seats. The total available seats are determined by the largest Max Seat count across all combined courses taught in that period/room. 

As students are loaded into any individual combined section, the maximum available seat count of the remaining sections is automatically reduced.

When using the combined rule in this fashion, the logic considers the period and the room, whether a single staff member teaches all the combined courses or multiple staff members teach them. 

Example: Freshman English has a maximum seat count of 20 students. It is combined with a Special Education section of Freshman English with a maximum seat count of 5 students and a Freshman English section of ESL with a maximum seat count of 5 students. When three students are scheduled into the Special Education section of Freshman English, the maximum seat count of the regular Freshman English course is automatically reduced to 17 students.

The total combined maximum seat count cannot exceed the maximum seat count of the largest combined section.

Build Load Possible issues
When the build encounters this rule, it creates the course with the same teacher or same room and places it in the same period as its paired course.  When loading courses, the load checks for student-to-student conflicts or for seat count; otherwise, it is ignored.  An auto-build failure may occur if the build cannot place the course in the same room or period with the same teacher. 

Bind

Students take both Course 1 and Course 2, or neither course can be scheduled.

Example: English 10A binds to English 10B. When the load finishes and the student is only scheduled in 10A, not 10B, the loader unloads 10A.

The student must be scheduled into sections of both courses or neither course.

Using bind can result in increased conflicts.

Some users prefer to have every section of a course sequence scheduled or none at all. In this situation, bind frees up seats for guidance counselors to start hand-scheduling the remaining conflicts.

Build Load issues
N/A

Load does not override a locked roster to enforce the rule.


After loading, check whether the student is placed in both courses; if not, the student is removed from all sections.