AIGC技术在高职程序设计基础课程教学中的实践探究

2024-09-22 00:00:00郭平幸敏叶文尹江红
广西教育·C版 2024年7期

摘 要:程序设计基础课程是高职自动化类专业开设的一门专业基础课程,为后续自动化专业课程的学习做好准备,而引入生成式人工智能技术辅助教学,可以弥补当前信息化教育技术的不足。教师可从利用AIGC工具生成教学案例、利用AIGC技术生成教学资料、利用AIGC技术提供个性化学习支持、利用AIGC技术辅助教学评价与反馈等四个方面探究AIGC技术在程序设计基础课程教学中的应用。

关键词:程序设计基础课程;高职自动化专业;生成式人工智能技术

中图分类号:G64 文献标识码:A 文章编号:0450-9889(2024)21-0156-05

自动化领域中的许多系统和项目都涉及计算机控制和编程,因此提升编程能力有利于学生更好理解和运用自动化技术。程序设计基础课程是高职自动化类专业开设的一门专业基础课程,讲授编程语言(例如python,C#,C++等)的基础语法和应用,目的是让学生有一定的编程基础,为后续自动化专业课程的学习做好准备。广西水利电力职业技术学院自动化类专业(以下简称“专业”)程序设计基础课程引入生成式人工智能(以下简称“AIGC”)技术辅助教学,以弥补当前信息化教育技术不足,并为学生提供个性化学习支持和丰富的学习资源,提升学生学习兴趣和学习效率。

一、AIGC技术简介

AIGC技术是一种以深度学习为理论基础的人工智能技术,通过复杂的模型训练和海量的数据学习,AIGC可以根据用户输入的提示词,生成与其相关联的内容。OpenAI实验室于2022年11月30日首次向公众开放ChatGPT-3,并在发布的5天内迅速获得了超过100万的订阅量。GPT-3可以生成与人类语言非常相似的文本。GPT-4于2023年3月15日正式公布,它回答的准确性大幅提高,还具备更高水平的识图能力,且更有创意。在GPT-4模型的支持下,ChatGPT可以参与对话,理解和响应自然语言输入,并提供定制和互动帮助[1]。ChatGPT是一种由先进AI技术赋能的自然语言处理系统,借助AI技术,它能够精准地把握对话脉络并据此进行实时交互,从而实现如同真人般的交谈体验。它还能胜任很多工作,例如写邮件、编视频剧本、做营销广告文案,甚至翻译外文资料、编写代码。ChatGPT的面世打响了生成式人工智能竞争的第一枪,国内的科技公司在AI领域也纷纷推出相对应的大模型产品,包括科大讯飞的讯飞星火、百度的文心一言、阿里的通义千问等。

AIGC技术可以应用于自然语言、图像、音视频等诸多领域,正在改变人们的工作和生活方式,也对教育领域产生深刻的影响。

二、AIGC技术在程序设计基础课程教学中的应用

程序设计基础课程是高职自动化类专业基础课程之一,主要内容包括编程语言基础、函数和模块化编程、面向对象编程、项目实践等,目的是培养学生编程的基本技能,提高逻辑思维和解决问题的能力水平。但是在教学过程中发现,部分学生的编程知识和技能水平没有达到预期的教学效果,影响后续专业课程的学习。而在课程教学中引入AIGC技术,创新教学方法,可以有效解决教和学的难题。例如,它可以帮助教师为不同层次的学生制订个性化的教学内容,提高学生的参与度、积极性和学习效率等等。以下是AIGC技术在高职程序设计基础课程教学中应用的四个方面。

(一)利用AIGC工具生成教学案例

教师可以根据学生的学习基础和兴趣利用AIGC工具生成不同类型的教学案例和资源。这样,学生可以获得更多的学习资源,并能更好地理解和掌握知识技能[2]。例如在讲授课程中的“for”语句时,为了激发学生的学习兴趣,同时丰富教学实例,我们可以对通义千问发出指令,要求生成一个有趣的游戏案例,如图1所示。

AIGC工具能根据学生的学习情况和水平生成适合他们的教学案例和实例。教师在备课时,可以利用AIGC工具,根据所教班级学生掌握知识的情况,生成不同难度的实例供学生学习和练习。依此,可以确保教学内容既能满足班级整体的教学进度,又能照顾到学生个体差异,规避“一刀切”的教学模式可能导致的部分学生“吃不饱”、部分学生跟不上的现象。当然,教师仍然需要审查和修改AIGC工具生成的教学案例和实例,以确保其准确性和适用性。

(二)利用AIGC技术生成教学资料

利用AIGC工具,提出特定的教学要求或问题,能生成符合预期的教学资料。这些资源可以包括教学课件、教案、练习题、实验指导书、知识点总结图表等。例如在生成教案时,输入的提示词需要指定课程的一系列关键信息,写明具体的课程信息、简明的课程内容、学情分析、教学目标(包括知识目标、能力目标和素质目标)、教学的重难点和课程思政要求。其中,学情分析环节不可或缺,它可以明确学生的学习背景、知识水平、兴趣偏好甚至学习中潜在的问题,这样才能确保生成的教案设计贴近学生实际,因材施教。例如,为了让学生清晰理解、掌握知识点,可以让AIGC工具生成一些总结性的图表、顺口溜,以帮助学生理解和记忆。在讲授完列表、元组、字典3种组合数据类型后,很多学生容易对它们的用法和特点产生混淆,这时就可以利用AIGC工具生成一个对比图表,帮助学生更好地区分它们之间的异同,通义千问生成的知识点对比表(如表1所示)。

(三)利用AIGC技术提供个性化学习支持

基于AIGC技术衍生的AIGC工具可以根据学生的学习情况和需求,提供个性化的学习支持,这样可以帮助基础相对薄弱的学生掌握编程语言,同时也是学生自主学习非常有用的工具。

一方面,AIGC工具可以推荐个性化的学习资源。传统搜索引擎如百度、谷歌,通常会返回给用户大量相关网页链接的列表,学生需要逐一点击进入,筛选、阅读不同来源的信息,获取信息的准确性在很大程度上依赖于用户自身的搜索技巧和信息筛选能力。专业基础不够扎实的高职学生,在搜索专业问题时,有时候他们很难筛选、辨析需要且正确的结果。而AIGC工具作为一种人工智能驱动的工具,采用“点对点”的信息供给模式,可以方便学生访问信息。与传统的搜索引擎相比,AIGC工具直接提供一个书面的答案,而不仅仅是一个来源列表,大幅度降低学生正确判断的难度。这意味着可以节省学生的学习时间,提高学习效率。

另一方面,AIGC工具能与学生进行理解技术点的“启发式对话学习”。“启发式对话学习”强调学生主动思考与提问,而非被动接受式的学习。这可以培养学生的自主学习能力和解决问题的能力,使他们成为终身学习者和创新思考者,而不仅仅是被动填装知识的容器。AIGC工具能记住问题的上下文,并可以为学生的后续问题提供相关的回答,如同与一个真实的人类导师对话。这个特性在和学生之间的交互对话学习中非常有用,它可以确保对话教学的连贯性与精准性。在对话中,学生可以要求进一步解释前面的回答,甚至在错误的情况下进行纠正。“启发式对话学习”使学生在学习编程时不再只是使用静态的文字和视频资料,而是能够通过这种互动式学习获得实时反馈,增强参与感。如图2所示,学生可以围绕课堂上的内容,与AIGC工具进行对话学习,深入探究所学知识点。AIGC工具提供的即时反馈和详细的指导,让学生有更好的学习体验。

再者,AIGC技术能以简洁、易懂的方式提供各种编程概念(如数据结构、算法和编程语言语法)的解释和示例。在讲解算法时,AIGC技术能够将抽象的排序算法、搜索算法等转化为易于消化的步骤解析和可视化演示。AIGC能够简化复杂的算法逻辑使之一目了然,使学习者能够直观学习算法运行的过程,理解其背后的原理与思路。同时,AIGC还可以生成配套的练习题目,鼓励学生通过动手实践巩固所学知识,提升算法应用能力。在讲解编程语言语法时,AIGC技术能够针对编程语言,精准讲解语法规则、控制结构、函数、类和对象等核心要素,帮助学生掌握编程语言语法。例如,教师可以要求通义千问提供对某段程序的解释,这对学生学习编程语言的语法很有帮助。

学生编写的程序如下:

price=[399,4369,539,288,109,749,235,190,99,1000]

temp=[]

max_price=int(input("请输入最大价格:"))

min_price=int(input("请输入最小价格:"))

for i in price:

if min_price <= i <=max_price:

temp.append(i)

print("1.价格降序排序")

print("2.价格升序排序")

choice_num=int(input("请选择排序方式:"))

if choice_num==1:

temp.sort(reverse=True)

else:

temp.sort()

print(temp)

以下为通义千问提供的程序解释(如图3所示,见下页)。

此外,AIGC工具还可以在程序调试中提供帮助。对编程学习者而言,查找与调试程序错误是一项既考验耐心又耗费时间的工作,常常需要细致地检查每一行代码以甄别语法错误和逻辑错误。利用AIGC工具不仅可以识别代码中的错误,还能提供修改方案。例如,学生可以这样对AIGC工具提问:“这段代码有bug吗,怎样才能修复bug?”AIGC工具就会给出有价值的建议、修改后的代码片段,甚至给出完整的代码,减少学生在代码调试过程中的工作量,提升学习效率。通过观察AIGC工具如何修正错误或优化代码,学生可以更直观地深刻理解编程语法。AIGC工具还会提出关于编码规范、命名规范等方面的建议,帮助学生养成良好的编程习惯。因此,学生通过这一过程可以巩固编程语言的语法基础、提升代码阅读和理解的能力。例如,利用AIGC工具分析下面程序中存在的错误(如图4所示)。

def f(x,y,z):

return x+y+z

args=(1,2,3)

print f(args)

(四)利用AIGC技术辅助教学评价与反馈

在教学过程中,教学评价和反馈有着非常重要的作用,它可以提高教学质量和促进学生发展。传统的考核评价方法往往忽视学生的学习特性。每个学生都有自己的学习风格和学习进度,用整齐划一的评价方式难以充分考虑个性化因素,这样一来,评价结果的客观性和准确性自然会打折扣[3]。采用AIGC工具作为教学评价和反馈工具可以帮助教师高效地了解学生的学习状况,了解学生在学习中遇到的各种问题,从而更为准确地进行指导;AIGC工具还可以提高教师工作效率,节省教师时间。

例如,可以将学生编程作业输入通义千问中进行评价,令其分析程序代码的质量,包括代码结构、语法错误、逻辑错误等方面。教师根据反馈,要求它给出相应的改进意见,以帮助学生改进程序;同时可以要求它根据编程错误创建针对性的编程练习,以提高学生的编程水平;教师则可以直观地从反馈结果了解学生知识点掌握的情况,提升了教学效率。

如以下为教师通过一系列的提示语,引导通义千问对学生的编程作业进行评价与反馈。提示语中必须给出学生的教育背景、作业的准确要求以及评价标准。下面为所用的提示语。

①你现在的任务是对高职电气自动化技术专业二年级学生编写的python程序打分。

②将学生的成绩划分为三个等级:完全正确、基本正确和错误,分别对应打10分、6分及0分。

③最后,给出你的评分和评价,并给出必要的指导建议和改进意见。

输入学生编写的程序到通义千问中进行评估。

程序题目:获取用户输入的一个百分制成绩,并给出对应的A、B、C、D、E五个等级。如图5所示。

学生编写的程序如下:

score=float(input("请输出一个百分制成绩:"))

if score>=90.0:

grade="A"

elif score>=80.0:

grade="B"

elif score>=70.0:

grade="C"

else:

grade="E"

print("对应的五分制成绩是:{}".format(grade))

利用AIGC工具对学生进行水平评估需要注意的是,AIGC工具可能存在一定的误差和局限性。因此,需要结合教师自身的专业知识和判断能力,确保评估和反馈的准确性和有效性。

三、教学效果分析

为了验证AIGC技术在课程教学中的积极作用,教学团队在2023年秋季学期对高职电气自动化技术专业开设程序设计基础课程的大二年级学生进行了一项实验研究。研究采用对照实验设计,将两个班的学生分成两组:实验组和对照组。实验组采用通义千问作为辅助教学工具,而对照组采用传统的一体化教学模式。通过比较两组学生的成绩和问卷调查,评估AIGC技术作为编程教学工具的有效性。

学期结束,教学团队以问卷的方式对实验组、对照组两组学生进行调查。在本次问卷调查中,针对两组学生分别发放43份的调查问卷,并确保每一份都在现场发放并及时回收,回收率与问卷有效率为100%。问卷内容包括:学生对教学方法的满意度、对程序语言理解、提高学习兴趣、提高学习效率、提高自学能力、提高分析问题和解决问题能力六个方面(问卷结果见表2)。从结果来看实验组在所有调查内容上的正面反馈均超过对照组,特别是在教学方法满意度、提高学习效率方面学生满意度尤为突出。

同时,教学团队还对两组学生的成绩进行了对比。从实验组和对照组的考试结果分析来看,实验组学生平均分数高于对照组9.42分,差异具有统计学意义(P<0.05),如表3所示。

通过比较两组学生的问卷调查和成绩,评估AIGC工具作为教学辅助手段的有效性。结果表明,借助AIGC工具作为教学辅助手段可以提高教学质量,加深学生对程序代码的理解,激发学生学习兴趣。

综上所述,通过为学生提供个性化和富有吸引力的学习体验,AIGC技术能有效地提高教学质量。同时,AIGC技术能理解学生的个体差异,精准识别他们的学习需求,能打破传统“填鸭式”的教学模式,生成丰富多样的学习资源,激发学生学习兴趣,提高学生学习效率。随着人工智能技术的不断发展和进步,它会成为推动职业教育创新发展越来越重要的工具,因此教师应持续关注和评估其对职业教育的影响。

参考文献

[1]彭绍东.AIGC时代基于双向赋能的人工智能教育创新框架[J].教育文化论坛,2023,15(4):12-26.

[2]陈静远,胡丽雅,吴飞.ChatGPT/生成式人工智能促进以知识点为核心的教学模式变革研究[J].华东师范大学学报(教育科学版),2023,41(7):177-186.

[3]叶春菊.“多元化、全程式”高职英语课堂教学评价研究[J].中国多媒体与网络教学学报(中旬刊),2023(9):93-96.

注:本文系2023—2025年水利职业教育研究课题“三教改革视域下水利职业院校教师教学能力提升实践研究”、广西水利电力职业技术学院2022年学院重点科研项目“基于物联网技术的摄像头运维管理系统研究”(2022kyzd03)的研究成果。

(责编 罗异丰)