🛠️ 我要免费工具

教务排课工具

教室可用 + 教师时间偏好(优先/不可接受,可组合周次·星期·节次)+ 多门课程的排课求解

已被使用 51 次 · 29 人用过
选学段会按常用每日节数、上课日与教务策略预填,之后仍可手动调整

学期设置

学期总周数,如 18 周
第 1 节到第 N 节
已选 5 天 · 每周共 35 个可用节次格
填好后点「生成课表」;若数据有缺漏,这里会告诉你具体缺哪一项。
导入 / 导出 JSON(进阶:从教务系统迁移数据时用)
导出的 JSON 可直接粘回这里覆盖当前内容
录入数据只保存在浏览器本地,不会上传;点「生成课表」才提交给后端计算。
登录后可保存与找回(点右上角「登录/注册」;数据存在你的账号下,换设备也能找回)

常见问题

排课排不下的时候,这个工具会怎么处理?

会明确列出排不下的课程、缺少的节数和可能原因,并计入「硬冲突」计数,不会给出一份看起来完整、实则有课表对不上的假结果。常见原因包括:教室容量不够、该班每日节次已达上限、老师在禁排时段不可用。

什么叫「合班」?合班的课怎么排?

一门课同时对应多个班级即为合班(例如信息技术由一个老师上高一(1)班和高一(2)班)。在「课程与班级」里勾选多个班级即可,这节课会同时占用这些班级的时段,并按各班人数之和挑选容量足够的教室——比如 48 人班加 50 人班共 98 人,60 人的教室会被自动排除。

可以指定老师优先在某个时间上课吗?

可以。每位老师可设置多条时间偏好,支持「优先」和「不可接受」两种类型,并可组合周次、星期与节次,例如「第 3–10 周的周三第 3-4 节」。硬约束(不可接受、时间冲突、容量不足)永远优先于软偏好。

排出来的课表是全局最优吗?

不是。求解器是确定性启发式算法,保证的是「可行且无硬冲突」,并且在给定偏好下尽量均衡,但不是数学上的全局最优。最终课表仍需教务部门审核调整。相同输入必然得到相同输出,方便你复核与存档。

「孤节课」「每日不均衡」这类指标怎么看?

它们是排课质量的参考指标,越低通常越符合教务习惯:孤节课指某位老师某天只上 1 节课(来一趟只讲一节,不划算);每日不均衡指每位老师最忙的一天与最闲的一天的课时差累计;跨午休连堂指同一天既上上午最后一节又上下午第一节。这些是软约束,可在「教务策略」里开关。

可以只上部分学期或单双周交替吗?

可以。每门课程都能设置周次范围(如第 1-12 周),也能用自定义周次列表填 1,3,5-9 这类不连续周次,用于单双周交替。不在范围内的周既不占节次,也不占老师和教室资源。

课表能导出成 CSV 或打印成 PDF 吗?

都能。课表工具栏提供「导出 CSV」和「打印 / 导出 PDF」,打印输出为单张总表(不按周分页),可设置抬头与底部说明。页面还支持「全学期总表」与「逐周查看」两种视角,方便核对单双周课程。

我的录入数据会保存在哪里?需要登录吗?

工具本身免登录即可使用,录入内容只存在你自己的浏览器里,随时可以清空。只有「保存本次课表」这个功能需要登录,用于把课表存到账号下以便日后重新载入。

只有管理员能看到,不公开