基于知识图谱的Python语言程序设计教学工具的开发与应用

2025-01-18 00:00:00王宇刘文艳王珂武博张楠
中国信息技术教育 2025年1期
关键词:计算机基础知识图谱

摘要:在人工智能与医学大数据的背景下,作者所在学校开设了“计算机基础B”课程,着力于培养医学生的计算机应用能力和计算机编程思想。针对当前医学生编程能力明显不足的问题,本文开发了基于知识图谱的Python语言程序设计教学工具,帮助学生挖掘程序设计与任务代码之间的关系以及理解程序运行的内部原理,该工具围绕医学问题设计教学案例,能够激发医学生的学习兴趣,提高医学生使用计算机编程解决实际问题的能力。

关键词:计算机基础;计算机编程;Python教学;知识图谱

中图分类号:G434"文献标识码:A"论文编号:1674-2117(2025)01-0099-04

在人工智能与医学大数据的背景之下,计算机技术已经广泛应用于医学领域[1],为顺应时代发展,当代医生必须具备一定的计算机编程思想。[2-6]“计算机基础”系列课程是笔者所在学校为医学生开设的讲授计算机应用所必需掌握的知识的公共基础课程,其中“计算机基础B”包含21学时的Python语言程序设计教学内容。在“计算机基础B”课程的多轮教学中,通过成绩分析、问卷反馈等方式,笔者分析得出了Python语言程序设计教学效果,82.3%的学生认为提升了计算机编程思想,但由于没有前序程序设计类课程,医学生的编程能力明显不足,大多数学生自评为理解原理,但编程存在问题。同时,25.5%的学生反馈存在编程上的困难,30%的学生的Python课程设计作业成绩位于中差水平。教师在授课中也发现,学生的编程能力明显不足,在任务练习时,有相当数量的学生只是简单地抄写示例代码,或者只了解部分代码的功能,不理解程序内部的逻辑关系。

为改善Python语言程序设计的教学效果,笔者开发了基于知识图谱[7-8]的教学工具,通过工具直观地呈现任务代码、程序设计与知识点之间的逻辑关系,帮助学生阅读任务代码、挖掘代码与知识点之间的关系以及理解程序运行的内部原理。为激发医学生的学习兴趣以及提高医学生使用计算机编程解决实际问题的能力,工具中的任务案例均是围绕医学问题设计的教学案例。

基于知识图谱的Python语言程序设计教学工具的开发

本文开发的教学工具是使用图数据库实现Python教学内容的知识图谱,而后使用典型的服务器/客户端架构发布工具,其服务器端搭建在计算机实验室服务器的虚拟机上[9],学生在校内通过任何一台计算机的浏览器均可访问,且校内的局域网环境可保证访问的速度与安全性。

1.知识图谱的设计与实现

知识图谱是事实的结构化表示,由实体(entity)、关系(relation)和语义描述组成。实体可以是真实世界的对象和抽象概念,关系表示实体之间的关联信息。[10]本文首先基于课程内容形成知识图谱,然后利用neo4j图数据库存储知识图谱,具体如下。

(1)基于课程内容的知识体系梳理

本课程的教辅书籍均由授课教师编写,为确保准确性,本课题使用人工筛选的方式抽取教材中的知识,将知识点整理为实体、属性、关系,使用三元组的形式存储(如图1),保存为CSV文件,主要内容包括:在语言设计基础章节,将数据类型、程序控制语句和任务分别存储为实体与关系,将知识点的概念、示例代码等保存为属性;在数据处理与应用章节,分别梳理数值计算库numpy与表格处理库pandas,将常用函数、数据类型与任务分别存储为实体,建立各个章节知识点之间的关系;在数据可视化与科学制图章节,分别梳理可视化库matplotlib和统计分析图形库seaborn,同样将常用函数、数据类型与任务存储为实体,建立同前序章节知识点之间的关系,如建立seaborn的绘图函数与pandas中Dataframe数据类型的关系,帮助学生理解数据处理代码与科技制图代码之间的关系。

