ARTICLE · 1222393
学编程用 AI 的三个阶段:最值得警惕的,反而是第二阶段
最近在教学和试听时候,我发现一个挺有意思的现象。
学生使用 AI 学习编程,往往会经历三个阶段。
而且随着 AI 用得越来越熟练,学生对自己能力的认识,也在悄悄发生变化。
第一阶段:AI 真好用,但我知道自己还不会
这个阶段,学生一般是先自己读题、思考、写代码。
好不容易写完了,提交后发现只有 30 分。
检查了半个小时,改了好几遍,还是找不到错误。
实在没办法了,把代码发给 AI:
“帮我看看这段代码哪里有问题。”
AI 很快找出了错误,可能只需要修改一两行。
学生恍然大悟:“原来问题出在这里!”
这个时候,学生虽然觉得 AI 很厉害,帮自己省了不少时间,但心里其实很清楚:
这个错误是 AI 帮我找到的,不是我自己找到的。
下次遇到类似的问题,自己未必能解决。
所以,还得继续学习。
这个阶段其实挺好。
学生有自己的思考过程,也清楚自己到底会什么、不会什么。
AI 只是一个辅助工具。
第二阶段:既然 AI 能告诉我思路,为什么还要自己想?
慢慢地,学生发现,AI 不仅能帮忙找错误,还能直接讲解题目。
于是使用方式发生了变化。
以前是自己想了半天,实在不会才问 AI。
现在是读完题目,感觉有点难,就直接问:
“这道题怎么做?给我讲一下思路。”
AI 给出了算法,分析了复杂度,甚至还提供了伪代码。
学生看完觉得很有道理。
接下来,自己把代码实现出来。
代码写错了?继续问 AI。
运行超时了?继续问 AI。
最后,程序 AC 了。
学生很开心,今天又做出来一道题。
但这个阶段,恰恰是我认为最值得警惕的。
因为从表面上看,这个学生真的很努力。
他没有直接复制 AI 的代码,而是自己一行一行敲出来的。
他确实在调试程序,也确实学到了一些知识。
甚至花在这道题上的时间,比其他同学还长。
但仔细想一想:
一道算法题,最关键的部分是什么?
往往不是最后那几十行代码,而是从题目条件中发现性质,找到突破口,再一步步推导出算法。
比如,为什么想到用二分?
为什么这个问题可以转化为贪心?
题目中的哪个条件,让我们能够把原本复杂的问题简化?
这些才是算法竞赛中真正需要训练的思维能力。
而这个最需要锻炼的思考过程,已经被悄悄外包给了 AI。
更麻烦的是,学生自己可能根本没有意识到。
他觉得自己理解了算法,自己写出了代码,最后还 AC 了。
自然也就认为,这道题自己会做了。
与第一阶段不同,他已经不再对自己的能力保持那么强的警惕。
他确实在学习,但也确实跳过了学习中最重要的一部分。
第三阶段:AI 的思路,就是我的思路
到了这个阶段,AI 已经成了学生学习时离不开的东西。
甚至上课的时候,老师刚把题目发下来,还没开始引导分析,有的学生就已经打开 AI 了。
老师问:“这道题有什么思路?”
学生回答得头头是道。
老师再问:“为什么要用这个算法?”
他还能把 AI 的解释复述一遍。
甚至在他的认知里,这个思路就是自己的。
“AI 给我讲了,我也看懂了,怎么就不算我会呢?”
“代码也是我自己写的,怎么就不是我做出来的?”
这个阶段最明显的变化,是学生开始把‘看懂别人的思路’,当成‘自己能够想到这个思路’。
甚至逐渐把 AI 的解题能力,误认为是自己的解题能力。
但这个阶段反而比较容易被发现。
老师只要再追问几句:
“你是怎么从题目条件想到这个方法的?”
“如果这个条件去掉,算法还能成立吗?”
“你先别看代码,自己重新推导一遍。”
有些学生很快就答不上来了。
因为他只是记住了一个现成的解法,并没有真正经历寻找解法的过程。
最难发现的,其实是第二阶段
第一阶段,学生知道自己不会。
第三阶段,老师认真追问,往往能发现问题。
反而是第二阶段,学生看起来最正常,也最努力。
认真读题,认真敲代码,认真调试,最后还能 AC。
如果老师只看最终提交结果,很容易认为这个孩子学得不错。
所以我现在越来越在意一个细节:
学生从读完题目,到真正开始写代码,中间经历了什么?
比如,在允许使用 AI 的模拟训练中,可以专门观察学生的解题过程。
拿到一道陌生的、有一定思维难度的题目后:
有没有停下来分析数据范围?
有没有尝试暴力做法?
有没有根据题目条件寻找规律?
有没有经历过猜测、推翻、重新思考的过程?
还是题目刚读完,几乎没有任何思考间隔,就开始敲一套完整的算法?
当然,动笔快并不能直接说明学生依赖 AI。有的孩子基础好,有的题目确实简单,也有学生习惯先写代码验证想法。
但如果面对一系列陌生题目,学生总是很快开始实现成熟解法,却讲不清这些思路是怎么推导出来的,那就值得老师关注了。
因为从读题到动笔之间的那段时间,恰恰可能是算法训练中最有价值的部分。
而这一段思考过程,如果仅仅通过最后的代码和提交成绩,是很难看出来的。
老师越来越重要的工作,是盯住孩子的思考过程
这也是为什么我越来越觉得,算法教学不能只看孩子最后写出了什么。
更重要的是看他怎么想出来的。
学生卡住的时候,不一定马上告诉他思路。
可以先问:“你觉得这道题最难解决的地方在哪里?”
学生提出一个算法,也不急着评价对错。
继续问:“你为什么认为这样做是对的?”
学生觉得自己懂了,那就改变一个条件,让他重新分析。
学生说自己会了,也可以让他先不看任何提示,独立完成一道类似的题目。
有时候,这种不断提问、追问的过程,比老师直接讲十分钟更有价值。
因为老师给出一个思路很容易,但让孩子自己想出一个思路,才是真正的训练。
当然,这对课堂教学也提出了更高的要求。
当一个老师同时面对很多学生时,很难时刻关注每个人的思考过程。
有的学生真的在独立分析,有的学生在理解 AI 给出的解法,还有的学生可能只是在机械地敲代码。
表面上大家都很认真,最终也都提交了程序。
但每个人真正锻炼到的能力,可能完全不同。
如果老师能持续关注一个学生,就更容易发现他究竟在哪一步停止了思考。
也更有机会通过不断追问,把那些被跳过的思考过程重新补回来。
有时候,老师少讲一点,让孩子多想一点,反而学得更扎实。
最后,想说几句
我并不反对学生使用 AI。
相反,我觉得 AI 是非常优秀的学习工具。
它可以帮助学生理解算法、分析代码错误,甚至可以比老师更耐心地解释一个知识点。
但学习算法竞赛,最需要训练的,恰恰是面对陌生问题时,独立分析、尝试和解决问题的能力。
看懂一道题的解法,和独立想出一道题的解法,是两种不同的能力。
AI 可以帮学生节省很多查错、查资料的时间。
但如果连思考的过程也一起省掉了,那么省下来的,可能恰恰是最需要训练的部分。
所以,现在我越来越觉得,老师最重要的工作,不只是把一道题讲明白,而是能发现孩子究竟在哪一步停止了思考,再通过不断地提问、追问,让孩子自己把后面的路走出来。
以前,教育的信息差主要在于老师会、学生不会;现在,AI 几乎什么都会,真正稀缺的,反而是有人能判断孩子究竟会不会。















































































