1. 引言
AIGC是指利用人工智能技术自动生成文本、图像、音频、视频等内容的技术。自2022年以ChatGPT为代表的AIGC工具推出以来,AIGC技术就备受各行业各领域的密切关注。在教育领域中,“AIGC + 教育”的新模式将促使传统教育向数字化、智能化方向进行转变。
在高校教育领域中,众多学者围绕AIGC技术展开了相关研究,如杨宗凯等人分析了以ChatGPT为代表的AIGC工具对教学模式、学习形态和育人理念的影响,并探讨了ChatGPT在促进教学内容生产、学习空间泛在化、高阶能力培养等方面的作用[1]。白雪梅等人通过揭示AIGC在学习内容、学习方式、学习评价、学习反馈等方面的支持,探讨了AIGC如何赋能大规模个性化学习、大规模协作学习、学习者能力培养和学习评价[2]。易凯谕等人探讨了在混合教学模式下,AIGC技术对教师、学生、人才培养目标,教育理念、教学目标、教学内容等方面的影响[3]。由于AIGC技术本身就是计算机科学的产物,因此AIGC技术在计算机教育领域的应用也逐渐成为研究热点。如周立军等人探讨了AIGC如何赋能“计算机程序设计”课程的教学创新与实践,AIGC技术在教学设计与实施中的应用潜力,同时指出了AIGC技术在实施、道德伦理和隐私方面的局限性[4]。郭旦怀等人提出了AIGC技术与大学计算机教育结合的新方法,探讨了AIGC工具生成内容的不确定性、学生的依赖性等问题[5]。王金玲等构建了基于AIGC技术的教学案例模型,并将其应用到了C语言的实践教学中。通过实践发现AIGC技术能有效解决C语言教学中抽象概念难转化、案例单一等问题[6]。吴青等人从教学目标、内容、方法和评价体系等四个方面,分析了AIGC技术在促进传统教学转变方面的作用[7]。
通过查阅文献资料发现,在教育领域应用AIGC技术的研究大多集中在教学模式、教学理念和教学方法等方面,强调AIGC技术对推动教育领域创新方面的重要作用。而计算机教育中应用AIGC技术的研究则几乎是偏向于程序设计课程,将AIGC技术应用于其他计算机类课程的研究则寥寥无几。数据结构作为计算机相关专业的核心基础课程,主要研究数据的组织、数据的存储和数据的操作,是学生学习后续专业课程的基础,也是学生考研和职业发展的基石。同时,数据结构也是计算机相关专业课程体系中非常难的一门课程,传统的数据结构教学存在诸多问题,若在数据结构的教学中融入AIGC技术,将具有非常典型的启示作用。
2. 数据结构教学现状分析
2.1. 教学内容抽象
数据结构课程的内容较为抽象,涉及大量的概念和算法。例如,链表的指针操作、递归算法、树与图的遍历等,对于学生来说理解难度较大。而传统的讲授式教学方式难以将这些抽象的概念、算法的动态执行过程及内存变化情况直观地展现给学生,导致学生在学习过程中容易感到困惑,难以真正掌握这些理论知识的本质。
2.2. 学生基础差异大
数据结构的学习要求学生具备一定的编程能力,而学生之间的编程基础差异较大,有些学生已经熟练掌握指针、结构体等知识,而有些学生连解决基本语法问题都存在困难。传统的“一刀切”方式授课难以兼顾这种差异,授课教师陷入两难的境地,若讲解过于基础,则会使高水平学生感到无聊,若讲解过于深入,又会使基础薄弱的学生跟不上学习节奏。再加上教学内容抽象,弱基础学生要将数据结构的理论知识转化为编程实践更加困难,可能理解了算法的原理,却无法用代码准确地实现算法,导致学习积极性受挫。
2.3. 实践环节不足
数据结构是一门理论与实践并重的课程,需要学生通过大量的编程实践来加深对理论知识的理解和掌握。然而,一方面是在实际教学中,因课时紧张,往往需要占用实践教学的课时来讲授理论内容。而课后因学生得不到教师的指导,学生也不愿意花时间进行实践操作,导致实践不足。另一方面是实践内容往往与实际应用脱节,学生在实践过程中只是简单地完成教师布置的验证性实验,如顺序表和链表的取值、插入和删除;二叉树的遍历;图的遍历等,缺乏对实际问题进行分析和解决的锻炼,难以将所学理论知识应用到实际问题中,因此在面对实际问题时却无能为力。
2.4. 教学互动不足
数据结构课程内容多且抽象复杂,学生在学习的过程中,需要教师不断地给予辅导。而传统的数据结构教学中,主要以教师讲授为主,通过PPT演示或结合线上教学资源讲解知识点,学生被动地接收知识,师生之间的互动相对较少,这种单向的知识传授方式,不利于激发学生的学习兴趣和主动性。再加上大班授课,教师难以做到关注每个学生的学习情况。很多学生在遇到问题时,却得不到教师的及时解答,问题越积越多,越学越不懂,导致学习信心下降甚至放弃该门课程的学习。同时,教师也难以及时了解学生的学习情况和问题,无法进行有针对性的教学指导。
2.5. 教学资源不足
传统数据结构教学资源主要包括教材、PPT课件以及线上资源,教学资源不足。随着信息技术的发展,学生对于多样化教学资源的需求日益增加。目前的教学资源无法满足学生的学习需求,也不利于拓宽学生的知识面和视野。
3. 融入AIGC的数据结构教学优势
3.1. 生成多样化教学资源
针对教学内容抽象、教学资源不足等问题,教师可以借助AIGC工具生成多样化的数据结构教学资源。借助ChatGPT、DeepSeek、豆包、文心一言等大语言模型,生成针对性强的学习指导资料。在AIGC工具中输入相关的教学目标、教学内容、重难点等关键信息,就能生成教学课件、教案、练习题、案例分析等教学资源,教师可根据实际教学需求及对学情的把握,在此基础上进行适当的修改和完善。对于数据结构中抽象的概念和复杂的算法流程,如链表的插入和删除操作、二叉树的遍历、图的遍历等,可以借助AIGC工具生成直观的图像或生成动画、视频等多样化的教学资源,使教学内容更加形象化,满足不同学生的学习需求,帮助学生更好地理解抽象的概念和复杂的算法,让学生一目了然,降低学习难度,提高学生的学习兴趣,提升教学效果。
3.2. 制定个性化学习路径
针对学生基础差异大的问题。在教学过程中,利用AIGC工具可以分析学生的课堂表现、课堂练习和平时作业完成情况、测试成绩等学习行为数据,为学生建立数字学习画像。通过数字画像,AIGC工具可以帮助教师了解每个学生的学习特点、学习优势以及存在的不足,帮助教师为学生制定个性化的学习路径。比如有些学生对数据结构基础知识掌握较好,但是不能很好地应用算法解决问题。针对此类学生,AIGC可以向学生推荐更多关于算法设计和实践的学习资源,帮助学生强化算法应用能力。对于基础知识掌握不够扎实的学生,则向他们推荐知识点的讲解视频、适合自身基础的习题资料和实践内容。让学生从简单的概念理解逐步过渡到会应用算法。AIGC制定的个性化学习路径能够充分发挥每个学生的学习潜力,提高学习效率。学生可以不按照教师统一的教学进度进行学习,可以根据自己的节奏和需求进行学习,从而增强学习的自主性和积极性,提升学习效果。
3.3. 辅助教学
针对实践不足、教学互动不足的问题,学生在学习和实践的过程中,可以随时向ChatGPT、DeepSeek、Codex、GitHub Copilot等AIGC工具提出问题,比如数据结构的概念问题、算法实现中的代码问题。AIGC在接收到指令后,经过“思考”,可以很快地给出答案,实时解答学生的疑问。例如,学生在写栈的入栈、出栈操作代码时,出现了代码运行错误的问题。此时,学生通过输入代码错误信息,AIGC工具能够分析错误原因,给出解决方案。另外,AIGC工具还可以模拟各种数据结构实际应用的场景,解决实践教学中理论脱离实际的痛点问题。例如模拟图书馆信息化管理图书,实现存储、检索、借阅等操作。基础较弱的学生,可以借助AIGC工具,一步一步地完成。基础较好的学生可以选择不同的数据结构和算法来实现,并让AIGC工具分析不同数据结构和算法的优势和不足。在整个教学过程中,AIGC工具可以充当24小时助教,随时为学生答疑解惑。
4. 基于AIGC的数据结构教学面临的问题与应对措施
4.1. 面临的问题
AIGC存在的机器幻觉问题。尽管AIGC拥有广泛的知识库和强大的信息处理能力,但受大模型训练规则和人工智能技术的局限,所生成的内容还是会表现出一定程度的模板化和幻觉(Hallucination) [3]。部分AIGC工具在根据用户指令生成内容时,可能存在内容不够准确、不够可靠的问题。比如用户输入的是自然语言描述的算法,让AIGC工具生成一份可运行的代码。此时AIGC工具生成的代码可能存在语法错误、逻辑错误,或者因为边界条件的考虑不周全等,导致最终的代码不能运行。也就是说,AIGC工具生成的内容不可能做到100%准确无误,那么内容中的错误信息可能误导学生,使学生在学习过程中产生错误的理解。
AIGC技术与教学过程融合的问题。将AIGC工具融入到数据结构的教学中,授课教师需要对整个教学过程进行重新设计和优化,才能确保AIGC工具与教学各个环节的良好衔接。但问题是教师缺乏使用AIGC工具的相关经验,缺少专业的指导,因此教师可能难以充分发挥AIGC技术的优势,反而让教学过程变得更加复杂和混乱。要将AIGC合理地应用到教学中,授课教师就必须要花费大量时间和精力去学习和掌握AIGC工具的使用方法。
AIGC对教师能力要求的问题。在数据结构教学中融入AIGC后,教师既要充当知识传授者,又要充当学生学习的引导者、组织者和监督者。从单一角色到多重身份的转变对教师的能力提出了更高的要求。不仅要求教师具备一定的AIGC技术应用能力,还要求教师具备更高的教学设计能力。但实际却因为教师缺乏AIGC技术相关的培训和实践经验,导致在实际教学中教师难以灵活运用AIGC技术设计更加多样化、个性化的教学活动。与此同时,因AIGC幻觉问题,还要求教师具备良好的信息素养和批判性思维能力,能够辨别AIGC生成内容的真假、优劣,能够引导学生正确看待和使用AIGC生成的内容,培养学生的信息甄别能力和批判性思维能力。
AIGC对学生能力要求的问题。学生在借助AIGC辅助学习数据结构的过程中,要求具备一定的信息获取、分析、批判性思维和应用能力。部分学生因欠缺这些方面的能力,导致难以有效地利用AIGC工具进行理论知识的学习和实践,容易盲目接受AIGC提供的答案,存在过度依赖AIGC的问题。如对某些抽象数据结构或算法原理不理解时,学生无法准确地向AIGC发出指令来获取有效解答。
4.2. 应对措施
提升专业素养。虽然AIGC技术发展迅速,但仍然不可避免AIGC幻觉的问题。AIGC幻觉是指其生成内容与事实不符、逻辑错误或上下文不相关。对于此类问题,除依赖相关AIGC技术团队加强技术研发之外,作为授课教师,还需提高自身的专业素养。在面对AIGC工具生成的多样化教学资源时,能通过自己过硬的专业能力,判断是否存在错误。
培训教师AI素养。学校应开展专门针对授课教师的AIGC技术的系统培训,培训的内容包括如何根据课程的特点,选择合适的AIGC工具生成教案、教学课件、练习题等教学资源;在实践教学中,如何利用AIGC工具对学生进行辅导等。例如数据结构课程的特点是教学内容抽象、算法复杂,授课教师可选择ChatGPT、DeepSeek、豆包、文心一言等生成教学资源,借助AI工具Algorithm Visualizerh和非AI工具Visualgo动态展示算法的执行过程。通过培训,教师可以掌握AIGC工具的使用技巧,提高AIGC技术的应用能力,加速教师进行角色转变。
支持课程发展。学校应支持课程教学多方位、多维度发展。例如学校可设立以AIGC教学为主题的校级教改项目,二级学院可以围绕具有代表性的专业核心课程进行申报,如计算机相关专业的核心课程数据结构。在研究的过程中,不断积累经验、总结经验,并进行创新,将最终形成一套适合该门课程教学实际情况和学生学习情况,具有本校特色的“AIGC + 教学”的教学模式和教学方法。另外,学校对于在教学中积极使用AIGC等新技术并取得良好教学效果的教师应给予奖励,提高教师进行教学研究的积极性和主动性,提高教学质量。
培养学生AI素养。学校应对学生开设AI素养课程,课程内容包括利用AIGC工具进行信息检索、信息分析等方面技能,还要培养学生的批判性思维能力。教师可以在数据结构教学中,通过设置案例、讨论和任务等教学活动,让学生正确认识AIGC工具,正确使用AIGC工具,避免过度依赖AIGC工具。例如在讲解单链表的插入操作时,可以事先让学生向AIGC工具发出生成代码的指令,然后再分析AIGC的代码是否是最优解。还可以进一步让学生验证,如果调整指针修改的顺序,AIGC是否能发现问题并进行代码修复。在此过程中,学生对AIGC工具的理解会有更深刻的认识。
5. 总结
传统的以教师主动讲,学生被动学的方式,不再适合于当前数据结构的教学。AIGC技术的飞速发展为教育领域注入了新的活力,而数据结构因其自身课程的特点,也将迎来AIGC技术带来的变革与创新。AIGC工具虽然可以在生成多样化的教学资源、辅助实践教学、制定个性化学习路径、加强教与学之间互动等方面,解放授课教师的生产力,但不能完全取代教师。学生在利用AIGC工具学习数据结构的过程中,也不能完全依赖AIGC。在融入AIGC的“教”与“学”过程中,授课教师和学生都需要正确认识和使用AIGC。只有这样,才能提高教学质量和学习效果。