(2)基于neo4j的知识图谱实现

neo4j是用Java实现的开源NoSQL图数据库[11],作为图数据库中的代表产品,neo4j实现了专业数据库级别的图数据模型的存储,提供了完整的数据库特性,包括ACID事务的支持、集群的支持、备份和故障转移等。neo4j提供了申明式的查询语言Cypher,它类似于关系型数据库中的SQL语言,其具有表现力丰富、使用简单、查询效率高、高扩展性等特点。本文使用neo4j实现图数据库的存储,将第一步获取的csv文件导入neo4j即可完成知识图谱构建。neo4j数据库中的知识图谱涵盖了Python教学内容中的知识点、任务及其联系,知识图谱示例如图2所示,通过将知识点按章节进行分类,知识图谱能够清楚地展示各章节知识点及其联系,避免形成知识孤岛,帮助学生建立课程知识体系,通过Cypher可以查询具体知识点以及与其相关联的知识点,可实现基于知识图谱的教学应用,如查看程序流程相关的知识点。

2.教学工具的设计与实现

在教学实践中笔者发现,学生直接使用neo4j数据库进行学习的比例很低,其主要有以下两个原因:一是Cypher语言对于医学生来说难度太大;二是图数据库的知识点很多,学生找不到有效学习的切入点。针对这个问题,笔者在图数据库的基础之上进行了教学设计,结合教学内容设置与医学相关的教学案例,将教学案例作为学习的切入点,帮助学生理解程序内部的逻辑。为了提升工具的可用性,笔者还开发了简单易用的网站,学生可以在校内使用浏览器进行访问,通过简单的鼠标点击操作即可实现图数据库的查询应用。具体内容如下。

(1)基于知识图谱的教学设计

针对学生不理解程序内部的逻辑关系的问题,本文围绕医学问题设计教学案例,将知识图谱划分为任务图谱和知识点图谱两类,分别用于展示程序设计、任务代码与知识点之间的逻辑关系,即首先针对任务进行程序设计,然后使用Python提供的函数、数据类型等知识点实现任务代码。如图3所示,以分析两组病人的体重为例,首先进行程序设计,即先读入数据、转换为numpy数组,然后调用绘制小提琴的函数绘制统计报告图,任务图谱中的程序设计能够帮助学生理解可视化库、数据处理库与基本语法之间的逻辑关系,避免只会复制代码,而不理解代码内部的编程思想本质。知识点图谱用于展示程序设计与相关知识点之间的关联关系,学生可针对自身学习中的薄弱环节,查看相关知识点,从而提高学习效率。

(2)基于Flask的网站实现

Flask是目前十分流行的Web框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,适用于中小型网站的实现。另外,Flask还有很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展。本文网站基于Flask框架开发,网站包括后端数据库与前端网页,其中后端数据库使用Python的neo4j库实现与neo4j数据库的连接,使用Cypher语言实现对数据库的查询。前端网页主要使用D3.js实现知识图谱,D3.js是一个流行的JavaScript数据可视化库,它以数据为核心,通过数据来驱动文档的展示和操作,能够创建交互式的知识图谱,本文使用D3.js中的引力图模型实现交互式的知识图谱。目前,网站发布了20个教学案例,通过简单鼠标点击,学生可以查看任意案例的知识图谱,实现交互式、个性化的学习。

教学工具的应用与评价

本文实现的知识图谱工具如下页图4所示,在网站的index页面中首先展示教学设计中的任务,学生在选择具体任务后,点击页面中的提交按钮,网站将显示该任务的代码和对应的知识图谱,随后学生可以单击知识图谱中的文字实现交互式的查询,如点击程序设计,可以查看程序的内部逻辑,或者单击具体知识点,可以查看知识点的具体说明。该工具实现了程序代码、程序设计与知识点之间的查询,可以帮助学生理解代码内部的逻辑原理,以及更有针对性地进行知识点的学习。

