笔记——AI时代的大学计算机编程课堂现状与挑战
2026/7/13 21:08:23 网站建设 项目流程

目录

一、AI时代的大学课堂现状

二、 AI时代下的教与学挑战

在教方面, 前面我们说很多同学用AI仅仅是为了完成任务,甚至完全是在抄AI作业(之前抄同学作业,现在转变抄AI作业),这对教师的教学、对学生学习效果评价产生了巨大挑战。

在学方面, 学生可能也面临如何更好学的问题。

三、AI时代下教师教学一点心得

1、AI时代性对教师的主要挑战—如何引导学生真正掌握知识、自己拥有能力,而不是借助AI完成某项任务或某个作业。 这方面也涉及教师如何评价学生的学习过程与学生效果。

2、帮学生树立课程更长远的学习目标与能力目标

3、 结合课程特点的更多元灵活评价标准

4、教学生更强的甄别能力

四、写在最后


一、AI时代的大学课堂现状

AI时代特别是LLM大语言模型的流行,极大改变了大学课堂。伴随着学生“沉浸式”使用AI,教师“沉浸式”使用AI的情况,现以计算机方向学生上课为例,梳理大学课堂AI使用现状。

1、学生使用AI

目前大学课堂上,学生使用AI已经变成非常普遍的现象,小到回答随堂提问,大到完成毕业论文。 目前学生使用AI比较普遍的场景:

  • 理论课

1) 回答随堂提问。 教师当堂出的知识点题目,学生直接拍照上传AI搜索答案;

2)书面作业。教师让提交的书面作业,学生也直接拍照上传AI搜索答案,然后提交答案;

3)随堂重难点知识点提问。可能教材、教学课件上有“现成”的答案,学生也要问下AI怎么说

4)对某个知识点不理解,直接问AI;

5)...

  • 上机实验课

1) 随堂上机作业。 教师布置完成上机题目后,学生往往自己不思考,直接拍照上传AI搜索答案;

2)上机课调试。程序调试出现问题时,学生同样把错误信息拍照上传AI。

3)结课大报告。考查课结课时,往往需要提交一份结课大报告,通常以个人或小组(3-4人为一个小组)进行提交大报告。 这份大报告,无论是程序的编写,还是报告本身的内容,可能都是学生直接“复制”AI的答案。报告内容可能不符题意,或者可以直接看出学生根本不理解对应知识点。

从整体学生使用AI的效果看,大致可以分为以下类型:

无脑完全“抄袭”AI。 这种情况下学生可能完全不听课,根本不懂/不理解知识点,使用AI只是为了完成老师布置的任务。 AI完全代替了学生个体的思考、学习这个过程。可能让这样的学生不使用AI,他会对知识点、语法细节、甚至书写格式一无所知。这类学生完全是为了完成任务、课程60分及格就行,对课程内容本身则完全不懂,完全“不求甚解”,“不求理解”。 这类学生姑且称为一问三不知,仅仅在抄AI作业。

使用AI辅助学习。这种情况下学生该上课上课、该听课听课(除了课堂,他们可能也会看B站、考研视频以及各种高信息量的讲解视频),真正做到自己理解了知识点、语法细节、甚至可以举一反三。针对不太理解知识点、或者示例,使用AI进一步询问知识点原理、更多示例。 在上机课程序调试时, 发现调试不通过会使用AI问调试不通过原因,进而逐步排错直至最终调试通过。这类学生姑且称为举一反三类型,用AI帮助自己更快更好学习。

借助AI完成任务 。 这类学生使用AI的程度介于上述两类学生中间,属于大多数。 这类学生一切围绕完成教师布置的“学习任务”使用AI,相比第一类学生,这类学生起码可以动手照着AI给的答案,自己敲代码、理解含义,为什么这么实现等等,但除此之外并不会继续做“扩展性学习”了。 这类学生姑且称为半瓶水类型,用AI帮自己完成任务同时学习了相应知识点用法。

2、老师使用AI

  • 理论课

在整个理论课备课过程中,AI确实某些程度上极大扩展了教师的备课压力。

1)使用AI搜索具体知识点原理、语法细节、对比示例等等。 除了教材、老师个人经验外,老师使用AI可以让某个知识点的讲解更加“透彻”,甚至某些时候从语法细节、原理、使用、举一反三示例、学生身边熟悉示例等等都可以通过AI得到。 某些时候老师的备课压力可能要小不少。

2)使用AI完善优化课件。 目前AI可以去制作、美化讲课课件。

3)AI出相关知识点随堂测验题目。

4)AI出相关知识点对比

5)AI出相关知识点书面作业

6)AI编写相关示例代码

7)AI出考查题目、相关知识点迁移、相关扩展知识点

