引入计算思维的医学计算机基础教学改革探索
2017-06-09吴暾华王萍白宝钢
吴暾华 王萍 白宝钢
摘 要:面向医学的计算机基础教学不应拘泥于编程技术细节,而应在“授人以渔”的方向下将计算思维自然地融入教学内容,使学生掌握利用计算机分析和解决实际问题的能力。为此提出了一个全新的教学方案。首先通过建立计算思维案例库阐明计算机对医学的促进作用,进而揭示计算思维的内涵。同时注重与纯数学或实验思维的对比并依此引导学生转变思路。最后引入软计算思维,指明智能医疗的发展前景和途径。实践结果表明所提出的教学方案是有效的。
关键词:计算思维;数学思维;医学;软计算
中图分类号:G642 文献标识码:A 文章编号:2096-000X(2017)17-0131-04
Abstract: Basic computer education towards medical science should not rigidly adhere to the technical or operational details of the programming language, but should naturally merge computational thinking into teaching content so that students can master the ability to use computer analysis and solve practical problems. To this end, a new teaching scheme was put forward. First of all, through the establishment of computational thinking case database, the important role of computer knowledge and programming technology promoting medicine was clarified, and then the content of computational thinking was revealed. At the same time, the comparison to pure mathematics or experimental thinking was conducted, which may guide students to change thinking pattern and increase the method for solving new problems. Finally, the introduction of soft computing thinking can indicate the development of intelligent medical prospects and ways. The results of the practice show that the proposed teaching program is effective.
Keywords: computational thinking; mathematical thinking; medical science; soft computing
一、概述
計算思維是指运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解的一系列思维活动[1,2]。计算思维与数学建模的思想非常相似,即遇到实际科学或工程问题,首先应该类似于程序设计第一步——需求分析,对问题进行抽象、转化,并给出各种假设或定义;然后,根据各种数学方法结合计算机科学特有的、无法用公式精确、完整描述的算法设计出可计算模型;最后得到模型的近似解。非计算机专业人员只需大概清楚计算机算法能够做什么、怎么结合,而具体的实现过程可交由计算机专业人员完成。
自计算思维被提出后,国内外众多研究者对其进行了广泛而深入的研究,明确了计算机不仅是一种工具,而且还是一种独特的分析问题和解决问题的思维方式,而计算机基础教学是培养大学生基本的计算机应用能力和计算思维能力的重要基础教学环节。国内很多高校的教师已经纷纷基于计算思维的培养对相关课程进行改革和研究,目前也取得了一系列的教学成果[2-5]。
虽然计算思维的培养已经成为大学计算机基础教育的共识,并且强调计算思维是人类应该具有的三种思维能力之一[1,2],但是从目前来看,对计算思维的研究主要还是在理工科领域,原因主要有以下几个方面:
1. 医学类计算机课程的课时分配较少,一般只要求掌握基本知识和应用技能,而很少开展基于计算机的创造性思维培养。
2. 计算思维起源于计算机科学研究,目前国内外计算思维研究的主导者主要来自计算机科学专业,所以目前提出的计算思维课程改革模式主要面向理工科[6,7]。
3. 受计算思维研究者的专业背景所限以及与医学专业之间的鸿沟,计算机专业的教师较难理解医学专业的特点,因此提出的改革模式并不十分适应医学计算机教育的需求。
但是对医科类学生进行计算思维的培养十分必要,一是因为计算科学不仅在材料、化学和生物等理工科领域有重要应用,在医药领域同样具有重要作用;二是虽然医科学生将来不一定直接从事计算机科学工作,但却常常需要跟计算机科学工作者或其他专业人员合作,有时还要进行重要任务的决策,因此其计算思维的意识和运用显得尤为重要。而随着信息技术的发展,医科学生可以接触到的计算机科学知识越来越多,计算机应用能力也有了大幅度的增强,伴随着逻辑能力也有所增强,这使医科学生较好地理解和掌握计算思维能力成为了可能。
为了让医科类专业学生更好地理解和掌握计算思维,不能将计算思维的概念直接灌输给他们,而需要找到更适合医科专业特点的方式方法。为此,我们提出以计算机在医科专业中的应用为落脚点,在医科类计算机基础教学课程中进行计算思维的培养模式。
二、教学方案设计
本教学方案面向医学等非计算机专业,相比传统教学方案更重视兴趣的培养和思维方法的引导,通过与具体专业相关案例紧密结合,将计算思维具体化、实用化,以此激发学生的创造力、提高他们运用计算机进行学术探索和创新的能力。本方案的主要模块如下:
(一)建立能体现计算思维独特性的案例库(尤其是医学相关案例),不刻板介绍计算思维的概念
首先解释计算机能做什么、能解决什么问题,结合医疗信息系统、医学影像系统、医学专家系统等与医学专业密切相关的例子阐明计算机知识与编程技术对医学的促进作用,理清计算机专业人员和非计算机专业研究人员之间的关联,进而揭示计算思维的内涵。例如,根据本人在基于几何活动轮廓模型的医学图像分割方面的研究,先综合分析物体轮廓提取所涉及的轮廓长度、轮廓内面积、轮廓内外灰度或颜色的一致性等不同影响因素,设计出与轮廓提取有关的能量模型,然后最小化该模型得到可计算的、随时间演化的曲线方程。这个例子说明计算思维与数学建模的思想非常相似,即遇到实际科学或工程问题,首先应该类似于程序设计第一步——需求分析,对问题进行抽象、转化,并给出各种假设或定义;然后,根据各种数学方法结合计算机科学特有的、无法用公式完整描述的算法设计出可计算模型;最后得到模型的近似解。非计算机专业人员只需大概清楚计算机算法能够做什么、怎么结合,而具体的实现过程可交由计算机专业人员完成。通过上述案例,学生将更加明确程序设计的角色和重要性,掌握软件开发的基本方法。
(二)注重与纯数学或实践思维的对比,对现有例题库进行清理,发现有代表性的反映思维差别的例子
计算思维既不同于纯实践思维,也不同于纯数学抽象推理分析,而是类似于数学建模,既要有归纳、抽象问题本质、转化为可计算的能力,也要有建立基于计算机技术的解决思路,充分利用计算机快速、非线性、自动化等优点得出令人满意但可能只是近似最优的结果。
假设有a只鸡,b只兔子,满足:动物总数为m(由用户输入),动物腿的总数为n(也由用户输入),求a和b。
1. 按照纯数学思维可得唯一解
3. 分析
不难发现,采用计算思维中的遍历搜索法(类似于凑答案的最原始想法),看似很简单但具有较强的适应性和拓展性,对于具有相似性的问题有很好的重现性,其算法往往无法用公式直接表达。而纯数学思维解题思路往往较为复杂,根据定义、定理、推理、公理得到精确解,其算法须严密地通过数学公式表达,例如上述例子中采用了线性代数中的求解方法,对于没有学过线性代数的人来说上述问题将变得难以解决,且计算复杂度随着变量的增加显著增大。
因此,计算思维对算法的表述与数学思维往往具有较大的差别,有时是近似解与精确解的差别,计算思维无法用公式表达的算法[8,9]。遇到实际应用问题时,数学思维和计算思维互为补充、相辅相成:首先利用数学思维对问题进行抽象、归纳,进而利用某些物理特性构造数学物理方程,然后求解得到连续解;接着,利用计算思维将连续解离散化,利用递推、迭代方法得到一定精度的近似解。因此,数学思维是计算思维的前奏、基础。
(三)引入软计算、非线性思维拓展视野,指明智能医疗的發展前景和途径
目前所有医疗设备、软件都将走向智能化,由此必将带来产业的大升级、大变革[10]。智能医学专家系统可更客观、更准确地获取诊断特征并自动给出诊断结论以辅助医师确诊。利用人工智能技术还可从海量临床数据中自动抽取出有价值的规律,从而建立非线性的疾病预测模型,提高诊断的准确性。此外,智能化的人机接口技术有助于提高康复医疗水平,如通过脑机接口、声控、眼控技术帮助渐冻人或其他残疾人使用电脑与外界沟通,提高生存质量。总而言之,现代医学的发展趋势是智能化,而且必将带来巨大的效益。因此,教学内容中少量增加将人工神经网络、遗传算法等经典软计算方法的关键思想,简要介绍应用范围,对于医学专业学生开展非线性数据分析与智能诊断研究将具有一定的指导作用。
(四)运用“化繁为简”、“抽象归纳”思想将编程设计的重要知识点贯穿起来
具体体现在:1.循环,如计算1到100的整数和,需要101条顺序执行的语句来实现,因此采用循环表达规律,解决了繁琐的规律性问题;2.数组的定义,若要存储班上所有同学的数学成绩,需要定义120个变量,因此想到将类型和作用相同的变量归并为一个有序集合统一存储和处理,便于循環处理;3.模块化设计思想,类似于微软提供的标准内部函数,也可将具有公共作用、通用价值的代码抽象、归纳为自定义函数或过程,然后将工程范围内公共函数或过程移入公共场所——标准模块,方便各模块共享;4.框架控件,将类型和作用相同的控件对象放入其中,将对象分类管理,以Caption标题标识该组对象的作用,使得界面清晰化;5.列表框和组合框,如界面上提供选择的选项太多,采用复选框或单选按钮显得繁杂,因此可将所有选项集合到统一的对象中,即列表框或组合框,而组合框相比列表框更加简洁——所有选项叠加为一行;6.控件数组:可将界面上类型和作用相同的控件对象合并为一个数组,如此可将代码中高度相似的、处理过程几乎相同的事件响应过程合并为一个事件响应过程,即实现处理的统一化、代码简洁化,采用控件数组后冗余的事件响应过程将被剔除。
三、实践效果及分析
项目组成员已连续两年面向本校临床专业新生开展了基于计算思维的《计算机程序设计基础》教学改革探索并取得了良好的教学效果。
(一)实践方法设计
1. 对比数据中“试点班”指的是采用计算思维教学方案的临床专业班级。而“普通班”指的是未采用计算思维教学方案的其它专业班级。
2. “试点班”和“普通班”学生入学成绩相当(普通班来自眼视光七年制、眼视光五年制、口腔、检验医学),被随机抽取的班级数量相同,均为8个教学班(30人/班)。
3. 遵循本校规定,期末考卷成绩等级划分标准为:百分制85分以上为“优秀”,不低于75且低于85分为“良好”,不低于65且低于75分为“中等”,不低于60且低于65分为“及格”,低于60分为“不及格”。
4. 采用的期末考卷相同,试卷采用统考、统改,计分标准相同。
5. 分别抽取2014年秋季和2015年秋季的期末考成绩進行对比。
(二)实践结果分析
由于采用的期末考试卷相同、学生入学成绩相当、任课教师组成相似,基于计算思维的试点班与普通班具有较高的可比性。从图1和图2可见,经过两年实践,试点班的平均分显著高于普通班(约5%),尤其当试卷难度提高时(2015年的试卷难度高于2014年),优势更加明显。同样地,试点班的成绩分布显著优于普通班,优秀比例明显高于普通班(约12%)而不及格率明显低于普通班,特别是当试卷难度提高时,优势同样更加明显。因此,从实践结果可见这篇文章提出的面向医科大学的基于计算思维培养的计算机基础教学方案是有效的,有助于提高学生分析、解决问题的能力。
当然,这里所提出的教学方案也存在不足。众所周知,慕课、翻转教学是近年教育发展的新动向,如果能让学生自主地围绕这某个与计算思维和医学相关的主题开展学习报告,学习效果将会有更大的提升[11]。
四、结束语
通过分离、提取科研或学科竞赛中的成功案例具体地将计算思维呈现给医科类学生,使得计算思维不再抽象刻板,而是具有实用性。非计算机专业学生只需大概清楚计算机算法能够做什么、怎么结合,而具体的实现过程可交由计算机专业人员完成。有助于提高了学生的学习兴趣,激发学习计算机技术的热情,更加明确程序设计的方法论,同时提高他们运用计算机进行学术探索和创新的能力。实践结果表明所提出的教学方案显著提高了学习成绩、优化了成绩分布,该方案是有效的。接下来将着重研究如何将该方案与慕课、翻转教学结合,以及如何更加合理地调控教学内容的比例和进度。
参考文献:
[1]Jeannette M. Wing. Computational Thinking[J]. Communications of the ACM,2006,49(3):33-35.
[2]战德臣,聂兰顺,徐晓飞.“大学计算机”——所有大学生都应学习的一门计算思维基础教育课程[J].中国大学教学,2011(4):15-20.
[3]陈国良,董荣胜.计算思维与大学计算机基础教育[J].中国大学教学,2011(1):7-11.
[4]谭浩强.面向计算机应用与科学思维能力培养——关于计算机基础教育深化改革的思考[J].计算机教育,2014(7):4-8.
[5]袁同山,阳小华,白宝钢.医学计算机应用(第5版)[M].北京:人民卫生出版社,2013.
[6]刘志敏,唐大仕,钱丽艳,等.北京大学文科计算机基础课程改革的新进展[J].计算机教育,2013(17):130-132.
[7]吴旭,牛少彰,颉夏青.计算思维与理科专业“大学计算机基础”实践教学研究[J].北京邮电大学学报(社会科学版),2015,17(1):88-93.
[8]徐奕奕,唐培和,唐新来.计算文化视角下“大学计算机基础”课程改革初探[J].高教探索,2016(8):71-74.
[9]郑丽坤,关绍云,郭丹.计算思维引导的高校計算机基础教学实践研究[J].黑龙江高教研究,2016(2):174-176.
[10]李廉.方法论视野下的计算思维[J].中国大学教学,2016(7):16-21.
[11]鲁强.计算思维导引新生研讨课的实施与认识[J].计算机教育,2016(10):133-135.