梅香香 蔡小丹 朱阳燕 吴芳 陈虹云
摘要:ChatGPT作为一种创新的教学工具逐渐引起了广泛关注。该工具在编程教学中具有许多创新潜力。首先,文章介绍了生成式人工智能模型在编程教学中的潜在优势。其次,文章积极探索教学创新方法,在编程课程中融入生成式人工智能模型进行案例实践分析。最后,文章展望了生成式人工智能模型在计算机编程教学中未来可能的发展方向,期望为教育者和研究者提供有益的思考,促进生成式人工智能模型在计算机编程教学中的更广泛应用。
关键词:生成式人工智能模型;教学创新;计算机编程;案例实践;ChatGPT
中图分类号:TP18 文献标识码:A
文章编号:1009-3044(2024)14-0032-03 开放科学(资源服务)标识码(OSID) :
0 引言
随着人工智能技术的发展,新工具和应用不断涌现,逐渐影响着传统的教学和学习方法。以ChatGPT 为代表的生成式人工智能模型作为一种新颖而引人注目的技术,正在逐渐崭露头角,为计算机编程的教学创新与实践带来新的可能性。本文旨在深入探讨生成式人工智能模型在计算机编程中的教学创新和实践。生成式人工智能模型在教育领域具有广泛的潜在用途,包括提高学生学习效率、增强学生参与度、提供个性化学习体验、促进即时反馈与学生互动等,为教育者提供了有效的教学工具,有助于提高学生的学习效率和优化学习效果。
1 生成式人工智能模型在编程教学中的潜在优势
1.1 学生的角度
在编程教学中,学生通过与生成式人工智能模型问答互动,能够增加个性化学习体验,激发学习动力和提高学习参与度。首先,实现自主学习。在使用生成式人工智能模型环境中,学生不仅可以完成个性化的编程任务,还可以合理分配时间,控制学习节奏,更好地学习编程知识。自主学习方式增强了学生对学习过程的控制感,激发了学习的主动性。循序渐进的个性化指导和及时反馈能够鼓励学生自我反思和自我调节。其次,个性化互动体验[1]。学生与生成式人工智能模型的互动体验,能够提高学生对知识的参与度和互动,使学生更容易沉浸在编程学科中。通过对话,学生可以提出问题、寻求帮助,促使学生更积极地参与编程学习中,提升学生的积极性和成就感。第三,锻炼实际应用能力。生成式人工智能模型可以模拟实际编程环境,生成实际案例,帮助学生将理论知识应用于解决实际问题,有助于培养学生的解决问题能力和实际编程技能。第四,帮助弱势群体。对于特殊教育的学生或有学习焦虑的学生而言,生成式人工智能模型能够帮助有阅读障碍学生提高学习环境的交流能力和阅读理解能力,帮助孤独症学生营造轻松学习环境,充分发挥其学习潜能[2]。人机交互的环境还可以让成绩较差的学生感到自信,减少尴尬和焦虑,增强对学习的信心。
1.2 教师的角度
在教学活动中,生成式人工智能模型可以支持和丰富教师的教学全过程。首先,助力个性化教学。将生成式人工智能模型融入教学活动能够提高教师自身教学技能,引入适应性教学策略,实施个性化教学。教师能够更好地了解学生的实际需求和学习进度,调整教学方法和内容,改进教学实践活动,以满足不同学生的水平。第二,促进实时反馈。生成式人工智能模型与学生的互动能够提供即时反馈,帮助教师了解学生在编程过程中的困难,及时指出学生的误区,调整教学知识点所占时间比例,提供更精准的指导,从而提高学生的学习效果。第三,丰富教学资源[3]。生成式人工智能模型可以整合各种教学资源,包括编程示例、教学视频和在线文档。教师能够借助生成式人工智能模型向学生提供更丰富的学习案例,提高学科知识广度,拓宽课程学习深度。第四,减少教师工作量。生成式人工智能模型通过评估学生的作业情况并向学生提供反馈,能够减少教师重复性的作业批改工作,从而有更多的时间用于备课、教学创新、学科交流和专业发展等工作。
从教师和学生的角度分析,生成式人工智能模型应用于计算机编程教学的潜在优势,其结果如表1所示。不同角度的优势共同促使生成式人工智能模型成为编程教学中的一种创新工具,为教师和学生提供更丰富、更有效的学习体验。
2 在计算机编程课程中的教学创新
在设计人工智能支持的教学活动时,教师需要考虑多方面要素,以实现编程课程的预期学习目标。首先,教师需要帮助学生走出迷茫、焦虑的困境;其次是转变课程学习方式,激发学生批判性思维和设计创新性学习任务。
2.1 转变思维,顺势而为
生成式人工智能模型带来的辅助编程功能,能够极大地提高开发者的编程效率。过去,程序员需要花费80% 的编码时间才能完成的工作,而现在编程任务可以交给人工智能工具完成,使得程序员能够将更多时间集中在关键工作上,实现工作效率的显著提升。大学生担心ChatGPT等模型的出现将抢走程序员的岗位,因而对未来的前途感到迷茫和焦虑。研究显示,在特定情境下,ChatGPT生成的代码远低于适用于广泛情况的最低安全标准[4]。因此,不管未来人工智能(AI) 如何变化,我们需要顺势而为,深入学习使用AI技术,就越不容易被AI所取代。苹果CEO库克称,学编程比学英语更重要。对于计算机专业的学生而言,编程是学业和未来职业中必须的技能。编程能力的提升不可能一蹴而就,学生需要脚踏实地、亲力亲为地实践与训练。作为教师需要不断探索AI给教育带来的挑战,厘清人才培养方向,对教学和评估方式做出创新性的改变,引导学生把握机会,正确利用AI 工具,让学生有足够应对未来的“生存力”。
2.2 多样化融入编程课程
在生成式人工智能模型发展背景下,就教育行为而言,以知识传递为核心的教育模式已经被逼进墙角,照本宣科的教学模式即将被替代。在计算机编程课程中,教师需要运用生成式人工智能模型进行多样化创新教学。首先,生成式人工智能模型提供信息的准确性取决于输入内容的准确性,教师需要指导学生如何有效使用生成式人工智能模型。如果学生输入提问中的名称缺乏专业性和准确性,生成式人工智能模型则无法给出准确回答。在编程学习中,生成式人工智能模型提供的功能,主要包括代码补全、校正、错误修复、优化、文档生成、测试以及技术问题解答等,能够帮助学生提供代码解释、示例和指导,是技术支持的宝贵资源。教师要指导学生善于利用上下文提示向生成式人工智能模型提问,有助于生成正确结果。因此,学生掌握必要的专业知识和提问技巧是非常重要的。此外,教师还要引导学生探索生成式人工智能模型带来的更多实用场景,在学生需要帮助时获得更多的支持和反馈,如个性化学习指导,学术问题建议,课程规划与学习路径规划,学习资源推荐,模拟面试场景,生成个性化简历等[5]。
2.3 激发学生批判性思维
在人工智能时代,大学教师的重要任务是培养学生的批判性思维[6]。学生在首次向生成式人工智能模型提问时所得到解决方案可能并不是准确的,要求学生对生成的答案进行批判性评估,思考生成代码的正确性、完整性和健壮性。因此,学生必须运用专业知识进行评估代码,有助于学生对代码的深入理解,减少对生成内容的依赖,有助于创新能力的培养。在编程教学时,教师首先需要引导学生对同一问题思考不同的设计方法和实现过程,或要求学生充分考虑编程任务的需求、约束条件和最佳实现思路。其次,生成的代码可能会存在安全隐患或异常情况,教师需要引导学生思考如何处理代码中出现的漏洞和错误,促使学生反向理解代码,寻求提高系统稳定性和可靠性的方法。另外,生成的代码还可能不具备良好的扩展性和可维护性,教师需要引导学生充分考虑系统的各结构和模块,尽可能提高代码的可读性[7]。总之,教师在编程教学中需要帮助学生提高对代码的理解程度和批判能力、对结构和算法的改进能力、对系统性能的测试和优化能力。
2.4 设计创新性任务
自从生成式人工智能模型出现后,学生习惯借助模型提问后直接获得编程源码。千篇一律的作业答案无法体现出学生个体在课程学习上的差异,所以教师必须多元化地设计创新任务,以区分学生的个体差异性。
第一,编码任务转为阅读和评论代码。在未来项目开发过程中,代码审查是学生必备的技能之一。教师需要充分考虑如何将入门课程中的编写代码转为阅读、批判性分析代码或改进生成的代码[8]。在实施教学过程中,教师不仅可以布置代码审查和思路描述实践任务,还可以鼓励学生之间开展代码互评、小组讨论互评等活动。
第二,设计开放式任务。开放式任务主要以多元化的结果产出为主。教师可以设计阐述个人观点的论述任务、具有不确定性因素的逻辑推理任务、需要进一步数据收集、分析和归纳的实战任务、复杂系统的设计与优化任务等,充分展示学生个体差异性,培养学生独立思考的习惯,并激发创新思维。
第三,改革评价与考核方式。在课程考核环节中,教师可利用人工智能模型生成多样化的代码案例。学生通过现场分析案例,阐述代码中潜在的语法、逻辑错误并提出改进思路。通过学生对代码的阅读、思考和批判分析,教师能够判断其对编程设计的理解并给出评分。同时,教师现场指导学生如何作出正确的改进和优化措施,从而改变传统应试考核的评估方式。另外,考核内容还可以增加项目实践评估。以项目为导向,学生通过小组协同合作,共同开发完整项目。开发过程中,每一位项目成员都需要承担相应的需求分析、系统设计、代码编写、单元测试等任务,而不仅仅停留在编写基础代码的层面。最终采用小组答辩形式,每位成员依次介绍完成的工作内容和所得到的收获。教师对每个项目的完成情况进行评估,不仅可以考查学生对课程内容的掌握,还可以有效提升学生的团队合作和项目管理能力。
3 开放性编程案例实践
实验内容包括基于Python语言对微博新闻评论数据进行情感分析,涉及数据获取、数据清洗、中文分词处理、构建情感分析模型和数据可视化等知识点。学生的答案不能简单地通过与生成式人工智能模型的对答中直接抄袭答案后提交给老师,因为每位学生需要选择不同排名的微博热搜榜中的新闻进行实验,导致每个学生的实验内容和结果都不相同,无法直接从模型中获取答案。
教师通过提供微博热搜榜前50名话题中的新闻进行情感分析的实验背景,要求每位同学按照学号顺序选择对应排名的新闻进行数据采集和分析。这样的设计可以确保每位学生的实验内容都是独立的,实验结果也不相同,从而真正对学生掌握的知识进行全面考查。
学生需要掌握数据获取、数据清洗、分词处理、模型构建和数据可视化等相关知识点,并结合生成式人工智能模型提供的实验整体思路、部分代码提示和个性化指导,展开案例实践。完成实验后,学生需要在“超星学习通”上提交实验编程代码,以便教师对实验结果进行评价和反馈。以ChatGPT为例,学生提问后获取的整体实验步骤结果如图1所示。
4 结论及未来可能发展方向
科技的飞速发展已经让人感叹,教育与人工智能的深度融合已经来临。本文通过分析生成式人工智能模型在编程教学中的潜在优势,探索了计算机编程课程中的教学创新方法,旨在激发学生的批判性思维和培养学生的创新能力。通过实践案例展示了创新开放性实验设计的方法以及结合生成式人工智能模型提高学生实际编程技能的途径。
生成式人工智能模型在计算机编程教学中具有许多创新潜力,未来的发展方向可以分为三个方面。首先,情境化学习。通过模拟编程场景进行对话,学生可以更好地理解编程在实际生活中的应用。其次,可编程教学游戏。结合虚拟现实(VR) 或增强现实(AR) 技术,生成式人工智能模型可以创建互动的编程教学游戏,使学生在游戏中学习编程概念和解决问题。第三,深度融合自然语言处理技术。未来的生成式人工智能模型可能具备更强大的自然语言处理性能,使学生能够通过口头交流进行编程教学,有助于降低语言和技术门槛,提高学习的亲和性。
作为教师,需要重新审视教育目标和教学方法,持续探索适应学生需求的教学策略,实施以创造性思维为核心的课程设计,真正培养学生独立思考和创新精神。教师还需要持续关注教学技术的演变,不断提升教育水平,引导学生在面对新知识和技术时能够灵活应对,培养学生成为具备创造力和适应力的未来领导者。
参考文献:
[1] 汪芳,赵左,王毅航,等.人工智能在程序设计教学应用中的探索与实践[J].计算机教育,2023(11):45-50.
[2] ADIGUZEL T,KAYA M H,CANSU F K.Revolutionizing educa?tion with AI:exploring the transformative potential of ChatGPT[J].Contemporary Educational Technology,2023,15(3):ep429.
[3] 樊莲花,李欣雨.ChatGPT赋能英语教学“: 难为” 审思与“能为” 构建[J].中小学课堂教学研究,2023(12):75-79.
[4] KHOURY R,AVILA A R,BRUNELLE J,et al.How secure is code generated by ChatGPT?[EB/OL].2023:arXiv:2304.09655.http://arxiv.org/abs/2304.09655
[5] YILMAZ R,KARAOGLAN YILMAZ F G.Augmented intelli?gence in programming learning:examining student views on the use of ChatGPT for programming learning[J].Computers in Hu?man Behavior:Artificial Humans,2023,1(2):100005.
[6] 黄惠文.讨论式教学法下批判性思维能力培养探究[J].才智,2023(35):155-158.
[7] 徐慧,鞠小林,王皓晨.大模型下编程教学面临的挑战与应对[J].计算机教育,2023(11):60-64.
[8] LAU S,GUO P.From“ ban it till we understand it” to“ resis?tance is futile”:how university programming instructors plan to adapt as more students use AI code generation and explanation tools such as ChatGPT and GitHub copilot[C]//Proceedings of the 2023 ACM Conference on International Computing Educa?tion Research-Volume 1.August 7-11,2023,Chicago,IL,USA.ACM,2023:106-121.
【通联编辑:唐一东】
基金项目:江苏省高校哲学社会科学研究项目(2023SJYB1721);江苏省高等学校教育信息化研究会课题(2023JSETKT122) ;江苏省高等学校自然科学研究面上项目(22KJD520008) ;南通理工学院“思政课程”及“课程思政”专项课程建设新项目(2023JKS019)