排课前需要准备哪些数据
绝大多数"排不出来"的问题,根源不在算法,而在进入排课系统之前的数据本身就是矛盾的。 这篇把教务处需要准备的数据拆成五类,并给出每类的整理口径。
一、五类基础数据
| 类别 | 关键字段 | 常见遗漏 |
|---|---|---|
| 教师 | 姓名、任教科目、不可用时间 | 跨校区/走教教师的通勤时段 |
| 班级 | 年级、班号、所属作息 | 不同年级作息不一致 |
| 科目 | 名称、是否需要专用场地 | 音体美信息等场地受限科目 |
| 作息时间 | 每周天数、每天教学节次 | 上下午节次拆分、早读是否计入 |
| 教学任务 | 班级 + 科目 + 教师 + 周课时 | 合班课、连堂课、平行班同步 |
二、教学任务表是核心
前四类都是"字典",真正驱动排课的是教学任务表——它回答"哪个班的哪门课,由谁上,一周上几节"。 一行任务对应一个教学安排,周课时会被展开成若干节独立的课。
三个容易被忽略的字段
- 最多连堂节数:表示一次排课允许的最大连续长度。普通课程仍按单节排课;设为 2 表示最多连续 2 节(包括同一教师给两个班连续上课的情况),并不强制每周课时都组成 2 节连堂。
- 合班:一条任务可以关联多个班级,用于体育合班、走班选修等多个班共用一位教师的场景。
- 平行组:把若干条任务标记为同一组,系统会尽量把它们排到同一时段,用于年级统一活动课、平行班同步测验。
三、周课时总量自查
这是最值得在导入前算一遍的一件事。每个班一周能容纳的课时上限是:
周容量 = 每周天数 × 每天教学节次
例如每周 5 天、每天 8 节,则一个班一周最多 40 节。
例如每周 5 天、每天 8 节,则一个班一周最多 40 节。
把每个班的所有任务周课时加总,如果超过周容量,无论用什么算法都排不出来——必须先减任务或加节次。 注意:不同年级可能使用不同作息,低年级下午少一节是很常见的,不能用全校统一的数字去套。 智课支持多套作息模板,班级容量按其实际绑定的模板计算,导入时也会按当前模板给出容量预警。
四、导入前自查清单
- 每个班的周课时总和 ≤ 该班作息对应的周容量
- 每位教师的周课时总和在合理范围内(含跨班、跨年级累计)
- 教师姓名、班级名称、科目名称在各表中完全一致,无空格和别字
- 需要专用场地的科目已标注,场地的同时可容纳班数已确认
- 连堂、合班、平行组这三类特殊任务已单独标记,不要混在普通任务里
- 固定时段的任务尽量少——每加一条就少一分可行解,详见下一篇
数据准备好了,就可以直接试排
录入、智能排课、网页微调和冲突检查都是免费核心能力,排不满意可以随时重排。
免费开始排课