时间网格、时段与时长

时间网格描述一个校区的各个时段:开始时间、结束时间、课间、午休和关闭时间。 它同时用于显示、可用时间的检查以及自动生成。

标准存储方式:存的是时段,而不是写死的时间

默认情况下,已排定的课时绑定到时间网格中的某个时段。Omniscol保存的是它在网格中的位置, 再根据校区的时间网格重新计算显示的时间。

由此带来的好处:如果某天上课铃从08:15改为08:10,排在该时段的课时会自动跟随新的时间网格, 无需逐个修改课时。

时间网格的显示模式

显示模式决定时间列的呈现方式,不会改变课时的排布:

  • 课时时间——每一行显示该时段的实际时间 (8:15–9:10、9:15–10:15……),与校区的时间网格一致。
  • 时段——每一行显示节次编号(P0、P1、P2……), 这是英语国家学校中常见的做法。
  • 日历——整点的日历式显示(8:00、9:00、10:00……), 与时间网格无关:每个课时按其实际时间排在连续的时间背景上。

时段时长

**时段时长**是一个时段的基准时长。如果学校习惯把课间一并计入,它也可以包含课间。

示例:

  • 每节课55分钟,课间5分钟:时段时长为60分钟;
  • 固定的1小时30分钟课时:时段时长为90分钟;
  • 大多数课时为1小时,少数为1小时30分钟:时段时长为60分钟,并配合合适的时段细分。

该时长用于已配置的课时总量和生成。时间网格中实际的开始与结束时间可以有所不同: 由于有课间,显示的某个时段可能只有55分钟,但仍然对应60分钟的基准时长。

此设置在课表编辑的**概述**选项卡中定义(参见常规设置)。

最常见的时长,按使用频率依次为:60、45、50、120、90、30、180。

有时在高等院校,课时总是持续数小时,但课程可能随机从8:00或9:00开始, 或者持续6小时、有时5小时。这种情况下以最大公约数为准,通常时段时长取60分钟。

时段细分

**时段细分**表示一个时段的时长可以被分成多少个子部分,它是最小的时间步长。示例:

  • 1:只有占满整个时段的课时;
  • 1/2:时段时长为60分钟时,步长为30分钟;
  • 1/4:时段时长为60分钟时,步长为15分钟。

请选择能满足实际需求的最简单的粒度。更细的时段细分带来更大的灵活性, 但也会增加生成时需要尝试的可能性数量。

在界面中,此设置在**概述**选项卡中通过 时段细分调整。

世界上大多数学校体系中,时间网格并不细分。在法国,中学通常是1/2(有些课时为1小时30分钟)。 在某些培训机构,精度可以细到10分钟:此时时段时长为60分钟,时段细分为1/6。

位置与时长:以时间步长存储

课时并不是以“写死”的时间保存的,而是以网格上的时间步数保存。步长等于时段时长除以时段细分: 时段时长为60分钟、时段细分为1/2,步长就是30分钟。这时1小时的课时占2步, 1小时30分钟的课时占3步。

三个概念并存,互不混淆:

  • 基准时长(时段时长)用于统计课时总量和显示课时的时长;
  • 显示的实际时间(开始和结束)来自校区的时间网格,逐个时段而定;
  • 存储则以时间步数进行,精度由时段细分决定。

所以同一个时段可以显示8:15–9:10(实际时间),同时按1小时(基准时长)计算。

全局禁用时段

某些时段需要对整个学校保持禁用:周三下午、会议时段、预留时段。 这些禁用直接设置在校区的时间网格上,把该时段标记为不可用: 无论是显示还是生成,都不会在此处排课。

这是由时间网格承载的时间限制。在Premium账户上,同一机制还支持柔性限制 (只需避开、无需关闭的时段)。参见时间限制(通用机制)。

午休与错开

午餐时间由一个时间范围(例如12:00–14:00)和需要保证的午餐时长来描述。 当需要保证的时长短于这个时间范围时,Omniscol允许在午休的一部分时间里安排课时, 只要在插入的课时之前或之后仍能保证午餐时长。午休长达两小时、但允许在其中安排一个1小时的课时是很常见的, 这通常是并非全班都参加的选修课,或者难以协调多个班级的共享课程。 没有课的班级部分不会被视为留校自习(对算法来说,这不算空档)。