8)...

  • 上机课

对于老师而言,上机课可能会需要更加“绞尽脑汁”去精心设计上机题目。 有了AI,可能需要花费更大精力去设计整体上机课,让学生真正去动手操作。

1)使用AI围绕某些知识点出上机题目。 这种方式有些老师可能在使用,但基本上这样出的题目AI大概率也能搜索到“标准答案”。 所以本人在出题时,会根据自身经验精心设计一些题目,既考察了知识点上机,又让学生需要尽可能亲自上机,动手写代码,调试自己的程序才能最终完成题目。

2)使用AI出对比示例。 当进行前后关联知识点讲解,操作时,AI可以出关联题目。

3)使用AI细化评分点。

  • 出试卷

对于考试课,出试卷的难点在于如何同时兼顾出题范围、题目难度。 除了教材、课件上的示例可以参考外,当然可以使用AI进一步扩展出题题型和难度、围绕某一个重点知识点出题等等。 AI从一定程度上确实让教师在一定程度上突破了自身眼界、出题技能、思维局限的边界。

当然了如果教师本身就对某个知识点“不甚理解”,通过AI也可以快速熟悉起来该知识点、甚至借助AI快速学习后“现学现卖”。

二、 AI时代下的教与学挑战

在教方面, 前面我们说很多同学用AI仅仅是为了完成任务,甚至完全是在抄AI作业(之前抄同学作业,现在转变抄AI作业),这对教师的教学、对学生学习效果评价产生了巨大挑战。

比如,一个完全抄AI、一问三不知学生最终给出的答案,很有可能比自己独立思考、认真学习学生给出的答案更好,这个时候教师如何评价这两类学生的学习效果。 可能大家会说:这很好评价,抄AI可以等同于抄袭直接判零分。可能还有人会说能用AI搜索到更好答案本身也是学习能力,更好的答案理应得到更高的分数。 可能还有人说: 这不能一概而论,具体问题、具体课程科目需要具体分析。

课程目标包含严谨工程思维与纠错意识,AI 直接提供无 bug 代码,学生失去直面错误、自主修正的训练机会;基础题型中学生无需调试、推导,弱化程序纠错核心能力。

传统依靠作业代码运行结果、期末程序成品的评价方式,无法区分学生真实掌握程度。大量学生提交的代码能够正常运行,但无法解释代码设计思想、底层逻辑,高分作业、完整项目不代表学生具备编程思维,给教师课堂学情判断、期末成绩评定带来巨大干扰。

全新大型系统设计题目不适用于低年级教学理论上,从未公开、高度定制化的复杂业务系统设计,AI 无法直接输出完整成品代码,能够规避抄袭。但此类高难度系统设计涉及分层架构、数据库交互、多模块协同,远超《Java 程序设计》低年级教学大纲要求,学生尚不具备支撑开发的前置知识,无法作为常规课堂、课后考核题目使用。

AI时代作为教师,不禁要问:

1、AI时代,抄AI作业与抄同学作业究竟有什么区别? 有没有区别? 应该如何引导学生正确看待与使用AI?

2、计算机相关课程可谓“日新月异”,教师如何把握课程上的重难点,以及将对应知识点与学科前沿、企业实际应用相结合?

3、 唐宋八大家的韩愈曾说:师者,所以传道授业解惑也。 实际情况可能是老师给学生答疑解惑的不再是具体知识点: 现在学生可能完全不喜欢课堂听课反而更愿意去网上查资料、看网课、看视频。 上课反而不听课,甚至不上课。 作为老师如何评价这类学生? 很多人还在把问题理解为教学技巧问题:是不是互动不够?是不是案例不够新?是不是PPT不够漂亮?这些都可能有影响,但都不是根本。根本问题是,课堂赖以成立的那个时代背景,已经变了。

4、AI冲击下,有些学生的基础语法掌握不但没有增强,反而在大大减弱,甚至连基本语法都没有掌握。拿Java相关流行Spring,SpringMVC,Springboot框架课程举例, 上机课上有部分学生连基本的Java基础语法都不会还要查AI。 这种没学会“走”就要学习“跑”的学生,老师又如何评价?

5、 AI冲击下,教师如何评价学生的学习效果。哪怕学生给出的“答案”已经远远不足以评判学生学习效果与能力培养的好坏。 一个从来不上课,直接抄AI答案的学生可能给出的“答案”是比较完美的,甚至编码规范、异常检查统统比较完善了。

在学方面, 学生可能也面临如何更好学的问题。

1、 学生自己敲代码 VS AI一键生成代码

