Preparing Students for AI-Driven Agile Development: A Project-Based AI Engineering Curriculum

本文提出了一种将敏捷实践与 AI 工程能力深度融合的项目式课程体系,通过让学生在实际迭代开发中运用生成式 AI 工具并反思人类责任,有效培养了其在 AI 驱动环境下的敏捷开发胜任力。

Andreas Rausch, Stefan Wittek, Tobias Geger, David Inkermann

发布于 Wed, 11 Ma
📖 1 分钟阅读☕ 轻松阅读

Each language version is independently generated for its own context, not a direct translation.

这篇论文讲述了一个关于如何教大学生在“人工智能(AI)时代”学习软件开发的创新故事。

简单来说,以前的学校教学生时,通常把“敏捷开发”(一种快速、灵活的团队协作方式)和"AI 技术”分开教,就像教人骑自行车教人开汽车是两门完全独立的课。但现实工作中,未来的软件工程师需要一边骑着自行车(敏捷协作),一边开着自动驾驶汽车(AI 辅助)。

为了解决这个脱节问题,德国克劳斯塔尔工业大学(TU Clausthal)的老师们设计了一套全新的**“实战演练”课程**。

以下是用通俗语言和比喻对这篇论文核心内容的解读:

1. 核心问题:以前的教学像“纸上谈兵”

  • 现状:很多学校还在用传统的“老师讲、学生听”的方式教 AI 和敏捷开发。
  • 比喻:这就像在教室里背熟了游泳手册,却从未下过水。学生知道什么是“敏捷”,什么是"AI 代码生成”,但一旦真的让他们在团队里,一边用 AI 写代码,一边应对不断变化的需求,他们就会手忙脚乱。
  • 痛点:学生学会了概念,但没学会如何在真实、混乱且充满 AI 干扰的团队中工作。

2. 解决方案:把课堂变成“模拟创业公司”

学校设计了一个基于项目的 AI 工程课程

  • 比喻:想象学校不再是一个教室,而是一个微型创业孵化器
    • 学生:不是坐在后排听课的学生,而是初创公司的员工
    • 任务:他们要在 7 个“冲刺周期”(每两周一次)内,像真正的软件公司一样,从零开始开发一个真实的多人在线棋盘游戏
    • AI 的角色:AI 不再是考试题目,而是每位员工的“超级实习生”或“副驾驶”
      • 当需要写需求时,AI 帮忙润色;
      • 当需要写代码时,AI 提供草稿;
      • 当需要测试时,AI 帮忙找漏洞。
    • 关键点:学生必须学会指挥这个“超级实习生”,而不是被它牵着鼻子走。

3. 独特的“防作弊”与“保底线”机制

既然 AI 能写代码,那学生怎么证明自己真的学会了?

  • 比喻:这就好比**“口试通关”**。
    • 虽然 AI 可以帮学生写出完美的代码,但在项目结束时,每个学生必须面对教授进行20 分钟的口头考试
    • 教授会指着代码问:“这段逻辑是你写的还是 AI 写的?如果 AI 错了,你该怎么改?这个功能背后的原理是什么?”
    • 目的:确保学生没有变成只会按“生成”按钮的“提线木偶”,而是真正理解了代码背后的逻辑,保留了人类的责任感

4. 课程设计的八大原则(简版)

这个课程不仅仅是教技术,还强调:

  • 人机协作:AI 是工具,人是决策者。
  • 快速迭代:像敏捷开发一样,边做边改,适应变化。
  • 跨学科:不同专业的学生(比如学机械的和学软件的)混在一起组队,模拟真实职场。

5. 初步成果:效果显著

经过几轮“实战演练”,老师们发现:

  • 成绩提升:学生挂科率大幅下降(从以前的 25% 缺学分,降到了 3%)。
  • 心态变化:学生们开始把 AI 聊天机器人当作**“团队新成员”**,甚至会给它起名字,讨论如何分配任务给它。
  • 关键教训
    1. 教学要快:AI 工具更新太快,老师必须像敏捷团队一样,随时调整教学内容,不能照本宣科。
    2. 口试不能少:必须通过面对面的交流,确认学生脑子里有货,而不是只有 AI 生成的代码。

总结

这篇论文的核心思想就是:未来的软件工程师,不能只懂代码,也不能只懂 AI,他们必须是“懂指挥 AI 的敏捷团队管理者”。

学校通过把课堂变成一个**“带有 AI 辅助的真实项目演练场”**,让学生们在犯错、反思和协作中,真正掌握如何在 AI 时代生存和创造价值。这就像是在教人游泳时,直接把他们扔进有救生员(AI)护航的泳池里,让他们学会如何驾驭水流,而不是只在岸上背泳姿口诀。