午休也是唯一一种把不规则时段当作不同时间步数来处理的情形。若时间步长为30分钟, 时段时长为1小时,午休范围为12:00到13:30,软件会将其视为3个30分钟。 您可以声明为一个1小时30分钟的时段,或1小时加30分钟,或30分钟加1小时,都无所谓。 这种情况下,下午的课时会后移半小时。如果此时声明最短午餐时长为半小时, 就可以在午休时间里安排一个1小时的课时,让相关学生在课前或课后用餐。

您也可以指出食堂在官方午休之前就开门:这样该时段上的“空档”就不会被算作学生浪费的时间。

关键是对想要的规则建模:开放的时段、关闭的时段、灵活的午休、可用时间或不可用时间。 时间网格应当反映学校实际接受的安排。

按年级错开用餐,缓解食堂压力

当食堂无法一次容纳全校学生时,会把各年级分成前后两批用餐。时间网格只设置一个统一的午休; 错开的安排随后通过时间限制逐个班级设置。

  1. 在校区的时间网格上,把午休声明为整个时间范围——例如12:00–14:00—— 并设置需要保证的午餐时长为1小时。单独看,每个班级既可以在12:00–13:00用餐, 也可以在13:00–14:00用餐。
  2. 要固定各年级的用餐批次,请打开班级的时间限制(班级时间限制), 把留给用餐的半个时段涂成**不可用**(黑色)。生成不会在此处排课: 这段时间保证留给午餐,班级的课时则顺延到另一半时段。

以两批用餐为例:

  • 6年级、7年级、8年级——12:00–13:00不可用:这些年级在第一批用餐,课时排在13:00–14:00。
  • 9年级、10年级——13:00–14:00不可用:这些年级在第二批用餐,课时排在12:00–13:00。

这样食堂接待的就是两股分开的人流,而不是一股。同样的原则可以扩展到三批或更多: 加宽午休范围,然后为每个年级涂画属于它的用餐半时段。时间限制编辑器的详细说明见 时间限制(通用机制)。

自定义时间:借助Premium功能,可以为课时指定精确的开始和结束时间,并脱离时间网格的边界显示。

课时的自定义时间

课时可以设置自定义时间:精确的开始和结束时间,不一定与某个时段的准确边界一致。 这种情况在所有类型的课表中都存在。

课时会脱离时间网格显示其实际时间:它可以在所显示时段的边界之外开始或结束。 Omniscol使用这些自定义时间计算其实际重叠情况。只要自定义时间与某个时段有交叠, 分配给该课时的所有对象——教师、教室、班级、小组或资源——都被视为已占用。

在自动生成中,带有自定义时间的课时被视为不可移动:其位置会被自动锁定。

脱离时间网格的班级:借助Premium功能,可以安排时间自由、不受校区时间网格约束的培训。

脱离时间网格的班级

脱离时间网格的班级是另一种情形:该班级的课时以精确的时间存储,与校区的时间网格无关。 此功能只适用于日历课表。

它主要用于继续教育或非常灵活的培训项目,这些项目与全日制教育共用场地和教师, 但不遵循相同的时间网格。学校会选择一个默认的时间步长,例如一刻钟, 课时则连同其开始和结束时间一起存储。

自定义时长:借助Premium功能,可以区分课时的显示时长、实际时长和计入时长,用于统计和薪酬。

自定义时长

课程还可以设置自定义时长:

  • 计算时长:由课程的自定义时间推算出的时长;
  • 实际时长:在仪表盘中优先使用的时长;
  • 计入时长:用于计费或教师薪酬的时长。

示例:一场考试占用教室从08:30到11:30,因为需要在考前布置教室、考后清理教室。 仪表盘的实际时长可以只统计2小时的考试,而监考教师的计入时长, 如果学校将阅卷补贴计入其中,则可以更长。

另请参阅