课堂上真正应该改变的是什么?
核心转变在于:将编程教学从一项独立技能,转向人机协作的实践。一项针对25名工科学生、为期10周的案例研究表明,使用GitHub Copilot等AI助手,可在原型设计与调试环节节省30%–40%的时间[1]。这一时间节省意义重大——学生无需再耗费大量精力与语法纠缠,而能将更多时间投入架构设计、测试及决策优化。但该研究同时指出,代码质量的维护仍需系统性的人工监督[1]。因此,目标并非停止编程教学,而是教会学生何时信任AI、何时修正AI的判断。
另一项研究为工程课程设计了一套结构化的AI辅助学习流程,发现ChatGPT在帮助学生方面具有显著潜力,但前提是学生必须接受如何有效与之互动的训练[2]。这意味着课程中需要包含明确的指导,涵盖提示工程、评估AI输出以及判断AI何时可能出错等内容。若缺乏此类训练,学生可能会得到泛泛而谈或具有误导性的回答[3]。
教学必须应对哪些风险?
最大的风险在于学生可能对AI产生依赖,从而停止学习编程所培养的深度问题解决能力。在一项将GPT-3.5作为AI导师应用于自动编程评估系统的研究中,学生自己就提出担忧:使用AI导师可能会阻碍他们的学习进度[3]。这是一个警示信号:如果学生觉得工具让他们变笨了,教育者就需要设计防护措施——比如要求先手动编码,再使用AI进行优化或调试。
还有一个大多数课程都忽视的严重法律风险。2025年的一项分析警告称,AI编程助手可能引发知识产权问题:它们生成的代码可能违反开源许可证或侵犯第三方版权,这可能导致学生无法以开源形式发布自己的作品,甚至面临诉讼风险[4]。软件工程教育现在必须包含一个关于AI生成代码法律影响的模块,尤其是针对那些计划从事研究或开源项目的学生。
各项研究在哪些方面存在共识与分歧?
四项研究在一个核心观点上达成一致:AI编程助手是能够提升效率与满意度的强大工具——其中一项研究中,96%的学生对AI辅助学习体验表示满意[1]——但需要谨慎整合,以免削弱学习效果。[1]和[2]均强调结构化教学框架的必要性,而[3]则从学生视角补充指出,过度使用可能适得其反。[4]引入了其他研究忽略的维度:法律风险,这是当前教学中的一个关键空白。
这一表面上的矛盾,核心在于基础编码能力究竟还重不重要。[1]指出,人工监督对代码质量至关重要,这意味着手动编码技能依然重要。[3]显示学生担心学习受到抑制,这进一步印证了上述观点。但[2]更侧重于如何有效使用AI,这可能会被解读为弱化手动编码的重要性。解决之道在于两者皆对:学生需要先学会手动编码,再学习如何与AI协作——而不是直接跳过基础,直奔AI。
关于这些来源
该回答基于4项研究(2篇经同行评审,2篇为预印本)——发表于2023年至2025年间,其中3篇为2024年及以后发表,1篇发表于Q1期刊,累计被引用105次——这些研究是从通过质量筛选的4项研究中选出的最具相关性的成果,而后者又源自从超过5亿篇论文数据库中检索到的28篇文献。
本文引用的文献
在工程教育中利用AI辅助编码工具:软件开发的前景与陷阱
在一项为期10周、涉及25名工程专业学生构建CRM系统的案例研究中,AI辅助工具在原型设计和调试环节节省了30%–40%的时间,但保持代码质量仍需系统化的人工监督;96%的学生对AI辅助的学习体验表示满意。
工程教育中的数字化转型:探索人工智能辅助学习的潜力
在一所东南亚大学的工程课程中,ChatGPT展现出辅助学生的巨大潜力,但研究结论指出,要取得成效,仍需对学生进行与AI工具有效互动的培训与指导。
软件工程教育中的AI辅导
在一项探索性案例研究中,将GPT-3.5作为AI导师集成到自动化编程评估系统中。学生们指出了其优势,如及时反馈和可扩展性,但也提出了担忧,认为AI导师可能会阻碍他们的学习进程。
AI编程助手会扼杀研究软件工程中的FLOSS吗?
2025年的一项分析警告称,AI编程助手存在知识产权风险——包括版权侵权和开源许可证违规——这可能导致研究软件工程师无法以开源许可证发布代码,并使他们面临诉讼风险。
