教学进度表制作技能 (Teaching Schedule Builder)
适用场景
用户(高中教师)每学期开学前需要制作教学进度计划表时使用。典型触发语:
- "帮我做这学期的教学进度表"
- "填写教学进度 Excel"
- "根据太原市进度安排排课表"
必要输入信息(缺失时先询问)
制作前必须向用户确认以下信息,不要凭猜测填写:
- 年级与学科(如:高三物理、高一数学)
- 周课时安排(如:周一2节+周四2节+周五1节,共5节/周)
- 学期模板文件(用户提供的 Excel 模板,含周次与起止时间)
- 市统考进度要求(期中/期末考试范围)
- 起点状态(假期已学/已复习到哪里,本学期从何处续接)
- 特殊安排(如:某册新课本学期才学、考试前集中学习等)
制作流程
第一步:读取模板结构(关键!)
用 openpyxl 读取用户模板,分析其行结构。必须精确还原模板的行结构,不能改变:
典型模板结构(太原市教学进度模板):
- 第1行:标题(合并单元格)
- 第2行:表头(周次/起止时间/课时数/教学内容安排/备注)
- 数据区:每周占多行,行数 = 该周自然天数
- 周次/起止时间/课时数/备注:按周纵向合并单元格
- 教学内容:每天一行,格式"周X|内容(N节)"
- 没课的日子:行保留但内容留空,绝不删除行
验证方法:读出模板所有 merged_cells.ranges,统计每周占的行数。
第二步:获取课程内容
- 教材章节结构:向用户索取或用教材目录(用户曾提供高中物理全套目录)
- 市统考要求:用户提供图片/文件,用视觉识别提取(科目/年级/期中/期末四列)
- 参考同类学校进度:可联网搜索当地名校教学计划作参考
第三步:排课算法
- 计算总课时:每周课时 × 周数 - 节假日扣减(中秋/国庆/元旦等)
- 按统考节点倒排:期中考试范围的内容必须在第11周前完成;期末范围在第21周前完成
- 每周内容分配到具体日期:周一/周四/周五(按用户课时安排),标注节数
- 新课与复习的比例按年级特点:
- 高一:新课为主,期中期中前留1周复习
- 高三:一轮复习为主,新课集中安排在统考前学习
第四步:写入 Excel
- 用 openpyxl 新建工作簿,严格按模板结构生成
- 样式:标题14号加粗居中、表头11号加粗浅蓝底、正文10号
- 没课的日子留空行(保留行,内容为空)
- 边框全表、教学内容列自动换行、列宽 D 列约80
- 附第二个 sheet"编制说明":编制依据、课时核算、进度设计逻辑、高考考点参考、弹性调整预案
第五步:核实(必做)
交付前必须验证:
1. 行结构:每周行数与模板一致,空行数正确
2. 课时合计:各周课时数之和 = 预期总课时
3. 统考对齐:期中范围内容全部在第11周及之前,期末范围在第21周前
4. 日期正确:周一/周四/周五行的内容与周课时安排吻合
5. 无错别字(特别检查备注列)
第六步:交付
- 保存到 output 目录,文件名格式:"YYYY年秋季/春季教学进度_年级学科.xlsx"
- 用 share_file 发送用户
- 上传云文档默认目录(folder_id: p3WjP5GPh1Mi1YJAmu4Jrx6GpdRUBtPde),用 wps-docs CLI:
cd $SKILL_PATH/wps-docs/scripts && python wps_docs_cli.py drive upload-file --file-path <本地路径> --folder-id p3WjP5GPh1Mi1YJAmu4Jrx6GpdRUBtPde
云盘删除规则(全局)
需要删除的云盘文件一律用 drive move-file 转移到云盘根目录「待删除」目录(file_id: mFR6YgKmo1M7V9CEE3sAxxYJyULNc54YW),不做任何删除操作,由用户手动清空;重传/替换旧版进度表时同样把旧版移入该目录。
用户背景(本技能专属上下文)
- 用户为高中物理教师(山西太原),孩子为高二2404班学生(2026年9月起升高三)
- 每学期制作教学进度表,课程通常为周一2节+周四2节+周五1节
- 常用参考:太原市学年教学进度表(市教育局发布,含各科期中期末统考范围)
- 2025年起山西采用新高考(新课标卷)
已验证的排课要点(高考实情,2025新课标卷)
- 热点实验:探究加速度与力/质量关系、测电源电动势和内阻、验证机械能守恒
- 高频大题模型:传送带/板块、动量与能量综合、复合场、电磁感应综合
- 选择题高频:图像问题、万有引力、光电效应、玻尔模型、核反应方程
- 高三上学期典型安排:期中前完成力学一轮,期末前完成电磁学+光学一轮,热学留下学期
常见错误(务必避免)
- ❌ 每周压缩成一行(模板是每天一行)——用户明确纠正过
- ❌ 删除没课的空行——用户明确要求"没课的行空下,别删除"
- ❌ 假期周按满课时计算——中秋/国庆/元旦要扣减
- ❌ 期中期末范围与市统考要求不符——必须逐条核对
- ❌ 备注列出现错别字/无关内容——交付前通读检查