1. 引言
人工智能生成内容技术(AIGC) [1]是指由人工智能生成的各种内容,包括文字、图像、音频和视频等。随着AIGC的快速发展,以ChatGPT为代表的AIGC工具自2022年推出以来,已成为推动教育领域数字化、智能化转型的核心驱动力。
在高等教育中,学者们对“AIGC + 教育”模式展开了广泛研究。张晓燕等[2]针对课堂教学存在的重讲授轻反馈、理论实践脱节、重结果轻过程等问题,通过AIGC辅助,提出完善教学反馈环节、实现理论实践融合、优化评价机制等措施,以达到深化教学改革的目的。在思想政治教育方面,汪萍等[3]则通过AIGC丰富教育资源、促进教育内容多样化、定制个性化教育方案来实现精准思政育人的目的。在计算机类课程教育中,AIGC也被广泛地应用到实际教学中。为解决Python语言程序设计课程中学生基础薄弱、在编程学习中存在畏难情绪等问题,黄秋勇等[4]提出一种结合生成式人工智能技术和游戏化教学策略的教学模式;唐玮嘉[5]探讨了将AIGC融入到数据结构教学中;王金玲等[6]通过AIGC技术可有效解决C语言教学中抽象概念难转化、案例单一等问题。
现有研究已表明了AIGC在教育领域的价值,由于多集中于教育模式与编程类课程上,因此,对抽象性与实践性较强的算法类课程的应用研究相对较为匮乏。算法设计与分析课程是计算机类专业的重要课程之一[7],其关键任务在于培养学生逻辑推理、问题拆解与算法创新能力。该课程内容包括时空复杂度分析、分治法、回溯法、分支限界法、动态规划、贪心算法等抽象性强的理论知识,对学生的数学基础、编程能力与数据结构功底提出较高要求,所以传统教学模式下存在教学内容繁杂、教学方式单一以及理论与实践分离等问题[8]。因此,将AIGC融入算法设计与分析教学,可以成为破解课程教学痛点、重构教学生态、提升教学质量的探索方向。因此,本文通过分析算法设计与分析课程的教学现状来探究AIGC融入教学的优势、面临的问题及应对策略,为算法类课程的智能化教学改革提供实践参考。
2. 算法设计与分析教学现状
2.1. 教学内容多且抽象
算法的理论知识多且抽象性强,学生理解和掌握理论知识的难度较大。课程内容包含算法的时空复杂度分析以及各种经典算法,比如穷举法、分治法、回溯法、分支限界法、动态规划、贪心算法等。然而这些经典算法的逻辑推导过程具有较强的抽象性,所以传统板书或PPT讲解难以直观呈现算法的动态执行过程和逻辑,从而使学生容易陷入“死记硬背”误区,难以理解理论知识的本质含义。
2.2. 学生基础层次不同
算法设计与分析课程的学习要求学生具备数学基础、一定的编程能力和数据结构功底三大基础能力,而学生之间的这三大能力差异较大,有些学生已经熟练掌握如线性表、栈、队列、树和图等数据结构知识,而有些学生连基本的编程问题都难以解决。然而,传统大班教学模式难以兼顾不同层次学生的学习需求。基础薄弱学生容易跟不上教学进度,产生厌学的情绪,陷入低效学习的恶性循环。若课程讲解过于基础,基础良好的学生则缺乏足够的拓展空间。
2.3. 实践训练薄弱
算法设计与分析是一门理论与实践并重的课程,需要学生通过大量的理论分析和编程训练来加深对各类算法知识的理解和掌握。然而,在实际教学过程中,因课时安排相对比较紧张,往往理论内容需要大量的时间进行讲解,导致课堂上实践的时间较少。在课后,学生也不愿意花费大量的时间进行算法实践训练,导致实践能力薄弱。其次课堂案例多为经典但脱离实际的问题,同时学生在实践过程中也只是简单地完成教师布置的验证性实验,如利用分治法解决排序问题、运用动态规划解决0/1背包问题、通过贪心算法解决旅行者问题等;因此,缺乏对实际问题的算法设计与代码实现训练,难以将所学理论知识应用到实际的大数据处理、人工智能模型部署等项目中。
2.4. 教学互动匮乏
算法设计与分析课程内容多且抽象性强,学生仅靠课堂讲授难以掌握课程的核心内容,因此,需要教师对学生通过互动形式进行针对性辅导。然而,传统教学模式存在明显的教学互动匮乏问题:一是教学方式比较固化,以教师讲授为中心的PPT演示或线上资源讲解仍占主导地位,使得学生被动式接受知识,缺乏有效的双向交流,难以激发学生的学习兴趣与主动性;二是大班授课的局限性,使得教师无法兼顾每位学生的个体差异与学习状态;三是师生反馈机制不畅通,学生在学习中遇到问题时,难以得到及时解答,问题不断积压,容易导致学习信心受挫甚至放弃学习这门课程,而教师也无法精准掌握学情,难以实施因材施教。
2.5. 教学资源单一化
传统算法设计与分析教学资源以教材、PPT课件及线上资源为主,缺乏分层化的数字化资源和产业实际应用案例,难以适配不同层次学生的学习需求,也限制了学生知识面的拓展与专业视野的拓宽。
3. AIGC融入算法设计与分析教学的优势
3.1. 优化教学资源,降低知识理解难度
针对教学内容抽象、教学资源单一化等问题,教师可以运用AIGC工具生成多样化的算法设计与分析教学资源。针对“分治法的求解过程”“动态规划的状态转移方程推导”“Prim算法求最小生成树的执行步骤”等课程教学重点与难点,快速生成适合的课件、流程图、动态演示动画、伪代码及可运行代码一系列多模态教学素材。这类教学资源能够通过文字逐层拆解、动态直观演示等多元形式,清晰呈现算法的完整执行流程与核心设计逻辑,帮助学生突破抽象理解的瓶颈,切实提升算法学习效率与知识掌握程度。
3.2. 习题分层设计
针对学生基础层次不同,教师通过AIGC工具分析学生的课堂表现、课堂练习和课后作业完成情况等学习行为数据,了解学生的实际学习情况,及时调整教学进度和教学内容。同时,针对不同层次学生定制不同难度系数的练习题。比如有些学生对算法设计与分析基础知识掌握不扎实,可以生成侧重概念理解的基础题,如分析快速排序的时空复杂度的练习题,并通过AIGC推荐相关知识点的讲解视频和文字解析;针对基础知识扎实的学生,可以通过AIGC推荐一些融合多算法思想的综合题,比如结合贪心算法与动态规划设计电商优惠券分发算法,并借助AIGC生成习题答案与详细解析,也利用其帮助学生分析所设计算法存在的问题,从而提高学生设计算法的能力。这种分层习题设计既符合了因材施教的教学原则,又能够为不同层次的学生提供适合的习题训练,帮助基础薄弱的学生夯实基础,为高水平学生提供进阶拓展的空间。
3.3. 强化交互式教学过程,提升学生参与度
针对教学互动匮乏的问题,教师可以引导学生在课堂讲解或课后答疑中,向DeepSeek、豆包、Codex、GitHub Copilot等AIGC工具提出问题,比如某种算法的核心思想、执行过程或算法实现的代码等问题。AIGC模型可以经过“思考”,及时给出算法的分步解析,甚至通过代码实时演示算法调整后的执行过程,从而实现“一对一”的答疑,有效避免了学生的学习问题堆积。在算法编程实践中,学生可以依托AIGC工具生成初始代码框架,比如生成基于分治思想的归并排序代码;在代码调试过程中,若遇到代码语法错误或逻辑错误,可以通过AIGC工具帮助学生分析错误,给出修改建议,提高学生实践效率。这种方式能够让学生聚焦于算法逻辑设计与优化本身,而不是代码的语法错误和逻辑错误,以达到有效地提升学生的实践效率的目的。因此,基于AIGC的交互式学习打破了传统答疑的时间与空间限制,能够有效激发学生的主动探究知识欲望,减少学习过程中的失落感,也能够随时获得针对性辅导。
3.4. 拓展实践维度,衔接产业需求
针对学生在实践训练不足的问题,可以依托AIGC工具来设计适用于算法设计的模拟场景和生成行业前沿算法案例,帮助学生加强算法的实践训练。
教师可以利用AIGC构建虚拟场景,比如为短视频平台设计推荐算法的排序模块,学生可以通过此问题设计算法,然后AIGC模型通过模拟在海量数据下的算法执行效率来反馈学生设计的算法存在的问题,并给予学生优化方向和相关建议。基于场景模拟的学习方式下,这种“试错–优化”的学习模式,既能够让学生在模拟实践中深刻理解算法的核心逻辑以及适用范围,又能够提升学生的问题解决能力与知识迁移能力。
传统教材内容更新周期较长,往往滞后于产业技术的发展,而AIGC能够快速整合行业前沿信息,让学生及时了解算法的最新应用动态,实现课堂教学与产业技术的同步。因此,教师可以借助AIGC抓取并整合最新的产业界算法应用案例,生成适配教学的简化版案例,讲解算法在真实场景中的落地思路,解决实践教学中理论脱离实际的痛点问题。
4. AIGC融入算法设计与分析教学的案例分析
在算法设计与分析教学中,矩阵连乘是动态规划中的难点之一,学生在学习过程中普遍存在三大问题,分别为无法快速确定最优子结构、递推公式推导困难和代码实现中边界条件处理失误。因此,教师可以借助如ChatGPT、豆包、CodeGeeX等AIGC工具,通过生成多样化教学素材、梯度代码案例、针对性纠错过程的三步,可以形成适配课堂教学、分层练习、纠错辅导的全流程素材,能够更加贴合学生的认知难点,也能够让AIGC有效地融入算法教学的过程中。
4.1. 生成多样化教学素材
教师通过AIGC输入精准提示词,比如“针对已学习程序语言和数据结构的本科学生,生成矩阵连乘问题的教学素材,包含基础概念拆解、通俗解读的最优子结构、递推公式推导步骤及简单实例、边界条件说明,要求语言避免过于学术化,贴合课堂讲解逻辑”。
AIGC可以快速输出适配于学生认知水平的教学素材,例如生成“多个矩阵相乘,改变括号顺序不改变结果,但会改变计算量,动态规划就是找到计算量最小的括号顺序”通俗解读的核心目标;生成“以3个矩阵A (10 × 100)、B (100 × 5)、C (5 × 50)为例,分步计算不同括号顺序的计算量,可以推导出递推公式m[i][j] = min(m[i][k] + m[k + 1][j] + p[i − 1]p[k]p[j])的由来”,将抽象公式转化为具象推导过程,同时也可以补充简单图示的文字描述。教师也可以继续引导AIGC生成图示文字说明,方便后续制作课件,更好地帮助学生理解最优子结构和递推公式的核心逻辑。
4.2. 生成梯度代码案例
结合学生编程基础差异,向AIGC输入提示词,比如“生成矩阵连乘问题的梯度代码案例,分为基础版(要求带详细注释,适用于基础较差的学生)、进阶版(要求需要优化空间复杂度,适配中等水平学生),代码采用C语言,注释需明确每一步的作用,尤其是递推公式的代码映射、边界条件的处理逻辑”。AIGC可以生成可直接运行的代码,同时补充代码调用示例和运行结果说明。例如基础版代码中,用注释标注“m[i][j]表示第i个矩阵到第j个矩阵连乘的最小计算量,初始化为i == j,此时m[i][j] = 0 (表示单个矩阵无需计算)”,能够清晰表示递推公式的边界条件;进阶版代码中,补充空间优化思路,比如将二维数组压缩为一维数组,并通过注释说明“优化思想的核心是利用递推公式的依赖关系,仅保留必要的中间结果,减少内存占用”,这样能够适用于不同层次学生的学习需求,同时方便教师直接将代码用于课堂演示或学生课后练习。
4.3. 生成针对性纠错过程
针对学生在矩阵连乘答题、编程中的常见错误(如递推公式误用、边界条件遗漏、循环范围出错等),向AIGC输入精准提示词,比如“针对本科学生解答矩阵连乘问题时的3类常见错误:1) 递推公式中遗漏p[i − 1]p[k]p[j]项;2) 边界条件未初始化i == j时的m[i][j] = 0;3) 编程时循环范围设置错误。生成针对性纠错案例,包含错误示例、错误原因分析、分步正确修改过程,需要语言贴合学生理解水平,适用于课堂纠错辅导场景”。
AIGC可以快速生成适配教学的纠错素材。例如,针对递推公式遗漏项的问题,先给出学生错误的推导过程(如误写为m[i][j] = min(m[i][k] + m[k + 1][j]))及对应错误代码片段,再通俗分析其错误根源,其原因是未理解矩阵连乘的计算量构成,最后分步呈现修改后的推导过程和代码,并补充总结“递推公式三部分构成:左半段最小计算量 + 右半段最小计算量 + 两段结果相乘的计算量”,帮助学生牢记推导公式;针对边界条件遗漏的问题,明确指出初始化逻辑的重要性,补充i == j时m[i][j] = 0的原理(单个矩阵自身连乘,无额外计算量,此为动态规划求解的基础边界),帮助学生规避常见错误,深化对知识点的理解。
5. 面临的问题与应对措施
5.1. 面临的问题
1) 学生过度依赖AIGC工具,自主思维能力弱化。算法设计与分析课程的核心教学目标是培养学生的逻辑推理、问题拆解与算法设计的创新能力,然而AIGC具有高效解答、代码生成等功能,容易让学生产生学习惰性,导致学生无法通过课程学习来提升自身逻辑推理和问题解决、算法创新的能力。甚至部分学生在面对算法设计问题时,未经过自主思考,直接借助AIGC工具获得相应的答案,跳过了问题分析、推理算法、算法逻辑设计、编辑代码、试错调试的核心环节,这样会导致学生既难以理解算法的核心思想,也无法形成独立的算法设计思维,最终会使学生陷入“只会用工具、不会思考如何设计算法”的困境,进而违背了算法设计与分析课程教学的本质要求。
2) AIGC生成内容存在知识偏差。虽然当前主流AIGC模型具备较强的内容生成能力,但受到训练数据集和算法逻辑等限制,因此在处理复杂算法问题时,容易出现内容偏差,比如算法的时间复杂度分析错误、动态规划的状态转移方程推导失误、生成的代码存在逻辑漏洞以及算法执行流程演示时存在偏差等问题。如果教师没有严格核查这些生成的教学素材便直接使用于教学,或者学生直接学习错误的知识信息,极其容易导致学生形成错误的知识认知,从而干扰正常的教学节奏与学习过程。
3) 由于教师对于AIGC工具应用能力不足,没有很好地将AIGC融入到教学中。教师没有深入了解AIGC工具的功能、适用场景和操作技巧,因此无法将AIGC工具有效融合到算法设计与分析的教学中,也难以有效利用AIGC工具生成适配度高的教学素材;同时,部分教师由于缺乏对AIGC生成内容的核查、筛选与优化能力,因此无法及时发现并修正生成内容中的偏差或错误;此外,还有部分教师仍固守固有的传统教学理念,对AIGC的教学价值认知不足,甚至排斥将其融入实际教学过程,因此导致AIGC技术没有与教学进行有效融合。
5.2. 应对措施
1) 为了解决学生过度依赖AIGC工具的问题,教师可以采取“AIGC辅助 + 自主思考”的教学模式。教师需要引导学生明确AIGC在教学中只是“辅助工具”的定位,例如教师要求学生在提交算法设计报告时,必须附上学生自主推导的算法逻辑过程;教师也可以设置“算法盲推”环节,要求学生先独立完成算法设计,再通过AIGC工具进行分析和反馈设计的算法需要优化方面,从而达到避免学生过度依赖AIGC的目的。这种教学模式既可以有效地发挥了AIGC工具的辅助作用,又能保证学生独立思考的能力得以培养。此外,教师可以加强过程性评价,不能仅关注算法最终实现的结果,更重要的是考察学生的算法推导过程和思路创新能力。
2) 针对AIGC生成内容存在知识偏差的问题,可以构建基于教师人工核验和依托AIGC技术的双核验体系,从源头上把控教学内容质量。在算法设计与分析教学过程中,教师作为第一责任人,需结合算法设计与分析的专业知识,严格核验AIGC生成的教学内容、练习题以及习题解答、代码实现、流程演示等内容,需要重点排查算法的时空复杂度分析、逻辑推导、代码实现等方面的偏差;同时,教师也可以借助多个不同AIGC工具生成同一内容,通过不同AIGC工具生成的内容进行交叉对比,发现并修改单一模型造成的知识内容错误,确保所教知识的正确性,避免误导学生。除此之外,教师还需要教会学生去甄别生成内容的方法,引导学生结合教材内容以及专业资料验证AIGC生成内容的正确性,进而达到培养学生的批判性思维和知识核验能力的目的。
3) 针对教师对于AIGC工具应用能力不足的问题,教师可以通过AIGC工具运用能力培训、研究融合AIGC的教学方案以及基于AIGC技术的教学竞赛等方式,有效提升教师的AIGC工具应用能力,从而推动教学理念与AIGC技术的融合。对于算法设计与分析教师,学校可以开展专项AIGC工具应用能力培训,其内容包含AIGC工具的基本功能操作、教学场景设计、教学内容甄别优化与课程教学的结合策略等,进而增强教师的AIGC技术应用与融合教学能力;对于学院而言,可以组建跨学科教学团队,邀请人工智能领域专家与算法设计与分析教学骨干教师共同研究AIGC融合教学方案,分享教学经验与实操技巧;也可以通过基于AIGC技术的教研活动、教学竞赛等形式,引导教师转变教学理念,充分认识AIGC工具的教学价值,鼓励教师主动探索AIGC工具在算法设计与分析教学中的创新应用,推动教师从“知识传授者”向“学习引导者、技术融合者”转变。
6. 总结
在算法设计与分析课程中,针对传统的以教师中心,学生被动学的教学方式,本文提出了AIGC技术融入到教学的教学模式。为解决当前算法设计与分析课程中存在教学内容多、学生基础层次不同、实践训练薄弱、教学互动匮乏、教学资源单一化等五大问题,AIGC工具可以生成多样化的教学资源、分层设计习题、强化交互式教学过程、拓展实践维度等方面。但存在学生在学习算法设计与分析课程中过度依赖AIGC工具、AIGC生成内容存在偏差等问题,学生和教师应当正确认识和使用AIGC,明确AIGC是工具的定位,这样才能有效提高教学质量和学习效果。
基金项目
中国民用航空飞行学院青年基金项目(25CAFUC05012)。
NOTES
*通讯作者。