AIGC赋能C语言程序设计课程教学改革研究
作者: 陈瑞 章礼华 王陈宁 朱凌云 田亮
关键词: AIGC;C语言程序设计;教学改革;个性化学习
中图分类号:G642 文献标识码:A
文章编号:1009-3044(2024)28-0143-03
0 引言
C语言程序设计作为工科专业的基础课程,在培养学生的程序设计能力和计算思维方面发挥着至关重要的作用。然而,传统的C语言课程教学存在知识点零散、算法抽象、个性化学习体验差以及信息反馈不及时等问题[1]。这些问题导致学生学习兴趣不足,逻辑思维和实践能力未能得到有效培养,学习效果不尽如人意。
AIGC(Artificial Intelligence Generated Content) 是一种基于人工智能的内容生成式技术,它通过深度学习和大数据分析,能够识别数据中的模式特征并创造出高质量的内容[2]。C语言程序设计课程的学习要求学生具备扎实的数学基础和严密的逻辑思维,同时注重实践操作,包括算法设计和项目开发等。AIGC技术可以针对这些需求提供个性化的学习材料和案例,增强学习的互动性和实践性。然而,AIGC在教育领域的应用也面临着挑战[3]。需要确保AIGC生成的教育内容符合教学标准和质量要求,避免误导学生。此外,还需要处理好人工智能与人类教师之间的协同关系,使AIGC成为教师的得力助手,而非替代者。这要求教育者深入理解AIGC技术,合理地将其融入教学设计中[4]。
基于此,本文利用AIGC技术对C语言程序设计课程进行教学改革,旨在解决学生个性化学习体验不足和实践能力薄弱的问题。通过融合多种大模型数据进行综合判断,本研究旨在为学生提供高质量、高时效性的编程知识,从而在技术日益复杂的学习环境中提升学生的学习效率。
1 C 语言程序设计课程现状分析
作为计算机科学与技术专业的核心课程,C语言程序设计在培养学生的编程能力和计算思维方面发挥着至关重要的作用。然而,在当前的教学实践中,该课程面临一些挑战和问题。
1.1 C 语言程序设计课程教学现状
当前教育体系与行业及市场的实际需求之间存在一定差距[5-6]。首先,传统教学模式过于侧重基础语法和程序结构,未能充分培养学生将理论知识应用于解决实际工程问题的能力。在软件和信息技术行业快速发展的背景下,市场对工程师的要求已经扩展到项目管理、团队合作和创新思维等综合能力。然而,现有的教学内容更新滞后,无法覆盖新兴技术和工业应用,导致学生毕业后难以适应快速变化的工作环境。其次,课程考核方式目前主要依赖于考试和实验报告,这在一定程度上强调了理论知识的掌握,却未能充分评估学生的实际编程技能和项目开发能力。这种偏重理论的考核方法无法全面评价学生的综合能力,特别是在创新思维、问题解决和团队协作等关键技能上,难以准确衡量学生在实际应用场景中的表现。最后,部分课程的教学资源更新滞后,未能与技术发展保持同步,缺少现代教学案例和材料,这导致教学方法单一,缺乏信息化教学工具的辅助,进而影响了教学的吸引力和学生的学习热情。
1.2 C语言程序设计课程思政现状
C语言程序设计课程包含丰富的思政元素,但是在教学过程中并没有被充分挖掘,存在以下不足[7-9]。首先,思政教育与专业课程的融合度不够,存在“两张皮”现象,即专业教育和思想政治教育未能有机结合,导致思政教育难以深入学生内心。其次,部分教师对课程思政的认识不足,缺乏深入理解和创新,导致思政元素在专业课程中的融入不够充分,教学方法单一,无法有效激发学生的学习兴趣和参与度。再次,教学方法存在局限性。许多课程仍然采用传统的讲授方式,学生处于被动接受知识的状态,缺乏足够的互动和实践机会。这种模式限制了学生创造性思维和问题解决能力的发展,不利于培养适应现代工程挑战的综合技能。最后,教学考核评价方式过于单一,主要侧重专业知识的掌握,而忽略了对学生个人品质的全面评价。教育过程中未能将德育作为培养学生全面发展的基础任务,缺乏对学生综合素质提升的有效引导。
综合上述问题,本文提出一种基于AIGC技术的C语言程序设计教学模型。该模型能够提高教学质量并激发学生学习兴趣,同时深化思政教育与专业课程的融合,实现育才与育人的双重目标。通过挖掘编程教学思维的逻辑性、程序设计的严谨性和工匠精神的传承性等思政元素,教师引导学生在提升专业技能的同时,加深对思政教育的理解和认同,使思政教育内容自然融入教学资源和案例,实现知识传授与价值观塑造的有机统一,培育出既具备专业技能又拥有出色思想素质的人才。
2 基于AIGC的C语言程序设计课程教学模型
当前国内AIGC台的生态系统正日益丰富,涌现出豆包、通义千问、Kimi、智谱清言、百川等众多领先的大语言模型。这些平台不仅支持多样化的生成式预训练变换器的开发与部署,还通过持续的训练与优化,不断提升模型在内容生成的质量和性能[10]。基于AIGC的C语言程序设计课程模型融合自然语言处理技术,提供了一个实时响应学生编程难题的高效学习工具。无论是在线还是离线环境,学生可以通过对话或上传资料获得详尽解答,同时,模型自动记录问答过程,促进了互动学习并加深了对课程内容的理解。这些记录还能帮助教师实时跟踪学生进度,实现个性化教学,有效提高教学效果。
2.1 C语言程序设计课程教学模型设计
为确保AIGC 生成内容的教学质量和标准一致性,本文采用多种大模型的API接口进行自我审视和工作流程的优化[11]。通过这些接口调用,能够对比不同大模型的输出结果,并在同一界面上展示这些对比,这种方法不仅增强了信息的综合性,降低了歧义引起的误导风险,还为学生学习提供了坚实可靠的技术支持。
C语言程序设计课程教学模型结构如图1所示。该模型由用户界面、NLP对话管理、大模型API接口和知识库构成,其中用户界面基于Web聊天窗口,提供直观交互,使学生能与C语言模型COCO直接交流。在这个平台上,学生可以即时获得问题的答案和解释,获取根据他们学习进度和风格个性化定制的学习建议和资源。
在C语言程序设计课程中,NLP对话管理利用自然语言处理技术,精确理解用户查询意图并识别问题类型,如代码纠错、概念解释或编程指导等。系统将集成多个专业模型以协同工作,确保对各类请求提供精准有效的响应。同时,学生的学习活动和进度数据将实时记录并存储,这不仅帮助教师和教学管理人员监控学生状态,也支持个性化教学的数据需求。教师通过分析学习数据,能够及时调整教学策略,提供定制化指导。
C语言程序设计课程教学模型通过与大模型通信的程序编程API 接口,智能评估前端模块发送的消息,综合考虑计算成本和影响评分,及时处理低于预设阈值的请求,确保学生和教师得到及时准确的反馈。此外,模型还能根据学生需求,从多角度分析判断,提供定制化的教学支持,以满足个性化学习需求。
知识库汇集了来自教科书、在线资源、专业论文等多种来源的数据,支持智能学习算法根据用户行为和偏好推荐内容。这不仅辅助教师构建知识图谱,关联不同概念和主题,帮助学生构建知识体系,提高数据整合能力,而且知识管理系统化地组织和管理信息,便于检索和使用。此外,系统还提供自检工具,让学生能够测试自己的理解和技能水平,确保知识库数据的完整性、时效性和安全性。
在教学过程中,教师可以上传各种格式的数据资料(包括txt、docx、pdf和视频文件等),不断训练教学模型来提升交互体验的效率,在后台构建和维护一个全面而多样化的资源数据库。利用这些资源,教师可以构建专属课程的人工智能模型,实现精准化教学。
2.2 C语言程序设计课程教学模型构建
由于通用大模型的数据复杂多样,C语言程序设计课程教学模型需要通过专业资料进行深入训练,以增强其对课程内容的理解。基于多源数据融合的综合数据判断,该模型可以提供更加精准和个性化的解决方案。构建多源数据融合的C语言程序设计课程教学模型流程如图2所示。
首先,搭建模型开发环境,基于新一代大模型AI 应用开发平台Coze,配置模型的初始参数,确保设置为LLM(Large Language Model) 单代理模式,以便管理和控制。利用API接口构建综合工作流,包括数据输入、处理和输出的各个环节。设置子节点以拓展用户功能,如个性化学习路径推荐、疑难问题解答等。接着,调用多种大语言模型,集成多种大语言模型,以实现多源数据的融合和优势互补。通过变量和提示词的设置,生成针对不同学习阶段和需求的节点回复。确保模型的输出能够顺利传输至工作流的终结点,捕获和记录运行结果信息。此外,设计自检工作流,以自动检查和优化模型输出的内容。再利用上一节点的输出,强化回答内容的准确性和相关性,优化后的结果应存储至数据库,并进行定期的回顾和更新。其次,收集C语言程序设计课程的全面教学数据( 包括教材、案例、习题等),实现增量同步,确保课程资料的更新能够及时反映在模型知识库中。同时完成知识自检,确保知识库的准确性和时效性。最后,开展交互式测试,收集用户反馈,评估问答的准确性和响应速度。根据测试结果和用户反馈,不断优化问答系统,提高交互体验。
C语言程序设计课程教学模型运行流程如图3所示。系统启动后初始化并加载所需模型,然后向用户显示欢迎词,准备接受输入。用户通过界面提交问题或请求,系统随即利用加载的模型分析和理解输入内容的意图和上下文。若用户输入在系统设计的应用范围内,系统便访问内置知识库检索相关信息或数据。若输入超出应用范围,系统会根据查询性质调用相应模型API生成或检索答案,综合多个模型输出。
模型交互界面如图4所示,显示COCO模型的简介,通过输入栏进行对话。学生可以提出相应的C语言编程问题,通过对话框进行实时答疑。如图5所示,给出一段判断质数的代码进行优化,键入指令后,COCO模型快速地给出相应的改进方法。首先,引入布尔类型以提高直观性,改进变量命名以增强可读性。其次,在逻辑上精简判断流程,避免冗余循环,使得代码更加高效。最后,在主函数中使用三目运算符来简化条件分支,让代码结构更紧凑,逻辑更清晰。通过这些改进,不仅提升了代码的执行效率,也增强了代码的可维护性和易读性,表明基于AIGC的C语言程序设计课程教学模型能够帮助学生理解程序设计的相关知识,迅速响应学生的需求,提供定制化的学习支持,显著提高学习效率和质量。
3 结束语
为解决传统C语言程序设计课程教学中存在的个性化学习体验不足和实践能力培养的问题,本文构建了一种基于AIGC 的C 语言程序设计课程教学模型。该模型利用多源数据融合和大模型API接口的集成,确保了教学内容的高质量和时效性。随着课程资料的不断完善和师生互动的深入,该模型将不断迭代升级,展现出其作为高效AI助教的潜力,为学生提供即时、个性化的学习支持,提升学习效率。未来,教师可以定期审查和更新课程内容,反映编程语言和行业实践的最新发展。利用数据分析工具监控学生学习进度和课程效果,以期实现更广泛的教育创新和教学效果的提升,为进一步探索程序设计类课程的思政教育改革提供参考。