1. 引言
在数字化浪潮席卷全球的背景下,教育领域正经历深刻变革。近年来,国家高度重视教育数字化与编程教育的发展,陆续出台多项政策文件,推动教育体系智能化转型。2025年4月,教育部等九部门联合印发的《关于加快推进教育数字化的意见》明确提出,要构建知识图谱与能力图谱,深化教育大模型应用,推动课程、教材与教学体系的智能化升级,全面融入人工智能技术,实现科技教育与人文教育的深度融合。在高等教育层面,政策强调要面向数字经济和未来产业需求,优化学科专业结构,加快布局人工智能、量子科技、绿色低碳等前沿领域。
编程教育作为人工智能时代高校信息类人才培养的重要基础,其教学模式与内容体系正面临系统性重构[1] [2]。然而,当前高校编程教学仍存在“一刀切”教学、资源利用效率低、课程体系更新滞后、评价方式单一等问题,严重制约了学生能力的全面发展[3]-[5]。为此,亟需引入人工智能与知识图谱等新兴技术,推动教学模式从“以教为中心”向“以学为中心”转型。
知识图谱作为一种结构化的语义网络,能够有效组织学科知识、揭示概念间的逻辑关系,并为个性化学习路径的构建提供技术支撑[6] [7]。近年来,教育知识图谱在课程知识体系构建[8]、学习者画像生成[9]、智能推荐系统[10]等方面展现出广阔应用前景。在编程教育领域,构建基于知识图谱的个性化教学系统,不仅有助于实现教学内容的动态调整与学习路径的智能推荐,还能提升教学效率与学习体验,推动编程教育向智能化、精准化方向发展[11]-[13]。
综上所述,探索基于知识图谱的个性化编程教学路径,既是响应国家教育数字化战略的现实需求,也是提升高校编程教育质量、培养创新型人才的重要抓手[14] [15]。本文将围绕知识图谱在编程教学中的应用机制展开研究,构建个性化学习路径推荐模型,并结合混合式教学设计,提出可持续的教学改革策略。
2. 基于知识图谱改革编程教育的必要性
2.1. 传统教学模式的局限性
当前高校Python编程课程的教学面临多重挑战。首先,学习资源碎片化问题突出:尽管MOOC、GitHub等平台提供了海量学习资料,但这些资源分散且质量参差不齐,学生需要耗费大量时间筛选合适内容。据2023年课题组调研数据显示,82%的学生反映“自学时不知从何入手”,凸显了学习路径规划的缺失。其次,教学反馈机制滞后:传统课堂中,教师难以及时发现每位学生的知识盲区,往往在阶段性测试后才能发现问题,此时学生可能已形成错误认知。此外,随着Python技术生态的快速演进(如近年兴起的PyTorch深度学习框架),固定教材内容与行业需求之间的脱节日益严重。这些痛点严重制约了编程教学的效果,亟需通过技术手段进行改革[6]-[8]。
2.2. 知识图谱的革新价值
知识图谱技术为破解上述困境提供了新思路。其一,可视化知识网络能够清晰呈现Python语法、算法与框架之间的逻辑关联(如图1所示),帮助学生建立系统化的知识体系。例如,通过图谱可直观展示“NumPy数组操作→Pandas数据分析→Matplotlib可视化”的递进关系,解决传统教学中知识点割裂的问题。其二,基于Neo4j图数据库的动态更新机制,可使教学内容实时同步技术发展,如及时纳入大语言模型API开发等前沿内容。其三,智能推荐算法能依据学生的学习行为数据(代码错误类型、视频观看停留时长等),实现个性化资源匹配。对比研究表明,采用知识图谱的课程系统可使学习效率提升40%以上。
国内外教育界已开始探索知识图谱的教学应用,如覃业梅团队提出的基于知识图谱的《信号与系统》课程改革方案[16]。然而,现有研究多集中于理论探讨,针对编程课程的实践平台仍属稀缺。本研究通过构建Python知识图谱系统,不仅填补了这一空白,更创新性地将“知识关联可视化–学习路径个性化–教学反馈实时化”三者融合,为编程教育数字化转型提供了可落地的解决方案。
3. 系统架构设计
Figure 1. Workflow for building personalized programming learning paths using knowledge graphs
图1. 基于知识图谱的个性化编程学习路径构建流程
本研究构建的Python编程智能教学系统主要分为四个阶段:① 数据采集与知识抽取;② 知识图谱构建与优化;③ 个性化推荐系统设计;④ 教学实施与效果评估。以Python语言教学为实验对象,开发面向学生的可视化学习路径系统,实现因材施教(系统构建流程如图1所示)。
3.1. 数据采集与预处理
(1) 网络爬虫获取学习资源:利用Python编写爬虫程序,从互联网上抓取大量的Python学习资料,包括但不限于教程、视频、博客文章等。
(2) API数据提取:通过开放API接口,从合作伙伴处获取Python学习相关的结构化数据。
(3) 手动数据收集:针对难以通过自动化手段获取的数据,采取人工方式进行收集。
(4) 数据清洗:去除重复、错误或无关的数据,保证后续处理的质量。
(5) 数据标注及统一格式:对数据进行标注,并转换成统一的格式,以便于后续的处理和分析。
3.2. 知识抽取与整合
(1) 自然语言处理:应用NLP技术对收集的数据进行处理,提取出其中的关键概念、术语和知识点。
(2) 知识融合与实体对齐:将来自不同来源的知识进行融合,并确保同一概念在不同数据源中的表示一致。
3.3. 知识图谱构建与优化
(1) Python知识建模:基于抽取的知识点,使用Python编程语言进行知识建模。通过编写Python脚本,我们将从各种来源(如教科书、在线教程和文档)中提取的关键知识点进行结构化处理,形成初步的知识模型。
Figure 2. Segmented diagram of the python programming language knowledge graph
图2. Python编程语言知识图谱局部示意图
(2) 图谱结构构建:利用Neo4j知识图谱数据库技术构建知识图谱,明确知识点之间的逻辑关系。图2展示了使用Neo4j构建的简要Python编程语言知识图谱示例,其中节点表示不同的知识点,边表示它们之间的逻辑关系。这种结构不仅便于理解和导航,还支持复杂的查询和分析。
(3) 图谱优化及更新:持续优化图谱结构,并根据新的研究成果定期更新图谱内容。
3.4. 推荐系统构建
通过分析编程知识点之间的逻辑关系与依赖性,形成一个可视化的知识网络。该网络不仅包含了编程概念、语法等基础知识点,还涵盖了深度学习、图像分类、网络爬虫、游戏设计等高级技能,为学生提供了从入门到精通的完整学习路径,如图3所示。
Figure 3. Illustrative diagram of knowledge graph-based Python programming learning path recommendation
图3. 基于知识图谱的Python编程学习路径推荐示意图
(1) 分析学习者特征:通过问卷调查、在线行为分析等方式了解学习者的兴趣、能力和学习风格。
(2) 个性化学习路径规划:根据学习者的特点,制定适合他们的学习路线,如图3所示。
(3) 动态学习路径的调整:根据学习者的进度和反馈实时调整学习计划。图4展示了基于知识图谱的学习路径迭代过程。
Figure 4. Segmented diagram of the Python programming language knowledge graph
图4. Python编程语言知识图谱局部示意图
(4) 基于知识图谱的资源推荐:利用知识图谱推荐相关性强的学习资源给学习者。推荐系统通过预测节点的点击率来优化推荐效果。
(a) 使用前教学评价 (b) 使用后教学评价
Figure 5. Segmented diagram of the Python programming language knowledge graph
图5. 个性化推荐系统实施前后课堂评价
4. 教学实施及教学改革效果
课前准备阶段采用智能诊断与精准推送相结合的策略。系统通过入学测试(包含128道编程能力评估题)建立学生初始能力画像,并据此生成个性化预习方案。例如,对面向对象编程薄弱的学生,会优先推送“类与实例”的交互式教程(平均时长9.3分钟);而对算法基础较好的学生,则推荐LeetCode相应题目。教师可通过可视化看板实时监控全班预习进度,识别共性难点。
课堂教学实施“双主线五环节”创新模式。以“装饰器应用”教学为例:(1) 情境导入(8分钟):展示Flask路由装饰器的实际应用;(2) 核心讲解(15分钟):解析装饰器语法本质;(3) 图谱探索(12分钟):学生自主研究装饰器与闭包的关系;(4) 协作编程(20分钟):分组实现日志记录装饰器;(5) 反思提升(10分钟):通过知识图谱回溯知识链。实践数据显示,该模式使课堂互动率提升至82.7%。系统输出的课堂评价如图5所示,图5对比了使用推荐系统前后课堂评价的差异。
5. 结束语
本文基于知识图谱技术与个性化推荐算法,提出一种编程教育新范式。研究表明,该方法可有效提升学生的学习效率与主动性,同时为教师提供可量化的教学辅助工具。未来工作将进一步扩展至其他编程语言与课程,探索更广泛的应用场景,并优化推荐算法以适应更复杂的学习行为。
基金项目
成都工业学院四川省2024~2026年高等教育人才培养质量和教学改革项目(20241212Y)。
NOTES
*通讯作者。