在应用该教学工具后,学生的程序设计作业成绩明显提升,作业成绩位于中差的比例明显降低,由之前的30%降低到15%。学生对该教学工具的可用性评价较好,普遍认为该工具简单易用,与课堂教学内容紧密相关,有助于理解程序代码内部的逻辑,提高了学习效率。

结语

在人工智能和医学大数据的背景之下,医学院校越发重视培养医学生的计算机应用能力和计算机编程思想。基于知识图谱的Python语言程序设计教学工具简单易用,可以帮助学生理解代码内部的逻辑原理,以及更有针对性地学习知识点。在应用该教学工具后,学生的程序设计作业成绩明显提升,学生对Python教学工具的可用性评价较好。

参考文献:

[1]李杨,杜雷雷,许飞,等.大数据与人工智能在医学领域的应用进展[J].协和医学杂志,2023,14(01):184-189.

[2]武文芳,陈卉,赵相坤,等.长学制医学生计算机课程体系的教学改革[J].医学教育管理,2018,4(S1):26-29.

[3]张楠,武博,段娟,等.计算机教学中医学生理工素质的培养[J].中国医学装备,2012,9(02):49-51.

[4]曹蕾,段建颢,王丹丹,等.基于计算思维能力培养的医学生Python课程设计及实践[J].计算机教育,2020(09):159-162+167.

[5]高园园,曹蕾,王丹丹,等.新医科背景下医学生的Python课程教学设计与实践[J].医学教育研究与实践,2024,32(02):181-185.

[6]郭洪彬,王筝杨,万英锋,等.Python编程在八年制医学实习生教学中的应用[J].中国医学教育技术,2020,34(05):613-616.

[7]孙丽郡,孟繁军,徐行健.课程知识图谱构建技术研究综述[J/OL].计算机工程,1-25[2024-08-05].https://doi.org/10.19678/j.issn.1000-3428.0069543.

[8]闫滨,白天凯,田静,等.基于知识图谱的医学教学研究热点和前沿分析[J].中国医学教育技术,2023,37(01):27-33.

[9]刘文艳,王珂,沙飞,等.基于虚拟化技术的VMwareWorkstation实验平台在高校计算机实验课程中的应用[J].中国医学教育技术,2020,34(04):476-479.

[10]JIS,PANS,CAMBRIAE,etal.ASurveyonKnowledgeGraphs:Representation,Acquisition,andApplications[J].IEEETransactionsonNeuralNetworksandLearningSystems,2022,33(02):494-514.

[11]周丽霞,赵建平,陈昭宇.基于Neo4j的知识产权课程图谱构建研究[J].黑龙江教育:高教研究与评估,2024(09):71-74.

第一作者简介:王宇(1985—),女,博士,讲师,研究方向为医学图像处理;通讯作者简介:张楠(1973—),女,博士,教授,研究方向为医学图像处理。

基金项目:全国高等院校计算机基础教育研究会计算机基础教育教学研究项目(2022-AFCEC-116),首都医科大学校级教育教学改革研究课题(2024JYY041)。

猜你喜欢
计算机基础知识图谱
国内图书馆嵌入式服务研究主题分析
现代情报(2016年10期)2016-12-15 12:32:46
国内外政府信息公开研究的脉络、流派与趋势
现代情报(2016年10期)2016-12-15 12:27:57
近十五年我国小学英语教学研究的热点、问题及对策
基于知识图谱的产业集群创新绩效可视化分析
智富时代(2016年12期)2016-12-01 16:28:41
基于知识图谱的智慧教育研究热点与趋势分析
云计算环境下计算机基础课程教学研究的思索
计算机基础课程差异化教学研究
文科专业计算机基础教学改革实践
计算机教育(2016年7期)2016-11-10 08:22:41
公安院校计算机基础教学改革研究
中国市场(2016年36期)2016-10-19 05:15:46
基于QQ群的“翻转课堂”教学模式实践与应用