0 引 言
随着大数据时代的到来,计算机程序设计课程已经进入各个专业领域,C 语言、C++ 、Java 、JSP、PHP、嵌入式程序设计等课程是计算机及相关专业人才培养中重要的基础课或专业课[1],其学习效果直接影响专业的其他后续课程,也是体现学生专业技能以及未来就业能力的重要课程。计算机程序设计教学目前存在着很多问题。① 师少生多,教师精力有限,很难为全部学生一一解答问题,部分学生无法得到指点。② 学生的学习需求是动态变化的,而对应的教学资源更新不及时,无法满足学生需求。③ 教师往往仅凭自己的主观教学经验来判断学生的知识学习水平,缺乏量化评价手段。④ 以往的教学只注重学生“记得住,考得好”,忽略了对学生思维能力、创新意识的培养。为了解决上述问题,计算机程序设计课程体系要突破传统的思维模式,构建新的教学模式,着重提高学生程序设计的应用综合能力;对标工程教育认证解决复杂工程问题的要求,通过程序设计的学习实践,着重培养学生的工程思维和实践能力;在明确新文理科对信息科学需求的基础上,通过程序设计的学习实践,着重培养其逻辑思维和设计思维,实现以学生为中心的学习指导个性化和智能化,从而提升学生学习的有效性。
1 以学生为主体的 AI 辅助的教学体系
AI 技术在教育领域的渗透打破了传统教学模式,加强了“以学生为中心,以能力提升为主导”的教学模式。许多专家学者致力于 AI 辅助教学系统的开发[2-3],但目前大多数系统只是在被动地回答学生问题,学生能获得的反馈信息往往只是针对此问题的单一答案。
基于知识图谱的 AI 辅助教学系统以 C 程序设计课程为对象,根据关键字,从知识图谱中提取关联知识,按照从易到难的程度,给学生引导性提问,有针对性地检验学生对相关知识的掌握情况,对薄弱点进行讲解,并给出相关训练;同时可以使学生通过 AI 辅助教学系统处优势空间、占优势时间、用优势方式、学优势内容,从而实现个性化的高效学习,真正达到建设基于 OBE 理念的以学生为中心的金课要求,为学生在其学习阶段打下更宽厚的知识基础[4]。
提升学生的能力,要使其在不断实践的过程中体会程序设计的方法,加深对程序设计理论的理解。程序设计课程注重实践和方法[5],采取“实践—抽象—设计—再实践”的教学路线。AI 辅助教学体系在教学内容的设置上,以学生能力为基准,以验证、模仿的内容为主,通过不断实践,体会程序设计的方法[6]。教学重点是培养学生的思维能力,对问题的抽象与设计是学生能力提升的关键途径,要求能够针对具体的问题,抽象出程序设计的相关要素,设计出解决的方法。学生在程序设计训练题目上的实践,经过 AI 平台验证,帮学生查找出设计漏洞,并给出相关知识点和训练题目,让学生反复实践,培养学生自我洞察问题的能力,训练不同级别的逻辑
思维[7]。
如图 1 所示,基于 AI 辅助教学的计算机程序课程体系从教学方法和教学内容上进行架构。教学方法涵盖理论教学与实践教学。理论教学为实践教学之基础,它以学生为主体,从课前课中课后进行设计,做到及时答疑、精讲多练。实践教学实现分级训练,基础编程训练语句规范能力,拓展编程训练学生思维逻辑和创造能力。基于知识图谱的 AI 辅助教学体系为实践教学提供强有力的支撑,包含 3 个模块:基础知识咨询、教学疑难反馈和能力拓展提升。AI 辅助教学体系的反馈模块是理论教学优化的依据,为后续理论教学以及 AI 辅助教学系统改进提供思路。
1.1 教学内容设计
在教学内容方面,将 C 程序设计的教学内容分为 3 个模块:第 1 个模块为“基础模块”,主要包括程序设计语言的基本概念、基本要素;第 2 个模块为“核心模块”,主要包括函数、模块化程序设计、数组、指针、文件等;第 3 个模块为“进阶模块”,主要包括结构体、共用体、枚举类型、用户自定义类型等。教学内容从第 1 个模块切入,逐渐扩展到第 2 和第 3 个模块。
1.2 教学方法设计
1.2.1 理论教学环节
(1)课前基础。开课前,教师发布各个知识点的学习目标和学习任务清单,学生进行自主预习,遇到疑难点,可先通过 AI 辅助教学系统解答疑惑。 AI 辅助教学系统将学生问答进行分类总结,形成文档,反馈给教师。教师根据系统反馈适当调整授课重点。
(2)课中深学。针对 AI 系统反馈,教师对学生的共性疑难问题进行解析,对重难点内容进行针对性讲解,并将所讲内容以知识点为单位进行汇总,对 AI 系统中的知识图谱对应知识点实体的属性进行更新,不断演化知识图谱,提高咨询系统回复的精准性及针对性。教师在课堂中对学生进行能力拓展训练,并在系统的能力拓展区发布个人或者团体拓展任务。
(3)课后拓展。通过以上两个环节,学生对本节课内容已基本掌握,如学生仍存在疑问,可再次询问 AI 系统,系统能够根据学生的问题生成针对性的回复,并根据主动式问答方式,围绕学生所提问知识点,对学生进行主动提问,以挖掘学生薄弱点,帮助学生更好地理解其所提问题。教师在课后关注学生拓展区域,实时指导学生,使其提升逻辑分析能力,在实际问题中锻炼思维能力,积累工程经验。
1.2.2 实践教学环节
1)基础编程。
基础编程阶段的主要任务是提高学生的基本语句和基础语法的规范性,学生往往在基础程序编写过程中存在着大量的语句、语法错误,比如将头文件 #include<> 编写为 include<>、语句结束时未加“;”等,这是因为在经过理论教学环节学习后,学生已经掌握了一些基础编程题的思想,但由于缺乏实践,导致学生在编程时“手生”,这类错误普遍存在且不易被发现。
AI 系统针对此类问题有针对性地为学生提供相关训练习题,例如“三个数比大小”“判断闰年”等,如若学生在编写程序过程中遇到问题,可通过咨询 AI 系统,将程序复制到系统中,由系统分析,指出问题,给予引导,巩固学生的基础知识。
2)拓展编程。
拓展编程阶段的主要任务是锻炼学生的编程思维、编程逻辑。拓展区的编程旨在将教学中的基本知识点带入工程性问题,分层进行训练,培养学生解决工程或者实践问题的逻辑思维, AI 智能系统根据学生完成题目熟练度以及题目难易程度,在一段时间内给学生一个能力评估,分析学生能力结构,对要提升的知识点和能力给予引导,为后续训练做好准备。总之, AI 拓展编程让学生自己去探索方法,形成自己解决问题的逻辑,正所谓“授人以鱼不如授人以渔”,以达到教学目的[8]。
AI 辅助教学体系在完成设计后,程序设计课程的教学环节从教师教为主转为学生学为主,教师从主导位置转为辅助位置,学生的学习节奏以自我为主,课堂以学生的需要为指针,在理论和实践教学方面都进行了大幅度调整。

