医学院校程序设计课程教学研究
2018-11-12张昌明马金凤
张昌明,马金凤 ,郝 杰
(徐州医科大学医学信息学院,江苏 徐州 221004)
程序设计类课程是高校计算机基础教学中的一门必修课,其教学目标是培养学生编程思维和编程能力[1],解决本专业领域中的一些问题,同时训练学生逻辑思维和抽象思维能力。医学院校学生需要背诵的内容较多,尤其需要加强这方面训练。
计算机编程语言有很多种,常用语言有C、C++、C#、Java、Visual Basic、Python等,每种计算机语言都有其特点与应用领域,考虑到难易程度和编程目的,我们认为Visual Basic比较适合医学院校学生,这是因为:(1)该语言简单易学;(2)集成开发环境界面友好,具有良好的用户界面设计工具。基于以上原因我校选择Visual Basic程序设计作为医学相关专业大学计算机基础的后续课程。教学中我们发现一些问题,如学生只会背诵概念,不会编写程序,对程序设计不感兴趣,学习目的不明确,学习时间和精力投入不足等[2]。
1 程序设计课程教学存在的问题
(1)教学大纲要求培养学生编程能力,但是在实际教学中,仍然以语法规则的讲解为主要内容,不注重编程能力培养。
(2)依据语言知识结构安排章节,例题脱离实际,没有针对性。教师在课程讲授过程中过于重视程序语法细节,忽视了需求分析、功能划分、编程思路以及算法设计等,导致学生常常处于一知半解的状态[3],失去学习兴趣,认为学习程序设计课程对专业发展没有帮助。
(3)以教师课堂讲授为主,教学模式单一,没有充分利用现代化信息技术,无法调动学生学习积极性和主动性。
(4)教学评价方式不科学,考核方法单一,考核内容侧重语法知识,学生只要背诵语法规则和概念就可以通过考试。
2 教学改革
2.1 加强实践教学,培养编程能力
程序设计教学目标是培养学生算法设计能力和编程能力。程序设计课程实践性很强,学生必须经过大量练习才能掌握编程技巧和方法,但是如何进行实践教学却是一个值得探讨的问题。程序设计课程实践教学主要是让学生在计算机上编写简单的应用程序以巩固所学知识。一般来说,上机时设计的程序代码规模小,只有几十行,主要针对本章节所学知识进行训练,一旦遇到比较复杂的问题,学生就会无从下手。因此,实践教学要循序渐进,设计一些与医学相关的小程序,比如,编写一个程序实现通过输入脉搏等数据就可以自动得出基础代谢率(见图1)。
通过编写医学专业相关小程序,激发学生编程兴趣,训练学生编程能力,培养学生解决问题能力。实践教学是能否实现教学目标的关键,也是提高学生学习兴趣、把学到的知识应用于实践的关键。
2.2 多种教学手段相结合,提高教学质量
图1 基础代谢率计算程序界面
(1)采用案例教学,充分发挥学生主观能动性。教学时,每一章都以具体案例作为问题引入,通过提出问题、分析问题、设计算法、程序实现,使学生养成程序设计习惯。比如,在数据库编程这一章中先引入医院挂号管理系统案例(见图2),引导学生设计界面、创建数据库、连接数据库、读写数据库。
图2 医院挂号管理系统界面
案例的设计首先要满足教学要求,能够在一个项目中综合运用尽可能多的知识点[4]。针对案例启发学生思维,不给出具体答案,引导学生思考设计什么样的控件,采用什么样的算法,舍弃繁琐、难以理解的语法知识讲解,把重点放在编程能力培养上,与医院信息系统相结合,提高学生学习兴趣。教学内容强调少而精,授课时讲授一些关键技术,指定参考书,让学生逐渐形成自己选择资料、获取知识的能力,提高学习主动性。
(2)营造多种学习环境,培养学生独立解决问题能力。“互联网+”大环境,为教学方法改革带来了可能、指明了方向[5]。除了课堂教学、课后实验外,我们还构建了网络学习平台,实现将多种教学手段融为一体,通过营造多种学习环境培养学生编程能力和独立分析问题、解决问题能力。网络学习平台可以弥补课堂教学的不足,使学生利用课余时间继续学习,为师生交流、生生协作创造了条件。
随着无线网络技术的不断发展以及智能移动终端设备的普及,移动用户数量迅速增长,为移动学习奠定了基础[6]。相对于传统互联网,移动互联网扩展了学生学习的时间和空间,增加了学习时间,有助于自主学习[7]。为了充分利用徐州医科大学网络课程资源,我们构建基于Android系统的手机移动学习平台,完成与校园数字化学习平台的无缝对接,实现云端一体化移动学习,让学生充分利用课余时间学习,随时随地获取有用信息和学习资源,加强自身知识储备,为项目化操作训练打下坚实基础,真正实现师生操作同步、辅助课堂教学的目的,大大提高了教师教学积极性和学生学习积极性,提高了学生编程能力。
2.3 完善教学评价体系
教学评价是指以教学目标为依据,制定科学的标准,运用一切有效的技术手段,对教学活动的过程及其结果进行测量,并给予价值判断。教学评价有5个功能:反馈调节功能、诊断指导功能、强化激励功能、教学提高功能、目标导向功能[8]。教学评价方法对学生学习程序设计课程产生重要影响。程序设计课程考核的重点是程序设计能力,即学生利用计算机编程解决实际问题的能力,而传统笔试无法达到该考核目的。为此,找到科学合理、公正的考核方式尤为重要。目前,我们采用50%考试成绩+30%实验成绩+20%课程设计作为学生最终课程成绩。期末考试在计算机上进行,编程题占较大比重,注重算法设计和编程能力考核。教师将教学重点转向算法设计和编程能力培养上,抛弃繁琐的语言知识教学,转向以培养编程能力为目标的程序设计教学。
增加课程设计,即在课程教学结束后,结合各专业特点布置一些与之相关的综合题,要求学生自由组合,成立课题小组,查阅资料,分工协作。锻炼学生综合运用所学知识解决实际问题的能力,提高学生学习兴趣,激发其求知欲。
3 结语
对程序设计课程进行教学改革的目标就是以课程学习为切入点,真正提高非计算机专业学生的编程素质和编程能力,通过该课程的学习及相关教学改革措施的实施,不仅让学生学习程序设计的基本概念、方法,掌握编程技术,而且要培养学生逻辑思维能力、分析和解决问题能力。医学院校学生要背诵的内容多,更需要加强这方面的训练。经过几个学期的实践,目前已基本达到预期目标,实践中出现的问题还需要在以后的教学中通过教学改革来解决,不断提高教学效率和教学质量。