耶鲁大学计算机课程CPSC 223的全体学生收到了一封令他们忐忑不安的邮件。邮件中,Ozan Erat教授直言:“我们发现了大量学生在作业中有使用AI的痕迹。”
面对这一情况,作弊者面临艰难抉择:要么承认使用AI,接受扣除一半分数的处罚;要么选择沉默。然而,若沉默后被查出使用AI,作业将被判零分,还将面临耶鲁纪律机构执行委员会的严厉处罚。更让学生们抓狂的是,在做出决定时,他们根本无从知晓自己是否已被系统标记为作弊者。直到几天后,在学生们的强烈不满声中,Erat教授才通知了被指控的学生。
一位化名为Edward的学生回忆起当时的场景,仍心有余悸:“全班都吓坏了。”他和另一名同学一致觉得,几乎班上每个人都或多或少在作业里借助了AI。可没人清楚教授究竟是如何查出他们使用AI的。
实际上,Erat教授早就察觉到了AI的“蛛丝马迹”。他发现,参加答疑时间的学生人数比往年大幅减少,竟少了一半;课程在线问答论坛上的帖子数量也锐减了75%。最让他觉得荒谬的是,耶鲁大学的学生考试成绩越来越差,作业分数却越来越高。他还提到,去年秋天教一门有150人选修的计算机基础课时,整个学期竟然只有一名学生去过他的办公室答疑。
这一系列现象,让朱老师不禁联想到最近网上热议的话题:在AI时代,学生们还有必要学习编程吗?
禁令下的猫鼠博弈
耶鲁大学的Erat教授并非个例,全美各地高校的传统计算机科学教授们,正深陷一场愈演愈烈的“作弊风暴”。
布朗大学的CS助理教授Eric Ewing在上学期就遇到了类似情况。他发现25名学生的代码结构异常相似,经调查,其中22人承认使用了AI。芝加哥大学副教授Adam Shaw在自己的入门课程中明确禁止学生使用大型语言模型;卡内基梅隆大学一门名为“命令式计算原理”的必修课,更是全面禁止学生使用AI。主讲教师Anne Kohlbrenner解释道,这与课程的结构设置紧密相关。
“我们把编程视为培养推理能力的工具,旨在教导学生如何独立完成这类推理。如果让AI代劳,学生基本上就错失了90%的学习机会。”Kohlbrenner结合概率模型和检测AI生成代码的工具发现,那些可能在代码中使用AI的学生,平均成绩比未使用的学生低了整整两个等级。
“我们拿到的数据非常糟糕,AI对学生的学习造成了极大的负面影响,程度令人震惊。”Kohlbrenner进一步解释,“很久以前我们就有了解决代数题和算积分的工具,但我们依然让学生们手工计算。对于计算机专业的学生来说,重走前人走过的路,完成那些培养了一代代程序员的经典练习,依然具有重要价值。”
他还补充道:“未来行业里写代码的方式很可能会变得更加自动化。但无论以后打算从事什么工作,学会死磕编程难题、拆解并解决问题,都是非常有帮助的。”
然而,禁令真的能起到作用吗?学生真的能抵挡住AI的诱惑吗?耶鲁的经验给出了否定的答案。Erat教授承认,他指控了全班三分之一的学生使用AI,但实际比例可能高达70%甚至更多。
整个春假期间,Erat教授仔细翻阅了每个学生的作业。他努力寻找那些反复出现、课堂上未教过且做作业也用不上的代码片段。他还让ChatGPT重做这些作业,发现AI总会规律地使用这些特定代码。
Erat教授还发现,如果使用ChatGPT Plus功能包里的ChatGPT - 4.5模型,生成的代码就不会带有那些特征标记。而且,即便不花钱,精明的学生只要稍微修改一下人工智能生成的代码,把那些明显不像人写的部分改掉,就能轻松蒙混过关。
Edward同学道出了一个让所有教授都夜不能寐的现实:“不常用AI、缺乏掩饰经验的学生更容易被查出来。AI重度依赖者反而没有受到这件事的影响。”这句话细想之下,充满了讽刺意味:作弊惯犯早已修炼出完美的伪装术,偶尔偷懒的学生却成了容易被拿捏的“软柿子”。
拥抱派的革新探索
就在一部分教授为学生的作弊行为焦头烂额时,另一群教授却迅速调整方向,积极拥抱AI。
卡内基梅隆大学的一堂实验课上,学生们仅用13分钟就开发出了一个类似Instagram的应用,而且全程没有写过一行代码。这是该校一门名为“软件开发中的人工智能工具”实验课的首次课堂作业。
软件与社会系统系副教授Andrew Begel在开课时告诉学生:“你们要让大型语言模型生成所有的代码。如果它生成的代码有误,你们要看懂这些代码、告诉模型如何修复,但不能自己动手修改。”这就是全网爆火的Vibe Coding,它主要指人们利用大型语言模型来编写代码的行为。Begel教授将其定义为一种不经过测试或训练,就指望输出结果完美的编程方式。
Business Insider在去年11月底报道了斯坦福大学当下知名的课程“现代软件开发者”。这门课打破了传统课堂上禁止使用AI的惯例,大胆鼓励学生借助像Cursor和Claude这样的AI工具来完成软件开发。
斯坦福课堂还邀请了众多AI企业的技术大咖分享经验,包括Claude Code的创造者Boris Cherney和Vercel的AI研究负责人Gaspar Garcia。知名风投机构a16z合伙人Martin Casado也在期末周做了讲座。
耶鲁大学的Lin Zhong教授同样将AI工具融入了他的“计算机系统设计”课程。他大幅提高了课程难度,期望学生用AI挑战高阶难题。Zhong教授表示:“你必须重新设计课程,从而迫使学生主动学习。”他的课程甚至规定,如果学生能创造性地使用AI完成作业,还会获得额外的加分。
他认为,耶鲁的CS核心课程还停留在上世纪八十年代。他希望学生能掌握未来作为专业软件工程师所必需的AI技能。
课堂与就业的矛盾碰撞
卡内基梅隆大学计算机科学助理教授Michael Taylor开设了一门名为“人工智能高效编程”的新课。他与来自不同计算机背景的本科生、研究生和教职员工一同合作,试图解决这样一个问题:当市面上尚未有现成答案的时候,该如何高效使用AI?
Taylor强调,学生在使用AI工作前,必须具备扎实的CS基础。要想选修这门课,学生得在CMU一门计算机科学入门课中取得C及以上的成绩。
Taylor教授提到,即将进入计算机行业的学生面临着越来越大的压力。他们被要求掌握AI,然而许多人在课堂上学的却是截然相反的价值观。老师教导他们要抵制AI,让他们认识到AI会损害学习效果。
“我注意到当下许多科技公司对人工智能充满热情。学生们去申请实习和工作时,面试官抛出的一个问题就是:如何高效地使用AI?如果你没有熟练掌握AI,很多大公司都不会录用你。”Taylor教授建议学生在学习阶段,不要让AI生成完整的程序。好的方式是在AI的帮助下一步一步构建代码,通过调整一行行代码来理解它们的运行机制。
他强调,学习AI将是一个持续不断的过程,尤其当这个领域正在不断发展变化。Taylor说:“我对学生们解决难题的能力充满信心,特别是他们集思广益的时候。只要提供适当的指导和框架,我们就能用AI创造出真正了不起的东西。”
编程教育的未来之路
回到最初的问题:AI时代,学生还有必要学编程吗?
2024年诺贝尔物理学奖获得者、被誉为“人工智能教父”的Geoffrey Hinton给出了他的看法。他认为,即便AI正在颠覆编程行业,计算机科学学位依然具有很高的价值。它的本质不仅仅是教人写代码,更在于培养系统性思维和解决复杂问题的综合能力。
Hinton将编程学习比作在人文教育中学习拉丁语:“你可能永远不会用拉丁语交谈,但它仍然具有重要的学习价值。编程也是一样,它是一种出色的智力训练。”
面对未来的不确定性,Hinton建议学生把重心放在提升批判性思维上,掌握数学、统计学、概率论和线性代数。不要局限于某一项具体技能,因为具体技能很容易被AI取代。
在AI浪潮的冲击下,编程教育正面临着困境与挑战。是坚守传统,还是积极革新?是禁令严防,还是拥抱融合?这不仅是教育者需要思考的问题,也是每一个即将踏入编程领域的学生需要面对的抉择。或许,未来的编程教育将在这场矛盾与冲突中,找到一条属于自己的突围之路。
微信扫一扫









