生成式软件工程
搜索
开始阅读/收尾/教学指南

教学指南

写给准备把这套讲义讲给一个班的人:怎么排课、每章讲什么、演示准备什么。

这一页讲什么
  • 受众定位与教学目标;
  • 两种课时安排的排法(十六次与八次);
  • 每章的教学目标、课堂重点与现场演示;
  • 作业与考核建议,以及零基础班上常见的三种卡点。

一、受众与教学目标

适合大一或大二:写过几十到几百行程序,知道变量、循环、函数,没有用过命令行、没装过 Linux、 没用过 Git,可能用过 AI 聊天但没让它真正干完一件活。

教学目标按优先级排列:

  1. 能判断:看出一段 AI 产出是真的做完了还是只是看起来做完了。
  2. 能动手:命令行、Git、一个能读写文件并执行命令的助手,三样都用得起来。
  3. 能交付:课程结束时有一个别人能打开、能运行、自己愿意继续用的作品。
教学立场 强调「作品与实践」,把「工具熟练度」放在次要位置。工具半年换一轮,判断标准不会换。 课堂上少讲快捷键,多讲为什么这样设计、什么时候不适用。

二、课时安排

方案 A:十六次课(推荐,每次 90 分钟)

次序内容课堂结构
1第 0 部分第 0 至 2 篇讲义导读 + 命令行现场演示 + 每人跟着敲一遍
2第 0 部分第 3 至 4 篇装 Git 现场走一遍 + 报错读法练习 + WSL 演示
3第 0 部分第 5 至 6 篇Git 五步现场做一遍 + 把任务说明写给助手
4第 1 章垃圾产物案例讨论 + 分组找身边的重复任务
5第 2 章八层外壳对照表 + 拆一个真实助手的配置
6第 3 章三道写作题现场复现 + 互相检查验收标准
7第 4 章上下文压缩演示 + 同任务不同上下文的效果对比
8第 5 至 6 章接一个真实工具 + 写一份技能文件
9第 7 章快照与分支现场演示 + 预测-观察练习
10第 8 章多 Agent 并行演示 + 作品开题
11第 9 章软件危机与瀑布模型的故事课 + 契约练习
12第 10 章需求泥潭案例讨论 + 决策表练习
13第 11 至 12 章汉诺塔三解对照 + 分层案例拆解
14第 13 至 14 章事件溯源演示 + 持续集成现场配置
15第 15 至 16 章150 行循环拆解 + 插件冲突思想实验
16展示课每人五分钟:展示了什么、规格写了什么、失败怎么发现

方案 B:八次课(每次 120 分钟,合并讲)

合并规则:第 0 部分压成两次(1-2 篇与 3-6 篇);第 1 部分压成两次(1-2 章与 3-4 章);第 2、3 部分各一次; 第 4 部分压成一次(9-13 章只讲核心案例);第 5 部分与作品开题一次;最后一次展示。 合并的代价是每章的动手练习要挪到课后,课堂上只做演示与讨论。

三、每章的教学目标与课堂重点

第 0 部分 打地基

目标:每人手上有一套能用的工具,并且知道报错怎么看。这一部分不讲原理,只练操作。

重点:必须现场演示,不能只发讲义。装 Git 时那个「重开终端」的坑要专门演一遍; 报错从下往上读要拿真实报错练三次。零基础同学在这一部分卡住,后面全部听不进去。

第 1 章 当机器会写代码

目标:建立「作品不再自动证明能力」的认识;记住意图、规格、实现三个词。

重点:垃圾产物案例要讲透「修改有没有局部性」这个判断标准,它是全课反复出现的尺子。 课堂可以让同学分组列出身边被 AI 生成过但没人用的东西。

第 2 章 Agent 由什么组成

目标:知道一个助手由模型加八层外壳组成,并非只有一个模型。

重点:八层对照表要一栏一栏讲,每层问一句「去掉它会怎样」。工具越多注意力越分散这一点, 可以用同时给二十个选项让人做选择的体感来类比。

第 3 章 把任务说清楚

目标:会写可验收的任务说明;知道哪些要求可以机械检查、哪些不能。

重点:三道写作题现场复现,让同学自己检查约束是否都满足,再讨论「满足约束」与「写得好」的差别。 验收标准的练习:两人一组,一人写要求,另一人只看要求判断产物是否合格。

