2025年3月25日,耶鲁大学计算机课程CPSC 223的全体学生收到一封邮件。
Ozan Erat教授在邮件中写道:“我们发现大量学生在作业中使用AI的痕迹。”
作弊者面临两个选择。要么承认使用了AI并扣除一半分数,要么保持沉默。
如果他们选择沉默,但被查出来使用了AI,那么他们的作业将被判零分,面临耶鲁纪律机构执行委员会的处罚。
最让人抓狂的是,学生做决定时,根本不知道自己是否被系统标记为作弊者。几天后,在学生表达了强烈不满后,Erat教授才通知被指控的学生。
一位化名Edward的学生事后回忆当时的场景,说全班都吓坏了。他和班上另一名学生一致认为,几乎每个人都或多或少在作业里用了AI。没人知道教授是怎么查出来的?
其实Erat教授早就察觉到了AI的蛛丝马迹。参加答疑时间的人数比往年少了一半,课程在线问答论坛上的帖子数量锐减了75%。最让他感到荒谬的是,耶鲁大学的学生们考试成绩越来越差,作业分数却越来越高。

他还提到去年秋天他教一门有150人选修的计算机基础课时,整个学期竟然只有一名学生去过他的Office Hours(办公室答疑)。
这不由得让主页菌想到最近网上很火的一个话题:AI时代,学生们还有必要学编程吗?
对于这个问题,美国顶尖大学的教授们各自为营:
有人在教室里坚守着某种古典的学术信念,
有人全盘倒戈、投入AI的怀抱,
还有的人在无法阻挡的技术浪潮中,试图打捞起一点教育本应有的价值。
禁令与猫鼠游戏
耶鲁大学的Erat教授并非孤例。
全美各地的高校中,传统的计算机科学教授们正在面临一场愈演愈烈的作弊风暴。布朗大学的CS助理教授Eric Ewing在上学期发现,25名学生的代码结构异常相似,后来其中22人承认自己使用了AI。
芝加哥大学副教授Adam Shaw在自己的入门课程中明令禁止使用大型语言模型。
他给出的理由是:“很久以前我们就有了解决代数题和算积分的工具。可是我们依然让学生们手工计算。对计算机专业的学生来说,重走前人走过的路,去做那些培养了一代代程序员的经典练习,依然很有价值。”
他补充道:“以后行业里写代码的方式很可能会变得更加自动化。不管未来打算做什么,学会死磕编程难题、拆解并解决问题,都是非常有帮助的。”

卡内基梅隆大学一门名为“命令式计算原理”(Principles of Imperative Computation)的必修课全面禁止学生使用AI。主讲教师Anne Kohlbrenner解释道,这与课程的结构设置有关。
“我们把编程视为一种培养推理能力的工具,教学生如何独立完成这类推理。如果你让AI代劳,你基本上错失了90%的学习机会。 ”
Kohlbrenner结合概率模型和检测AI生成代码的工具发现了一个现象。那些可能在代码中使用了AI的学生,其平均成绩比没有使用的学生低了整整两个等级。
“我们拿到的数据非常糟糕。AI对学生的学习造成了极大的负面影响,程度令人震惊。”

问题是,禁令真的有用?学生真的能抵挡住AI的诱惑吗?
耶鲁的经验告诉我们,几乎不可能。Erat教授承认,他指控了全班三分之一的学生使用AI,实际比例可能高达70%甚至更多。
整个春假期间,Erat教授把每个学生的作业都翻看了一遍。他仔细寻找那些反复出现的、课堂上没教过、做作业也用不上的代码片段。他还让ChatGPT重做这些作业,发现AI总会规律地使用这些特定的代码。
Erat教授发现,如果使用ChatGPT Plus功能包里的ChatGPT-4.5模型,生成的代码就不会带有那些特征标记。而且即使不花钱,精明的学生只要稍微修改一下人工智能生成的代码,把那些明显不像人写的部分改掉,就能轻松蒙混过关。
Edward同学道出了一个让所有教授夜不能寐的现实:“不常用AI、缺乏掩饰经验的学生更容易被查出来。AI重度依赖者反而没有受到这件事的影响。”
这句话细想之下十分讽刺:作弊惯犯早已修炼出完美的伪装术,偶尔偷懒的学生却成了最容易被拿捏的“软柿子”。
拥抱派的反击
正当一部分教授们焦头烂额的时候,另一群教授已经火速调转了方向。
卡内基梅隆大学的学生在课堂上只花了13分钟就开发出了一个类似Instagram的应用,全程没有人写过一行代码。这是该校一门名为“软件开发中的人工智能工具”(AI Tools for Software Development)实验课首次的课堂作业。
软件与社会系统系副教授Andrew Begel开课第一天告诉学生:“你们要让大型语言模型生成所有的代码。如果它生成的代码有误,你们要看懂这些代码、告诉模型如何修复,但绝对不能自己动手修改。”

这就是全网爆火的Vibe Coding。它主要指人们利用大型语言模型来编写代码的行为。Begel教授将其定义为一种不经过测试或训练,就指望输出结果完美无缺的编程方式。
Business Insider在去年11月底报道过斯坦福大学当下最火的课程“现代软件开发者”(The Modern Software Developer)。这门课同样打破了传统课堂上禁止使用AI的惯例,大胆鼓励学生借助像Cursor和Claude这样的AI工具来完成软件开发。
斯坦福课堂还邀请了众多顶尖AI企业的技术大咖分享经验,包括Claude Code的创造者Boris Cherney和Vercel的AI研究负责人Gaspar Garcia。知名风投机构a16z合伙人Martin Casado也在期末周做了讲座。

耶鲁大学的Lin Zhong教授同样将AI工具融入了他的“计算机系统设计”(Computer Systems Design)课程。他大幅提高了课程难度,期望学生用AI挑战高阶难题。
Zhong教授说:“你必须重新设计课程,从而迫使学生去主动学习。”他的课程甚至规定,如果学生能创造性地使用AI完成作业,还会获得额外的加分。
他认为,耶鲁的CS核心课程还停留在上世纪八十年代。Zhong教授希望学生能掌握未来作为专业软件工程师所必需的AI技能。
课堂与就业的冲突
卡内基梅隆大学计算机科学助理教授Michael Taylor开设了一门名为“人工智能高效编程”(Effective Coding with AI)的新课。
他与来自不同计算机背景的本科生、研究生和教职员工一同合作,解决这样一个问题:当市面上尚未有现成答案的时候,你该如何高效使用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取代。
下一篇:没有了