2 学生成绩反馈 AI 辅助教学系统的效果
AI 辅助教学系统对学生在程序设计上的协助效果会影响系统的推广。在 AI 辅助教学系统使用初期,选取 480 名学生进行对比性实验,一部分使用AI辅助教学系统(实验组, 236人),一部分不使用 AI 辅助教学系统(对照组,244 人)。在课程开课之前,为了衡量各组的初始水平,通过试卷测试的方式对各组学生进行了初始水平测验,测验内容均为计算机基础知识,然后对测验成绩(满分为 100 分)进行分析,由于样本数量较大,可以认为符合正态分布,进而采用 SPSS 软件进行统计学处理,选取显著性水平 α=0.05 ,运用独立样本 t 检验对实验组和对照组学生的成绩进行比较。检验结果见表 1 。可以看到,实验组与对照组分数的均值( Mean )与方差 (SD) 相似,t 检验的结果(p=0.483>0.05)表明两组学生在实验前的知识水平无显著性差异,可作为实验对象。
H 大学的 C 程序设计课程期末测验满分为 100 分,考试形式为闭卷笔试,着重考查基础知识、概念掌握情况以及问题分析与理解能力,以柱状图的形式对实验组与对照组的期末测验成绩进行展示(如图 2 所示)。可以看到,在期末测验中,实验组学生成绩在 80 分以上的人数要比对照组多出近 34% ,实验组学生仅有 8 名学生低于 70 分,从整体上看,实验组的期末成绩比对照组要好。
将实验组与对照组学生期末成绩进行差异性检验,结果见表 2 。可以看出,实验组学生平均成绩均要高于对照组,且 t 检验的结果 (p=0.01<0.05) ,表明两组学生的成绩存在显著性差异。
通过以上数据可以判定,在 C 程序设计课程教学中使用 AI 辅助教学系统进行协助学习对学生成绩的提升起到了一定的帮助作用。
进一步地,为衡量学生在各类题型上的表现,将期末试题划分为概念性试题 (60%) 和理解性试题 (40%) ,概念性试题主要考查学生对基础知识的掌握情况,理解性试题主要考查学生的逻辑思维能力。对各组学生在各题型上的具体得分情况进行统计分析(见表 3 )。可以看到,对于概念性试题,虽然实验组的平均成绩高于对照组,但 t 检验的结果 (p=0.227>0.05) 没有出现显著性差异。在理解性试题方面,实验组的表现要显著好于对照组,这是因为,经过 AI 辅助教学系统的自主学习,学生在掌握基础知识的同时,会对程序逻辑、程序设计等有更深的理解,故在理解性试题上有更好的表现,而概念性问题考查偏基础,对照组学生通过学习也可掌握,故两组学生的概念性试题得分没有显著差异。
3 学生体验调查反馈 AI 辅助教学系统的影响
采用 Likert5 点量表, 12 个测量题项,知识学习、技能学习、态度学习 3 个维度,以问卷的方式对实验组学生进行了调查,了解 AI 辅助系统的教学效果,共发放 236 份问卷,回收有效问卷 224 份。将各题项测量数据按照维度进行划分,对维度内各选项的频数进行相加,得到各维度的整体选项分布情况(如图 3 所示)。可以看到,在各个维度,大多数学生持赞同的态度,表明学生整体学习成效良好。
4 基于 AI 辅助的教学体系优化
4.1 理论教学优化
在理论教学环节,通过 AI 系统收集学生在日常练习与期末考试中的表现数据,包括得分、错误类型、答题时间等,这些数据经 AI 系统分析后可以帮助教师了解学生对不同知识点的掌握情况。对于学生的共性薄弱知识点,可以通过知识图谱来表示与组织,以便使学生更好地理解它们的关系和依赖性。可以对应地在知识图谱中增加与薄弱知识点相关的信息,例如示例、重难点等,对知识图谱进行改进。以图 4 为例,当学生对指针掌握程度较差时,将增加指针的示例和重点知识;而根据教学经验,学生对某一知识掌握不足时,也很有可能是因为对此知识点的前驱知识掌握不牢固,因此,在图 4 中,地址作为指针的前驱知识,也会相对应地增加辅助学习知识。
同时,根据学生的表现情况,对教学大纲各章节的课时安排进行动态调整(见表 4 )。对于那些学生通过 AI 辅助容易掌握的章节,可以压缩一些冗余内容或简化一些概念来缩短课时,把时间精力投入到重难点部分。
4.2 实践教学优化
由于学生的初始编程能力和掌握程度不同,为了让每个学生都能够在适合自己的能力范围内学习编程,可以通过 AI 系统动态调整各层次习题占总习题的权重。以图 5 为例,学生在练习“一维数组的应用”时,将编程习题分为容易、中等和拔高 3 个层次。在学生完成基本训练之后, AI 系统会根据学生的表现和掌握程度,自动调整各层次习题占总习题的权重。如果学生的表现较好,系统会增加中等和拔高难度的习题的占比,以提高学生的学习难度和挑战性。如果学生的表现较差,系统会减少中等和拔高难度的习题的占比,以降低学习难度,提高学生的学习兴趣,当学生通过逐渐积累的练习达到比较熟练的层次后,再进行下一知识点“二维数组的应用”练习,同样采取与之前相同的练习模式。
通过动态调整各层次习题占总习题的权重,可以为学生提供个性化的学习体验,帮助学生更好地掌握编程技能并提高编程水平。同样,在实践教学课时方面,根据学生的表现情况也作出相应调整(见表 5 )。
5 结 语
AI 辅助教学的计算机程序设计课程体系以学生为中心,以能力提升为主导,重构并优化程序设计课程教学方案,通过主动引导,分层训练,动态优化,在夯实基础的同时,着重培养学生的思维能力和创造能力。在教学实践中,引导学生自主探究相关问题的关键所在、重点所在,通过发现问题,以科学方法去规范、提升学生分析与解决问题的能力。同时,鼓励学生在实践中主动创造,培养其实践能力、创新能力,为未来的学习与职业发展打下坚实的
基础。
在未来,辅助教学可以与大模型相结合,利用大模型涌现出的泛化能力、生成能力重塑教育生态[9],为学生提供更加智能化、个性化和高效化的学习体验与教学服务,拓展教育的发展空间和可能性。
参考文献:
[1] 刘茜, 何钦铭, 颜晖, 等. C语言程序设计课程的优秀教材建设[J]. 计算机教育, 2022(7): 205-208.
[2] Tang P, Liang Q, Yan X, et al. GP-CNN-DTEL: Global-part CNN model with data-transformed ensemble learning for skin lesion classification[J]. IEEE Journal of Biomedical and Health Informatics, 2020, 24(10): 2870-2882.
[3] 朱卫平, 林海, 谢榕, 等. 智能问答系统在高校课程教学中的应用[J]. 计算机教育, 2019(10): 23-26.
[4] 吴林志.“四维度”新工科人才培养模式构建与实施路径研究[J]. 黑龙江高教研究, 2022(8): 151-155.
[5] 郑重, 王雷, 谭立湘, 等. 计算机程序设计分层次协作型实验教学模式[J].实验室研究与探索, 2022, 41(5): 188-191.
[6] 宋友, 李莹, 肖文磊. 面向大类培养的程序设计“金课”建设思考[J]. 中国大学教学, 2019(11): 61-65.
[7] 符水波. 中学生学习力培育的课堂实践探究: 以程序设计课堂教学为例[J]. 现代教育技术, 2018, 28(6): 115-121.
[8] 杨兵, 尹加琪, 杨旸, 等. 现状与发展: 智能问答机器人促进学习的反思[J]. 中国电化教育, 2018(12): 31-38.
[9] 吴砥, 李环, 陈旭. 人工智能通用大模型教育应用影响探析[J]. 开放教育研究, 2023, 29(2): 19-25, 45.
基金项目:河南省高等教育教学改革研究与实践项目(2021SJGLX393);河南省本科高校智慧教学专项研究项目“基于AI 的程序设计课程群个性化学习及质量评价研究”;河南工业大学本科教育教学改革研究与实践项目(JXYJ2021044);Innovative Funds Plan of Henan University of Technology(2022ZKCJ02);河南工业大学研究性教学课程立项建设项目(2023YJXJX-10)。
作者简介:肖乐,男,河南工业大学副教授,研究方向为自然语言处理、智慧教育,xiaole@haut.edu.cn;邓淼磊(通信作者),男,河南工业大学教授,研究方向为教学改革、智能计算,dml_1978@foxmail.com。
引用格式:肖乐,单昕,邓淼磊.基于AI辅助教学的计算机程序设计课程体系[J].计算机教育,2024(7):134-139,146.
文章头图由“智谱清言”绘制而成。
(完)
更多精彩: