APP下载

医学院校“面向对象程序设计”课程教学改革

2015-03-22,,,,,

中华医学图书情报杂志 2015年1期
关键词:面向对象程序设计课程设计

,, ,,,

“面向对象程序设计”课程是我校自2008年起针对信息管理与信息系统专业开设的一门程序设计必修专业课程,也是整个计算机课程教学体系中非常重要的一个环节。该课程采用具有简单、安全、与平台无关、多线程等特点的JAVA程序设计语言。开设此门课程,旨在让学生了解面向对象程序设计的基本思想和基础知识,提高自主学习能力以及分析和解决问题的能力、创新能力,为其后续课程的学习奠定良好的基础。根据多年的教学经验,我们总结了教学过程中存在的的问题,并进行了一些改革和探索以解决这些问题。

1 以往教学中存在的问题

1.1 教学体系不科学,忽略计算思维培养

“面向对象程序设计”课程涉及的概念多、零散、抽象。教师大多是按照设计好的教学模式,通过电子课件来进行教学。由于教学时数和教学进度的制约,理论课往往成了电子课件的展示课,教师对学生的关心程度几乎为零,学生不能主动参与到教学环节中[1]。加之我校信管专业部分学生是文科生,因此在学习这门课程时更是有一定的难度。

教师以往在讲授这门课程时通常存在两种情况:一是忽略概念的讲解,直接讲例题。由于学生之前主要学习C语言程序,已经习惯了面向过程的编程思想,如果缺乏理论的指导,很难转变到面向对象编程思想。二是先讲解JAVA中的概念,然后再举例说明。由于JAVA的概念和语法本身就难以理解,加上每个例题之间没有相互的关联,教师容易陷入解释概念和语法的误区中,忽略了算法设计这一环节。因此,学生即使掌握了每个知识点,也不能学以致用。

出现这些问题的根本原因在于没有把计算思维教育融入到教学中。面向对象程序设计要从面向对象的思想、面向对象的抽象概念和算法编程等方面对学生进行计算思维训练,提高学生分析、解决问题的综合能力[2]。

1.2 实践教学内容缺乏系统性

“面向对象程序设计”是一门很重视实践环节的课程,以往的实验课仅仅是对理论课所讲授的内容做验证,实验内容单一、枯燥,自主设计的内容很少。实验内容大多数来源于教材,针对每个章节所设计,内容陈旧,前后缺乏关联。另外,学生在实践环节主要关注语法规则,只是机械地模仿或照抄书本上的例题,找语法错误,很难深入分析问题,不能融会贯通,对系统开发的方法、概念认识模糊,即使所有的实验题目都会做,没有通过一些综合的项目训练,也很难把握面向对象程序设计的总体思想[3]。

由于实验内容的设置缺乏科学性、系统性,学生仅能使用JAVA语法规则编写简单的程序,而分析问题、解决问题和系统设计等一系列的计算思维十分欠缺,遇到实际问题仍感到无从下手。

2.3 考核方式单一,内容不合理

以往“面向对象程序设计”课程的考核主要采用笔试,考核内容多是类、对象、方法、多态、继承、接口和多线程等概念。笔试试卷从题库里抽题,不能根据学生的实际情况进行组卷。学生往往对一些知识点或概念进行记忆性的学习,忽略实际编程能力的提高。这种考核方式存在试题难易度不易把握、评价标准不够合理的问题,即使学生取得了高分,也不能如实反映教学中的薄弱环节,更体现不出学生的学习能力和创造能力,失去了考核的目的和意义。因此,需要根据该课程和学生的特点,找出合适的考核方式[4]。从2011年起,我校就在调整课程设置、改进理论和实验课教学内容、加强学生计算思维训练、提高学生创新能力和综合素质等方面进行了一系列的改革。

3 教学改革措施

3.1 明确课程目标,调整课程设置

在传统的教学模式下,学生不知道为什么要学习这门课程,也不明白学习这门课程对今后的学习和工作有何用处。因此,我们利用每学期第一次理论课向学生介绍课程的学习目标和今后学习的方向,让学生明确JAVA课程学习的目标是掌握JAVA的基本概念和语法,熟悉面向对象的编程思想和方法,能够使用JAVA语言进行一些简单的系统设计和开发,在这个基础上可以继续学习J2ME编程和J2EE企业开发等。

在2012年为信息管理和信息系统专业制定的新的培养方案中,我们将面向对象程序设计课程教学时数由60学时调整为72学时,其中理论课36学时,实验课36学时。在课程结束之后,继续开设一门与JAVA语言相关的“Android应用系统”限选课程,让学生能够了解JAVA在实际开发中的应用。

3.2 理论教学环节改革

对理论教学内容进行调整,注重将计算思维训练融入到教学内容中,让学生掌握面向对象的编程思想和方法。瑞士著名的计算机科学家Niklaus Wirth教授曾经说过:因为要进行程序设计,才学习语言,语言是程序设计的工具,本质是为了程序设计,而不要本末倒置[5]。

