杨长兴
摘要:针对教育部计算机基础课程教学指导委员会提出的“普及计算机文化,培养专业应用能力,训练计算思维能力”的教学总体目标要求,结合多年教学实践经验,通过研究计算思维与医学类计算机基础课程教学的关系,提出将计算思维思想引入医学类计算机基础系列课程教学过程的理念,改变目前计算机基础教学的教学方法,培养学生结合自身专业的计算机技术应用能力和创新能力。
关键词:多元思维;计算思维;计算机基础教学;创新能力
1.正确认识和理解计算思维的概念
要将计算思维思想引入医学类计算机基础系列课程教学过程中,首先要思考这些问题:计算思维的真正内涵是什么?计算思维与理论思维、实验思维的关系怎样?在教学过程中怎样运用计算思维思想?过去已有的教学方法与计算思维的关系是什么?
根据周以真教授对计算思维的定义,计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖了计算机科学之广度的一系列思维活动。计算思维最根本的内容即其本质是抽象(Abstraction)和自动化(Automation)。计算思维中的抽象超越物理的时空观并完全用符号表示,其中数字抽象只是一类特例。
人类认识世界和改造世界的两种思维形式是理论(数学)思维和实验(工程)思维。理论思维以推理和演绎为特征,以数学学科为代表。实验思维以观察和总结自然规律为特征,以物理学科为代表。计算思维是不是可以与上述两种思维形式相提并论?这还有待研究。从学科的角度看,计算思维以设计和构造为特征,能解决许多工程问题。笔者认为至少目前还不能把计算思维的思维形式提高到等同于理论思维和实验思维的高度,它还要获得众多学科的共识。
单从计算机科学与技术学科来说,计算思维思想在一定范围内源于理论思维和实验思维,或者说在一定范围内是理论思维和实验思维的延续,能在理论思维和实验思维的基础上解决实际问题,也就是能够解决过去理论思维和实验思维方法还没有解决的问题,在学科范围内发展理论思维和实验思维。这一点可以通过列举许多计算机科学与技术学科的成果证明:许多问题是理论思维和实验思维方法解决不了的问题,而使用计算机思维方法(计算机技术)就能解决。例如,符号积分和定理证明结果说明仅有数学科学而没有计算机技术是不能完全解决问题的;人类正常基因图谱的构造同样不能仅仅依赖于实验思维方法,而要依靠计算机技术完成。这正是计算思维的方法让计算机科学与技术学科展示了其求解问题的魅力。也许有人会认为解决这些问题的思想方法还是理论思维或实验思维的思想方法,只是使用了计算机这个高速运算的现代化工具。不错,计算思维思想方法可以借用过去已经存在的科学方法,但毕竟它以设计和构造为特征,这样的特征突出了计算思维思想的存在价值。
计算思维思想从理论高度上解析了计算机科学与技术学科是一门计算的学问(什么是可计算的?怎样计算?)。计算机科学与技术学科不仅仅是编程,也不仅仅是工具,重要的是它包含了包括编程在内的解决实际问题的科学思想与方法,因此计算机科学与技术学科的教师不能只是单纯教会学生使用计算机,而是要教授一种(定义为计算思维)新的思维方法,培养学生利用计算机技术认识和改造世界的创新能力。
计算思维思想的内容包括抽象和分解、递归、推理、约简、嵌入、转化、仿真、建模、利用海量数据等。这些内容的表达形式有的是在理论思维和实验思维活动中就有,还有一些是因为有了计算机技术才出现。无论是哪一种,我们要做的就是将这些内容以程序化的方式表达出来,最终解决问题。对于这些问题的解决,如果有方法,而人类自身的计算能力不一定能解决,那么只能依靠计算机。
在教学过程中,教与学涉及两类人群,教要有方法,学要有悟性。我们现在主要关注教的问题,也就是教学方法,而将计算思维思想引入教学过程,就是改进教学方法。在过去的教学活动中,我们的教学方法或多或少地运用了抽象和分解、递归、推理、转化、仿真、建模等方法,这些思维方法当然可以沿用,此外我们还要使用计算机技术出现之后才有的方法。计算思维只是一种形式的思维方法。我们在实际工作中提倡多元思维,能解决问题的方法就是好方法。计算思维的方法将是我们在教学过程中主要运用的思维方法。
2.将计算思维思想引入医学类计算机基础系列课程中的方法
医学类计算机基础系列课程包括大学计算机、程序设计语言、数据库应用、多媒体技术、医学图像处理、医学信息系统与医学信息决策等。课程设置目标是通过系列课程的教学,培养医学生将计算机技术应用在其专业领域的能力和创新能力。
以医学生最初开设的两门课程(大学计算机和程序设计语言)为例,计算思维的思想方法无处不在。在过去的教学实践中,不少的教学方法都运用了计算思维的思想方法。当然,我们也将引入过去没有融入课程的计算思维思想。
2.1在大学计算机课程教学中需要加强的思维训练
(1)对于当今的大学生,我们应该教授算法与数据、算法方法等内容,让学生理解计算机解决问题的能力。算法方法包括抽象、递归、推理、转化、仿真、建模、利用海量数据等。
(2)对于海量数据,我们可以通过存储与挖掘思想方法的教学,教会学生通过对海量数据的分析、加工处理、挖掘,找出新的数学模型(建模),产生新的经济增长点。这就是从量变中找出质变的线索。
(3)在操作系统的教学中,Windows对于CPU的管理实际上是串行运算和并行运算的实践。计算机的并行运算能力可以突破常规限制,解决过去解决不了的问题。现代超级计算机的运算能力充分体现了并行运算算法的作用。
(4)操作系统功能的共性抽象问题。多数大学计算机基础课程都会介绍Windows的使用,即文件复制、移动、删除、换名等功能。在教学中,我们不能把自己变成Microsoft公司的产品推介人,正确的做法是抽象出所有操作系统功能的共性,让学生理解所有操作系统从功能上讲基本相同,只是实现形式不同。我们从教学过程作出总结:操作系统提供给用户的功能是用户能够对“对象”进行新建、复制、移动、换名、删除、显示文件内容等操作,其中的对象指文件或文件夹。通过学习Windows,学生就能掌握操作系统的功能共性,无师自通地使用其他操作系统。endprint
(5)网络与通信内容的教学能够让学生了解如何共享信息资源以及计算机如何改变世界并拉近人们之间的距离,学会从众多的医学类数据库中查找、筛选出所需信息。
(6)在Office、Flash、Photoshop、网页制作等应用软件教学中,介绍应用软件的功能只是一个方面,更重要的是对软件应用目标、通用性功能进行归纳。这就要求教师以自己的体会和语言讲解清楚,而不是向学生灌输书本知识。
(7)对于医学类大学生来说,大学计算机课程还要融入医学专业知识,教师需要将计算机技术应用于医学专业的案例传授给学生,让其尽早接触计算机医学应用,同时引入医学类信息表达形式如DICOM标准以及医学数据库和医学信息系统等。这对一名从事医学类大学计算机课程教学的教师提出了更高要求,教师需要适当地掌握医学专业知识。
2.2在程序设计课程教学中需要加强的思维训练
(1)在程序设计课程的教学过程中,以程序语句语法为重点讲授课程内容是不明智的。程序设计课程的教学目标不只是让学生学会用某种程序设计语言写出能够让编译程序通过的应用程序代码,更重要的是学会解决问题的思想方法,这就是计算思维。如果教师在讲授程序设计课程时,把教学重点放在某种语言的语句语法上,按我们过去的说法是教学方法不当,没有抓住重点;按计算思维的说法则是教师自身还没有悟出科学解决问题的思想方法。对于一个工程问题,如果有如何建立数学模型的思路,那么不用某种程序设计语言也能用自然语言画出解决问题的流程框图;有的问题用数学、工程方法解决不了,可以换个思路;对同一个问题,则要研究有多少种解决问题的方案,哪一种方案最优。
(2)程序设计语言模型问题。任何一门程序设计语言能解决数学模型化的一切工程问题。在教学过程中,我们总结出图1所示的程序设计语言模型,这是任何程序设计语言都需遵守的模型,源于人类的自然语言。对于一个初涉程序设计的人来说,有了这个语言模型,就有了一个参照对象(自身生活中学习人类自然语言的模型),对于其学习程序设计语言有很大帮助,这实际上是计算思维中的抽象方法。没有计算思维概念的提出,我们也能总结出程序设计语言模型图,实际上程序设计语言模型的概念出现在计算思维概念之前。
(3)医药类院校要不要开设程序设计课程的问题。过去几十年,有人主张医药类院校不用开设程序设计课程,到现在为止,还有人这样认为。进一步,有人说在程序设计课程中,是否要引入计算思维的思想?或者说,能看懂他人的程序就不错了,不需要自己编写程序。笔者的见解是在医药类院校需要开设程序设计课程,实际上,近十年来绝大多数院校都开设了程序设计课程;在程序设计课程中应该引入计算思维思想,医药类院校学生也应该学会编写程序,因为学会编写程序的过程,实际上是培养解决问题思路的过程。
由此可见,计算思维的概念诞生时间不长,但其思维方式的运用很早就有。国内计算机基础系列课程教学的发展历程,实际上是一个自觉与不自觉地实践计算思维观的过程。无论是过去的思维方法,还是现在补充的新思维方法,我们要做的就是将计算思维思想引入课程教学,完善计算机基础系列课程教学方法。此外,教师不能只教学生怎样做,还要告诉学生这样做的道理。
3.把握契机,做好医学类计算机基础系列课程建设
医学类计算机基础系列课程的建设包括课程教学体系、教学大纲、教学资源、教学过程实践诸多方面,其中包括教学基本要求等的教学体系构建方案已由上一届教学指导委员会制定。我们现在的工作是在教学基本要求的指导下,根据教学指导委员会课题医药类大学生计算机应用能力培养优化研究及医药类大学计算机基础系列课程建设与改革的要求,做好教学大纲、教学用书、教学资源、教学过程实践各个环节的工作。其中,最重要的工作是在课程建设过程中引入计算思维思想,改革课程内容与教学方法,做好课程教学工作。教师需要具备必要的交叉学科研究基础知识,才能教好课程,更好地培养学生的创新能力。
根据课题要求,我们组织全国近20所医药类院校的计算机基础系列课程教师参与研究,组织建设医药类大学计算机、VB程序设计、数据库应用、药学计算、医学信息分析与决策5门课程。目前,我们已完成大部分教材、教学资源建设,正在参与研究如何开展课程教学实践,从各个院校反馈的教学实践情况看,师生反映良好。课题组教师认为融入计算思维思想后的教材、案例和其他教学资源确实改革了教学方法,提高了教学质量。学生则反映从课程中学到了思想方法,提高了应用计算机技术的能力。从考试成绩上看,学生提高了综合运用能力考试题型的得分率。
4.结语
将计算思维思想引入计算机基础系列课程,以完整的体系结构改革课程教学方法,提高课程教学质量,这一点在我们的教学实践中已得到证实。下一步,我们期望通过今后的教学实践培养学生的计算机技术应用能力和创新能力,还将进一步总结医学类教学案例,在更广泛的范围内组织课题实践,让更多的医药类院校参与课题研究工作。endprint