基于生成式人工智能的高中Python教学实践研究
2024-12-18叶红霞
摘要:本文将生成式人工智能作为工具应用到编程教学中进行高中Python教学实践研究。研究表明,基于生成式人工智能的Python教学,可以显著提升学生的编程自我效能感和学习效果。
关键词:生成式人工智能;Python;自我效能感;CodeGeex
中图分类号:G434 文献标识码:A 论文编号:1674-2117(2024)24-0062-04
引言
生成式人工智能的出现给编程教学带来了机遇与挑战,在编程教学中,生成式人工智能技术可以作为辅助工具,进行智能调试与编写,启发设计思维和创意思维,支持沉浸体验和个性化实践教学,但是也有可能导致学生过度依赖智能工具,失去独立编程能力。[1]所以,智能工具的引入,其最终目的都是实现“人机共强”,在提高学习效果的同时促进学生核心能力的发展。因此,如何将现有的智能工具和编程教学结合起来,如何选定课程内容和进行课程设计及实施才是研究的重点。在中小学编程教育中,Python语言因其简单的特性成为学生学习编程的首选语言,高中信息技术学业水平测试以及浙江省高考更是将Python语言作为考试内容,可见Python语言学习的重要性。但在大多数的信息技术课堂中,教师往往都是教授主义的实践者,抄写代码或者是程序填空,导致学生制品千篇一律,没有创新。因此,本文尝试在Python语言教学中引入人工智能编程助手,探究生成式人工智能的辅助对学生的编程自我效能感和学习效果的影响。
我国生成式人工智能编程工具的研究现状
很多学者对人工智能编程工具在教学中的应用进行了研究。姜春茂和段莹提出了ChatGPT在计算机实践教学中的SWOT矩阵,从优势、劣势、机会和威胁四个方面进行了详细的分析,针对劣势提出了应对策略,争取实现人机和谐发展。[1]
张华峰在《数据结构》一课中使用了CodeGeex辅助软件开发生成式AI产品,发现可以提高教学质量和学生的学习效果,等等。[2]
由学者的探究可见,当前在编程教学中引入生成式人工智能工具的相关研究尚处于初步阶段,还需要不断探索。ChatGPT可以根据文本提示编写代码,但是需要使用者进行优化,后来又出现了人工智能驱动的结对编程编辑器,如CodeGeex。CodeGeex是由清华大学知识工程实验室团队主导研发的AI代码生成工具,拥有强大的多语言代码生成与理解能力和更优秀的中文理解能力,可以根据自然语言描述的功能自动生成代码,也可以根据已有的代码进行续写,还可以添加逐行注释,让代码变得更容易理解。同时,支持智能问答,当遇到技术性问题时,可以以对话的方式向CodeGeex提问,不需要离开IDE去搜索引擎寻找,所有的功能都可以集成到Python开发的工具Pycharm中,让学生可以沉浸在代码编写环境中,专注于编程,提高学习专注度。
准实验研究设计
1.实验假设
基于生成式人工智能的高中Python编程教学比不使用生成式人工智能的高中Python编程教学更有助于提升学生的编程自我效能感和学习效果。
2.实验环境
信息技术机房中计算机设备搭载Pycharm软件并且汉化,Pycharm是专为Python设计开发者设计的集成开发环境(IDE),具有丰富的功能。实验组在Pycharm的基础上安装CodeGeex插件,可以在生成式人工智能的帮助下进行编程,对照组则直接使用Pycharm软件进行编程,其他环境保持一致。
3.实验对象
研究对象为笔者所在学校高二年级的两个班(实验组和对照组各30人),两个班均是物化生选科班,按照成绩和性别均衡分班。高一阶段学生学过Python的基础语法,有一定的编程基础,两个班级授课教师相同,可以认为实验组和对照组两个班级的初始能力相近,不具有差异性。
4.实验工具
对于编程自我效能感的变化,选取香港教育大学江绍祥教授开发的量表,量表内容围绕计算思维的编程知识、编程技能展开,共有15道题目,总分75分,采用的是李克特五点计分法。[3]在实验后进行编程自我效能感问卷调查,通过独立样本T检验,检验实验组和对照组实验后编程自我效能感的平均值是否存在差异。
对于学习效果的分析,一方面,在每一轮学习活动结束后,对学生的Python作品进行分析打分,包含作品原创、艺术展现、交互体验、程序技术四个方面,四个方面各25分,满分100分,比较学习过程中的学生作品的分数;另一方面,在课程结束后进行Python知识测试,满分100分。最终通过过程性评价得分和总结性评价得分的平均成绩分析学习效果。
5.实验过程
本实验由笔者同时授课,共有八大主题,16个课时,一周两节课,前后各一节课进行评估。采用准实验研究,随机选取一个班作为实验组,一个班作为对照组,实验组采用基于CodeGeeX软件的Python教学环境,对照组则采用普通Python编程教学环境,实验后进行自我效能感问卷调查和Python作品分析和编程测试。
6.教学内容设计
高二年级的学生在高一已经系统学习了信息技术必修1的内容,掌握了Python的基础语法(分支结构、循环结构、函数、基本数据结构、基础算法等),所以在内容的设计上,笔者以必修1的知识为基础,进行复习和拓展,如下页图1所示。
图1中共有八个主题。主题一是循环结构,通过斐波那契数列的求第n项和前n项和,让学生理清循环的概念;主题二是列表遍历,通过恺撒密码加密和解密的例子让学生掌握循环遍历列表的方法;主题三是二分查找,通过巧翻字典和猜数字的游戏,让学生知道二分查找的原理和适用场景;主题四是迭代与递归,通过汉诺塔游戏和辗转相除法两个例子,对迭代和递归过程进行深度剖析;主题五是队列与栈,通过订单数据处理程序和单车道死胡同停车管理程序,让学生了解队列先进先出和栈先进后出的思想;主题六是数与二叉树,通过二叉树的信息加密和解密的例子,让学生学会二叉树的基本性质以及前序遍历、中序遍历和后序遍历三种遍历方法;主题七是简单排序算法,通过选择冒泡排序法和快速排序法,让学生对交换类的排序算法有一个基本的认识;主题八是数组与链表,通过车牌摇号问题和约瑟夫问题让学生学会数组和链表的基本操作和思想。
实验结果与分析
在实验结束后,笔者对学生的编程自我效能感后测、Python作品分析和Python知识测试的数据进行了分析。
1.编程自我效能感测评结果分析
本研究采用独立样本t检验来探究实验组和对照组在编程自我效能感测试题得分上的差异情况,得分越高,则学生编程自我效能感越高。
实验组的平均得分为61.6、标准差为4.99,对照组的平均得分为58.57、标准差为4.57,t值为2.46,p=0.02<0.05,这说明实验组与对照组的学生在编程自我效能感得分上存在显著性差异,且实验组优于对照组。因此可以说明,基于生成式人工智能的编程学习能够显著提升学生的编程自我效能感。
2.Python作品和测试得分结果分析
在每个主题学习之后笔者都会对学生的Python作品进行打分,并且计算每个班级的平均分,最后还会进行测试。笔者对学习活动结束后实验组和对照组Python作品和测试评价得分进行记录,如图2所示。
从图2中可知,除了主题一,其他主题Python作品得分实验组都优于对照组,而且随着学习的进行,实验组得分优势更加明显。在最终的测试中实验组的得分也高于对照组,说明基于生成式人工智能的Python编程比不使用生成式人工智能的Python编程的学生作品更优秀。
结语
本研究基于CodeGeex智能编程助手插件,探究基于生成式人工智能的Python编程教学和不使用生成式人工智能的Python编程教学的差异,最终发现基于生成式人工智能的编程教学有助于提升学生的编程自我效能感和学习效果。
当然,本研究也存在一些不足:①学生对CodeGeex插件的使用不熟练,不能完全挖掘出它的所有功能,所以可以尝试多进行几轮教学,最大化地发挥新技术的功能。②学习难度较大,高中阶段的编程学习,涉及较多的算法,需具备一定的数学基础,在教学中可以给学生更充裕的时间进行课前复习,以更好地发挥学生学习的主观能动性。
生成式人工智能时代已经到来,作为生成式人工智能时代的教师,一定要时刻保持对新技术的敏感性和学习能力,及时跟进和掌握新的编程语言和工具,并将它运用于课堂上,同时也要提升跨学科整合能力,帮助学生建立全面的知识体系,以应对不断改革的未来。
参考文献:
[1]姜春茂,段莹.ChatGPT背景下的计算机实践类课程改革初探[J].实验技术与管理,2023(12):1-7.
[2]张华锋.生成式AI辅助“数据结构”教学研究——以CodeGeeX为例[J].互联网周刊,2024(06):73-75.
[3]KONG S C,CHIU M M,LAI M,et al. A Study of Primary School Students’Interest,Collaboration Attitude,and Programming Empower ment in Computational Thinking Education[J].Computers and Education,2018(127):178-189.
作者简介:叶红霞,硕士,一级教师。
基金项目:江苏省教育学会“十四五”教育科研规划2022年度立项课题“基于Minecraft游戏的结对编程教学实践研究”(编号:22A04JSSZ254);苏州市教育科学“十四五”规划2023年度课题“基于‘科学’+理念推动学生信息科技素养发展研究”(项目编号:2023/lx/02/063/07)。