课堂上,教师不再过多地讲解语法,而是强调面向对象程序设计的优势,体现面向对象的编程思想。由于学生的先修课程是C语言,面向过程的编程思维方式在学生的脑海里根深蒂固。C语言里的许多功能需要编写函数来完成,但是在JAVA里只要直接调用系统类库中的方法就能完成。例如,用JFrame类创建一个简单的窗口,由此可以引入类的概念。类是对客观事物的抽象,是用来创建对象的模板。类中包括对同一类型事物的属性和行为的描述,通过接口和外界发生联系。类可以建立对象,每个对象可以具体地说明数据和行为,因此能逐步引入面向对象的基本思想,潜移默化地影响学生。向学生解释面向对象的编程规则、为什么要有这些规则和如何应用这些规则的过程,实际上就是在培养学生的计算思维。

注意概念和例题的讲解,前后要有一定的联系和层次结构。面向对象中的许多概念看似零散,没有关联,但实际上对编程起着十分重要的作用[6]。如果只是单纯讲解某一个点,没有把相关的概念串联在一起,学生会感到一头雾水,毫无头绪。在进行类和对象这一章的教学时,我们选取了计算梯形面积的例子。具体步骤是先定义一个具有计算面积方法的人,然后分别建立对象laderOne和laderTwo计算不同梯形的面积。在讲到后面实例变量和类变量的时候,由于要计算下底相同、上底和高不同的梯形面积,就可以把下底定义成类变量。在讲到多态时,可以将这个例题进一步扩展,建立一个图形类,图形类有梯形、圆形子类,通过实现图形类的抽象方法完成面积的计算。在讲到接口内容时,仍然可以使用图形面积的例子,让学生理解使用多态和接口的不同之处。这样的教学过程使学生清楚地看出这些主要概念的运用及其之间的联系[7],有助于进一步从面向对象思想和抽象的概念角度培养学生计算思维能力。

3.3 实践教学改革

实践教学是对理论教学效果的检验。通过实践教学,把面向对象编程思想和语言内容相结合,从逻辑思维方面训练学生的计算思维,提高学生的自主学习能力,培养学生的团队协作能力[8]。因此,实践教学的改革显得尤为重要。

实践课程的开始阶段主要以验证性实验为主。针对每次理论课讲解的内容,从历年的全国计算机等级考试、学科竞赛中精选一些题目,让学生完成。在选择题目时注意前后的连贯性。

实践课程的中后期则通过课程设计来加强学生的编程能力和面向对象思想的培养。课程设计分为教师引导、学生实践、交流讨论和提交作品考核4个阶段。

我们根据学生的具体情况设计了3-4个课程设计项目。这些项目要难度适中、知识覆盖面广,每个项目列出需要掌握的教学知识点。4个课程设计项目和涉及的主要知识点如表1所示。学生根据能力组成小组,完成其中的一个项目。指定一名学生为组长,其余学生各有分工,在提交课程设计报告和完成的项目时进行现场答辩演示。在课程设计实施过程中,教师按照软件工程中需求分析、项目设计、实施、调试维护4个阶段指导学生完成整个项目。在实践课上,教师把实训项目任务书下达给学生,根据任务书,指导学生完成需求分析,对所涉及的技术要点进行讲解;学生在课堂上对所需要实现的功能和技术开展讨论,并提出需要解决的问题。学生根据任务书的要求完成项目。

表1 课程设计项目及主要知识点

3.4 考核方式的改革

采用笔试和实践成绩相结合的方式考核,笔试、实践成绩各占50%。实践成绩主要依据最后上交的课程设计报告和现场答辩。答辩以小组为单位,选派一名学生对项目进行演示和现场解答。教师将根据每个小组学习态度、课程设计报告的规范性、项目设计的情况、技术能力、编程能力、现场演示和回答问题情况,并结合每位同学的具体工作量打分[9]。这种考核方式更有利于综合评价学生的能力,激发学生的学习热情。

4 教学改革效果

我们改进了理论教学方法,注重培养学生的计算思维;编写实验指导,通过案例训练学生的实践技能。经过几年的努力,不仅提高了整个教学团队的教学能力和科研水平,学生也取得了可喜的成绩。

从2012年开始,我校信管专业的学生陆续参加了“蓝桥杯”软件设计大赛,2013年获得“蓝桥杯”软件设计大赛安徽省的二等奖和三等奖,2014年获得了全国总决赛三等奖。学生开发的基于Android平台的“人体导航”软件,参加安徽省“创青春大学生创业大赛”蚌埠医学院校内选拔赛中获得第一名,并选送安徽省参赛。此外,以学生为主体成功申报了3项国家级大学生创新创业项目。

5 结语

教学改革任重道远,一切改革工作都要以促进学生成长为目的[10]。

我们在理论和实践教学改革中注重计算思维能力的训练,锻炼了医学院校学生的逻辑思维能力,培养了学生严谨的工作作风和创新能力。教学改革应该是全方位的,不仅要注重课堂教学环节,还要关注学生的课外学习、网络在线学习等,这些方面都需要我们进一步探索。

猜你喜欢

面向对象程序设计课程设计
GEE平台下利用物候特征进行面向对象的水稻种植分布提取
基于Visual Studio Code的C语言程序设计实践教学探索
基于手机的微课程设计、开发与应用策略研究
龙凤元素系列课程设计
中秋明月
从细节入手,谈PLC程序设计技巧
面向对象方法在水蓄冷PLC编程中应用分析
高职高专院校C语言程序设计教学改革探索
基于面向对象的车辆管理软件的研制与开发
PLC梯形图程序设计技巧及应用