卢小杰 张 浩 叶明全 潘媛媛
(皖南医学院医学信息学院 健康大数据挖掘与应用研究中心,安徽 芜湖 241002)
医学信息专业是一门以信息科学和医学为主的多学科交叉与融合的新兴交叉性学科;是电子、计算机、通信、智能仪器、传感检测、医学仪器及生物学、现代医学等在生命科学中的应用与融合,该专业学生应具备较为系统的计算机知识和编程能力[1]。医学信息专业结合信息科学和医学,以智能医疗为培养方向,形成“人工智能+医疗”复合专业培养新模式[2]。“数据结构”课程是医学信息专业重要的课程之一,是学生学习计算机算法的起步阶段,本课程旨在培养学生的数据抽象能力,在理解各种数据结构的基础上,掌握算法编程方法,为以后学习更深入的机器学习算法打好基础。面向医学信息专业学生,把数据结构算法思想可应用到实际系统开发中,如构建医学信息系统、电子病例系统和医学图像处理和护士排班系统等。
医学信息专业数据结构教学中目前存在的主要问题如下。
首先,C语言是在“数据结构”课程学习之前必须要掌握的计算机语言,C语言课时少、学生基础较差、缺乏专业思想指导等因素造成学生对C语言的理解和认识都不足,学生编程基础薄弱。要理解各种抽象的数据类型,需要具备算法分析和设计的能力。学生往往出现能够理解算法思想,但其薄弱的编程能力不能转化为具体的程序,更不会根据实际问题的特点来灵活运用“数据结构”课程知识。例如,常用知识点如结构体、指针、函数等,学生对此把握不足,直接造成了学生学习数据结构知识比较吃力,尤其对指针和结构体的理解应用欠缺,如链表的结构体和插入算法等[3]。
其次,“离散数学”知识学习不扎实,数理逻辑、图论和组合优化思想欠缺,从而对数据结构知识不能全面地认知和科学地理解把握。如果能够理解“离散数学”图论知识,那么在学习树和图这两章时就容易得多。
总之,由于先修课程不扎实,学生感到本课程难学,学习积极性受到阻碍,学习效果不好,出现厌学情绪。
实验教学是高校专业课教学中的重要环节,实验动手能力,解决问题、分析问题的能力是学生终身受益的基本功。但在“数据结构”课程的实际教学中,实验教学出现一些不合理现象,如实验项目驱同化、难度层次不明确、目标性不强和实验考核方法不当等问题。
对实验作业题目而言,目前,国内高校几乎全部计算机相关专业都会开设“数据结构”课程,但实验项目类似,鲜有创新,如二叉树遍历的实现,学生仅按照教材方法完成了静态构造二叉树遍历的程序,缺乏创新和引申。在医学高校中的授课过程也缺乏与医学信息学科相关的附加性或引申性的实验项目,缺乏专业特色。
实验课考核方法是保障学生实验教学质量的决定性因素,严肃实验课考核可以督促学生学习理论知识,正向反馈课堂授课效果[4]。教师对实验课考核不严谨、考核方法不当造成学生实验课不认真、实验效果不理想,从而达不到实验的教学目的。在以往的实验评定中,教师多以实验报告来评定实验成绩,实验报告存在大量抄袭现象,如果仅仅以实验报告来评定实验成绩,并不能全面评判学生对知识的理解和把握,教师不能及时、准确、科学地把握授课效果。另外,大多数学生对实验课不认真对待,完成实验项目缺乏成就感和目标性,实验课上出现纪律混乱,增加教师的管理难度。
医学信息专业是计算机科学、医学、信息科学交叉融合的专业,教师自身的专业背景和指导思想不同,即计算机专业教师、医学专业教师和电子信息专业教师在专业背景上各具特色,学科壁垒在授课过程中突显,从而造成同学对课程体系设置不理解,专业向心力不强,专业思想不稳定的不良后果。
在“数据结构”课程教学中,作为医学信息专业的核心课程应把交叉专业的思想融会贯通,加强专业之间的融合。
C语言作为“数据结构”课程的重要先修知识,考虑到学生基础,可用两个学时来复习C语言的重难点,尤其是指针、结构体、参数传递等知识点,压缩“数据结构”课程第一章节绪论内容,只强调数据结构的发展历史、重要性、使用场合、算法复杂度等问题。在进入后面章节的教学时,关于程序部分可进行适当提及C语言的知识点。另外,对“离散数学”课程的复习可以选择性地融合到树和图的章节中。巩固先修课程,引入新课程,使学生逐步接受“数据结构”课程新知识的学习。课后,教师可利用现代通讯手段增加答疑环节,如微信、QQ作业等,利用碎片化学习时间来贴近学生日常学习生活。
实验课用布置作业和计成绩的方法,并把每次实验成绩汇总计入总评成绩中,设计层次实验模型和相应的考核方式,有层次的教学方式可以做到因材施教,区分学生层次提高学生做实验的兴趣。例如,“链表”的层次实验及考核,如表1所示。
表1 层次实验实例和考核方法
经过调查和实际推行,这种层次实验模型和考核方式具有可行性。另外,为了减轻教师实验考核负担,可以在实验室安装代码测试工具软件,让学生自测自评,教师负责最后打分。
对于交叉专业的授课,教师自身应改变思维方式,不仅要求教师在授课举例上与医学信息学科相结合,更应该在实践上让学生得到锻炼。课程设计是目前高校中常用的一种实践教学方法,是项目驱动法的重要体现,项目驱动法是理论知识和专业实践技能相结合的一种教学方法,使学生全面地掌握理论思想、设计方法、需求分析、可行性和专业技术。目前,在“数据结构”课程的项目驱动教学方法中,多半是以计算机专业的课程设计为主要导向,课程设计题目也多以计算机专业为主,缺乏学科针对性[5]。本文采用具有与医学信息学科相关性的项目,从课程设计题目上以医疗系统开发和医用信息技术作为主要方向。
1.HIS系统开发中的应用
树型结构是一种常见的非线性数据结构[6],在HIS(Hospital Information System)系统中,不同的医院部门科室、医院管理体系结构上需使用树型结构设计[7]。设计HIS网页界面的树型菜单,把不同的科室作为树的节点,结合HTML5、JavaScript、DIV+CSS3技术编写页面程序,数据库实体关系的建立也以树型结构进行,同时不同部门在构造、查询等操作也是树型结构进行。
2.电子病历系统中的应用
目前,国际上存在若干种病历数据表达格式,如临床文档体系结构(Clinical Document Architecture, CDA)[8]、网络社区的电子病历技术规范open EHR[9]、数字成像和医疗通信的结构化(Digital Imaging and Communications in Medicine,DICOM)[10]等。其中,医学图像和传输采用XML格式的DICOM文件,解析后可在普通浏览器上直接查看医学图像信息。数据结构的线性结构和树型结构被引入到DICOM文件中,如图1所示。
图1 DICOM的树型数据结构
数据结构算法思想使DICOM的信息对象和数据元素之间的嵌套和依赖关系更加清晰,解析更加方便快捷。
3.医学图像处理中的应用
智能医疗与语音、 图像、 文字结合,将推动工科人才培养向类人化目标转变,“数据结构”为医学图像的压缩、增强、边缘提取、分割及识别做好基本的数据模型,是对医学图像的分类、智能诊断和预测等研究的基础工作。采用链表技术,对医学图像的每一个像素点进行统计。其链式存储结构,如图2所示。
图2 图像像素链表示意图
其中red、blue、green为红蓝绿三基色,count为像素出现的次数,head1和rear1分别为该像素出现的位置链队中的首位指针,head2为指向统计该元素在图像中出现的间距的链表的头指针,next为下一个节点的指针。hangl和liel为该像素出现在图像中的行列坐标,hangz和lie2为该位置距离该像素前一次出现位置的相对距离。定义像素链表后可对像素进行排序操作,利用链表知识来完成医学图像特征的初步统计。
4.护士排班系统中的应用
排班是护士站的一项常规工作,目的是提高护士在班时间的利用率,有效利用医院护理资源。传统的排班方式无法结合逻辑算法,其按职、按功能制排班的方式不能有效地利用人力资源、调动医护人员的工作积极性,排班模式单一,探寻一种合理的护理排班算法模式是非常必要的。结合实际需求,在学生课程设计中结合数据结构算法设计出一种合理的排班方式。
护士排班表用数组表示,采用动态队列管理进行排班。设计简单的排班模型,例如,某护士站有20名护士值夜班,每月工作30天,要求至少每次有两人值班。定义队列结构如下[11]:
struct SqQueue{
QElemeType *elem;
Int front,rear;
Int queuesize,increment;
};
设计成30个空间大小的循环队列,以此进行插入和删除的队列运算,完成排班的模拟。通过这种排班方式的练习,培养学生在以后医院管理工作中的科学的决策方式。当然,对于层次较高的学生,可进一步研究蚁群算法、模拟退火算法、变邻域搜索算法等算法在护士排班中应用的课题,分化出研究型学习的学生。
以上数据结构理论与实际医学信息系统应用相结合能够让学生融合概念和原理,达到以项目驱动教学、以实践反馈原理的目的,让医学信息专业的学生能够发挥专业特长。
以皖南医学院为试点,对医学信息专业的数据结构课程实行教学改革。连续三年的期末考试成绩用spass22.0分析,得出期末成绩比较结果,如表2所示。
表2 期末成绩对比表
由表2可以看出,经过教学改革方法尝试的班级成绩要相应提高,并且学生期末成绩在显著水平a=0.01下服从正态分布。
“数据结构”课程在医学信息专业人才培养过程中具有非常重要的地位,通过成绩结果显示:此教改方法具有可行性,值得推广。此教改方案不仅可以增强了学生分析问题、解决问题的能力,还可以通过项目训练,培养学生的专业认知能力、团队精神和责任心。
此类教学方法初见成效,可以推广到其他新工科建设模式中去,在专业改革中实践,经过不断完善,形成专业风格,培养出有特色、有竞争力的医学信息专业学生[12]。新时期,医学信息学的发展应该更加密切关注人工智能的后续发展,借助人工智能发展的历史性机遇促进智能医疗建设取得新的更大的成功。