Teaching-Works-Lab 下课程大纲 + 教案的生成结果归档仓库。只放已生成(或明确处于草稿状态)的大纲与教案;生成它们的 Skill 分别在 course-teaching-workflows(大纲)与 lesson-plan-compiler(教案),不在此仓库。
course-teaching-archive/
├── version/ # 全局版本场景,只定义一次,所有课程共用
│ ├── 2025.md # 保守基线
│ └── 2027.md # 未来场景
├── course/ # 课程实体(独立、可被多专业引用)
│ └── <课程名>/ # 课程全名,如 程序设计基础(C&C++)Ⅰ
│ ├── README.md # 课程清单:代码 / 适用专业 / 版本
│ ├── 2025/ # 每个版本 = 一个自包含原子
│ │ ├── README.md # 本版本自查清单
│ │ ├── 大纲/ # 文件名保留课程代码原名,如 25JX31802-…
│ │ ├── 说明/ # 可选:教材与编制依据等配套说明
│ │ ├── 元数据/ # 可选:校验报告 / 培养数据溯源等机器凭证(严格版发布包)
│ │ └── 教案/ # 尚未生成时为空(仅 .gitkeep)
│ └── 2027/
│ ├── README.md
│ ├── 大纲/
│ └── 教案/
├── major/ # 专业维度(只引用 course/,不复制内容)
│ └── <专业名>/
│ ├── README.md # 专业说明
│ └── 2025.md # 该专业引用哪些课程(链接到 course/...)
├── scripts/
│ └── check_structure.py # 结构自检:原子 / 目录齐全 / md-docx 配对提醒
└── .gitattributes
- 课程是课程、专业是专业:课程实体统一存
course/,与专业解耦(一门课可适用多个专业);专业通过major/<专业>/2025.md引用课程,不复制内容。 - 版本目录是原子:
course/<课程名>/<版本>/内自包含「大纲 + 教案」目录;2025 与 2027 各自独立、可并行生成/审查,互不依赖。 - 文件名保留课程代码原名(如
25JX31802-…/25JD31401-…),不用版本年作前缀——版本归属由所在目录(2025/、2027/)体现。 - md 是理想事实源:大纲若只有
.docx(缺同名.md)会由自检告警提示待补,不阻断归档;补.md后应与.docx同名成对。 - 每个版本目录有
README.md自查清单;覆盖其文件、缺件、脱敏状态。
py -3.12 scripts/check_structure.py
# 结构完整退出 0;docx 缺同名 md 等以 [警告] 提示,不失败- 在
course/下建<课程名>/,写课程README.md(课程代码 + 版本清单); - 建
2025/、2027/(按需),各含README.md、大纲/、教案/; - 把定稿大纲放进对应版本
大纲/,保留课程代码原名; - 教案未生成时
教案/只留.gitkeep; - 跑
check_structure.py确认原子完整、检查配对告警。
发布前先脱敏:去掉主讲教师姓名/工号、学生信息、内部考核比例细节与本地路径。示例内容保持虚构、去身份化。