第 4 章 上下文工程

目标:理解上下文是有限资源,学会放什么、何时清理。

重点:同一个任务用两种上下文组织方式各做一次,对比结果。压缩的取舍要讲清「压得太早也会坏事」。

第 5 章 接上外部世界

目标:知道工具协议解决什么问题,以及接入的代价。

重点:现场接一个真实工具(文件系统或数据库),让同学看到「接上之后能干什么」。 代价部分要强调授权范围与提示注入,这两条在零基础班上最容易被忽略。

第 6 章 技能与配置

目标:会把反复用到的做法写成文件,不再每次口述。

重点:现场把一个同学的问题解法写成技能文件,下次会话直接生效。 写配置的常见错误要逐条对照:互相冲突、写得过长、不可验证。

第 7 章 版本管理

目标:建立快照模型;会五个基本操作;理解改动也有身份。

重点:预测-观察练习最有效:先猜 add 之后再改再提交会怎样,然后实际做一遍。 改动身份那一节可以讲 cherry-pick 的困惑,不必深入工具实现。

第 8 章 并行协作

目标:知道多个人或多个助手同时改一个项目会遇到什么;会定义最小可行产品。

重点:worktree 现场演示两条命令各开一份;锁与合并两种策略用同一个冲突场景对比。 最小可行产品的练习:每人写下自己作品的验收标准。

第 9 章 软件工程从哪来

目标:知道需求分析、瀑布模型、契约设计各自为了解决什么麻烦而被发明。

重点:瀑布模型的真相要讲清楚:原文本意是警告,不是推荐。契约式设计用账户取款例子现场写一遍前置后置条件。

第 10 章 需求

目标:体会需求冲突与例外处理的真实难度。

重点:教务系统案例要保留具体数字与规则,让同学自己发现规则之间会打架。 决策表练习:把「学生优惠与满减能否叠加」写成表格,矛盾会自己浮出来。

第 11 章 架构第一课

目标:体会「换一种表示,问题变简单」。

重点:汉诺塔三解是全课最好的演示之一,三种写法各有同学能看懂的部分。 中间表示那一节只需要讲清「生成时」与「运行时」的区别。

第 12 章 分层与分工

目标:见过 UNIX、数据库、网络、界面框架这一串分层抽象。

重点:取两三个讲透即可,不必全讲。现场组合一条命令管道,比讲十条哲学有用。

第 13 章 状态与历史

目标:理解为什么只存当前状态不够;知道事实与计算应该分开。

重点:用校园卡充值消费退款做例子,说明同样的余额对应不同的历史。 重放不能重复扣钱这一点,可以类比不能把已经发出的快递再发一次。

第 14 章 持续检查

目标:会给自己项目加一条有约束力的检查。

重点:「有检查」与「检查有约束力」是两回事,这一条要专门强调。

现场演示:故意引入一个格式错误,让合并被拦住,再修好。

第 15 章 运行环境

目标:见过一个真实运行环境的结构;理解插件化带来的组合风险。

重点:150 行循环的第一次翻车是很好的开场:它写得很短,但网络一断就崩。 十个压缩插件叠加的思想实验能让人直观感到「每个都对,合起来不对」。

第 16 章 常驻助手

目标:知道长期在线的助手比一次性对话多出哪些问题。

重点:重点是状态、排队、重试、费用四件事。任务不能依赖某个一直开着的窗口,这条要举反例说明。

四、演示与技术准备

五、作业与考核建议

六、零基础班上常见的三种卡点

  1. 装不上环境就不敢往下走。对策:明确告诉他们装不上可以借同学的机器或先用在线环境,不要在装软件上停两天。第 0 部分第 3 篇专门写了怎么排查。
  2. 只读不做。对策:每次课开头用五分钟随机抽人演示上次的动手任务。有抽查,动手率会明显上升。
  3. 把助手当成搜索框。对策:第 0 部分第 6 篇就给一个必须真正执行的任务,让同学第一次感受到「它动手了」与「它告诉我怎么做」的差别。
现在就做 如果你是组织教学的人:照方案 A 的十六次课表,把日期与教室排出来,标注每次课需要提前准备的演示环境。 如果你是自学:跳过这一页,直接回到第 0 篇。

本页是教学建议,不代表任何课程方的官方安排。讲义内容的出处与版权说明见结课页。