学生自己敲代码可能需要不断调试、不断运行才能最终成功。而使用AI可能更快速— 一键复制粘贴 AI代码,按步骤自己复制到IDE, 所有源码直接下载倒入IDE直接运行。

2、 抄不抄AI现成答案

不抄: 自己独立思考可能未必有AI给的答案完整。

抄: 学生个人完全没有能力获取与提升,只是通过AI拿到了作业结果。

3、所谓知识点还有没有必要记到脑子里面

有时我上课会给学生讲: AI没办法把知识塞到脑子里。 面试、考试不会让你拿着AI查。 拿Java举例,如果对于Java基础语法(类对象语法、继承语法等等,容器使用都不会自己写,还要先查如何写,这类基础的学生又如何能快速学会学好Java相关web流行框架等更高阶课程呢?

三、AI时代下教师教学一点心得

1、AI时代性对教师的主要挑战—如何引导学生真正掌握知识、自己拥有能力,而不是借助AI完成某项任务或某个作业。 这方面也涉及教师如何评价学生的学习过程与学生效果。

对于Java编程作业,学生通过独立思考、认真敲代码答题、能够说出相关知识点使用并最终给出的结果、另一位学生抄AI给出的答案自己却对相关知识点一问三不知。两个答案对比,当后面学生的答案更好时,作为教师是不是要给后面学生更高分数? 本人认为是否定的。

本人在实际教学过程中不会根据代码是学生自己敲的、还是依赖AI生成来决定答案好坏,而是根据对应学生有没有真正自己理解掌握对应知识点使用,即学生能不能对为什么这么实现、代码为什么这么写/不这么写会有什么问题、有没有更好实现方式、迁移性质问题提问、变换题目问法学生是否仍然理解等等方面问题做出回答,以及回答是不是合理等方面做成评判。 学生个人知识点掌握程度、相关能力获取程度才是本人评判学生对应学习好坏的主要考虑。

比如,拿JavaEE课程来讲,当堂作出答案,并找老师讲作答过程; 教师通过提问学生来进一步获悉学生有没有掌握知识点,自己理不理解知识点。如果学生只有答案根本讲不出来,那么他对相关知识点完全不懂属于抄AI或抄同学做出来了。 这种情况下学生无论是自己敲代码、还是复制粘贴AI现成答案可能都不会拿到很高的最终分数。

学生编程上机课抄AI答案,答案可以实现题目要求但一问知识点及用法一问三不知。 这种情况和抄同学答案区别并不大。本人目前以学生能否理解知识点及其用法为主要评分标准,即上节课必须当面给我讲题目代码如何写的,为什么这么写,用法不这么用会有什么问题,有没有更好方法等等。 而对于代码究竟是不是学生本身一行一行敲的作为参考项,当然自己敲有额外加分。 学生给我讲的时候如果她/他可以不看具体代码讲而是只看着题目说思路,能够讲出实现关键代码逻辑也有额外加分。

当然了,一对一面对面讲解思路与实现,当学生人数比较多时课上根本无法完全实现。 此时本人会让学生自己分成3~4人一个小组,小组内部给彼此讲解实现思路。本人会抽查某些小组的某些学生,如果小组里面有人讲不出实现思路,那么该小组需要重复互相讲思路实现的过程方能计分。

2、帮学生树立课程更长远的学习目标与能力目标

对于一门课,学生最直接的目标可能就是及格就行或者拿到高分。所以学生学习过程变成了: 能交差就行, 抄同学的作业可能还要欠同学人情,而借助AI完全可以搞定,于是课程的学习本身变成了AI搜索课,编程课变成了“打字课”。

学生习惯认知:能用就行,不必知道原理不必深究。 有现成答案就行不用管过程。

学生学习一切围绕答案进行: 上机课要的是答案,试卷考试要的是答案,平时作业要的是答案,课程设计要的是答案,至于原理、知识点、基础知识根本不重要。 除非和绩点、成绩、高分数挂钩,否则根本不管不重要。

针对上述学生学习心态,本人在课程开始的第一节课就会让学生了解到课程在企业中的实际用途。 课程学好了可以去哪些企业工作,课程与其他高阶技术课程的关系, 课程与毕业设计的关系,还会向学生展示实际的企业招聘对技术能力的要求等等,以便让学生从课程一开始就知道: 及格甚至乃至课程高分数仅仅是学习最小的一个目标, 对相关想往对应方向深耕的学生来说有更长远的目标。 本人也会分享自己实际在互联网大厂面试、招聘、工作的实际经历,以便学生能深刻感受将要学习的课程不是陈旧的书本理论,不是毫无实际用途的“八股文”,更不是学后可以束之高阁的空架子。

学生学习Java相关课程,可能最近目标是考试及格/拿到高分,远一点目标可能是毕业设计顺利完成,或者实习面试通过,或者考研简历上有一个技能亮点等等。 这对于学生来说才不会固步自封,或者拘泥于教材、课堂,也不局限于知识点的掌握,更可以激励学生在课下有明确的努力方向。

3、 结合课程特点的更多元灵活评价标准

获取知识本身并不难,途径也多种多样,但是深度思考问题、建立思维链和知识体系,大部分学生单靠刷B站、公开课是不够的,或者说不具备这种自制能力。试想一下,老师在课堂上认真讲课,代码演示、与学生互动、举一反三示例讲解等等,如果学生在下面打游戏、玩手机、看视频等等,你能期望他课后会认真看各种学习视频与学习资料吗?

不可否认,在提供信息、解释概念、梳理框架等这些层面不仅仅专业老师可以,AI更是可以,可能还更全面清晰。 老师的知识广度和深度,很难全面超过AI。

在评价学生学习过程与学习效果时,本人并不会强制学生上课交手机,不看手机。 相反,本人会鼓励学生遇到不甚理解、需要举一反三示例讲解的时候,可以多多使用手机查资料、查AI等等。 与其禁止,不如因势利导。

在本人整体Java程序设计课程、流行框架教授过程中,会“精心设计”教学设计过程,引导学生不死记硬背、不生搬硬套,而是以实际理解 + 实际应用为根本目标: ①课程以实践为导向,强调学生动手操作能力(正如编程界依据名言:talk is cheap, show me the code),有机房用机房电脑,自己有电脑安装对应Java环境,实在没有机器也完全可以在纸上写代码,写实现思路(实习、面试也常常需要在纸上写代码思路...)②课程侧重团队学习,鼓励学生通过小组讨论学习,小组分工后进行项目开发来解决实际问题,这不仅仅能够培养学生合作能力和沟通能力,还能真实体验真实的工作场景——实际工作中必然是多人合作共同完成系统开发。③课程重视线上数字资源和平台的使用,教师利用letcode等在线编程平台、学习通等来辅助课程教学,也会使用AI助手(豆包等)探索知识点的扩展使用、举一反三示例、错误使用误区等等,提升课堂效率,让学生不仅仅是听懂了,会用了,更能深究底层原理,知其然更要知其所以然。

4、教学生更强的甄别能力

很多学生拿着AI刷出来的结果不会甄别,很多情况下完全照单全收,即使AI明明给的答案根本文不对题。学生甄别不了AI答案的原因如下:

  • 觉得 AI = 标准答案
  • 不知道从哪些维度检验 AI 输出,看不出逻辑漏洞、事实错误
  • 自己完全没有思路
  • 不知道AI会胡编乱造
  • ...

从本质上来说,学生甄别不了AI答案的最根本原因在于——学生自己不会。但是从甄别能力培养来说,即使不会,也可以逐渐教会学生正确使用 AI 的定位。AI 只能做辅助工具,那么除了让AI给出现场答案外,更重要的是让AI梳理框架、提供思路、补充素材,不能直接输出成品答案。从AI提供的框架、思路、参考素材等等方面也可以窥探AI给出的答案究竟是不是“靠谱”。

在培养学生甄别能力时,本人通常会出一道题,然后放一段答非所问、存在事实错误的 AI 回答、或者多款AI给出了不同的答案,然后让学生分组找出 AI答案的漏洞,并说明错在哪。 AI目前更多是帮专业人更专业学习。

四、写在最后

大多数学生并不天然需要那么深的深度。他们更需要通过考试、完成任务、搞定作业……

作为教师也常常会有无力感,因为很多时候问题的关键并不在于讲得好不好深不深,而是学生自认为自己需不需要学,需不需要学的好学的深。 记得有次上机课上,本人和某名学生交流的时候,学生说自己是从其他专业转过来的(原专业竟然是纯文科,转到了计算机),家里已经给他安排好工作了只等毕业。 从最终结果来说,该名学生可能只需要拿到毕业证, 上机课成绩及格就一切OK,对他而言可能真的没有动力去认真学(可能也真的没有基础,真的听不懂学不会)。这是一个相对比较极端的例子, 可能很多学生有别的原因、理由没有动力去认真学。

美国著名投资家芒格曾引用John Bunyan笔下「真理剑客」的遗嘱:“我的剑留给能够挥舞它的人” 。 本人讲授的“剑” 可能有的学生认为自己不需要,有的认为非常需要,有的认为无所谓需不需要,但无论哪种情况,我都会把剑磨的锋利无比,并把剑的用途广而告之给学生。

最后我也想说:我的剑会留给所有学生,并强调剑的用途,至于学生是否愿意拿着它挥舞就是学生的事了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询