当前位置:文档之家› 面向对象程序设计课程建设的探索与实践_宋海玉

面向对象程序设计课程建设的探索与实践_宋海玉

91文章编号:1672-5913(2009)05-0091-04

面向对象程序设计课程建设的探索与实践

宋海玉,李锡祚,王玲芬,李 威

(大连民族学院 计算机科学与工程学院,辽宁 大连 116605)

摘 要:面向对象已成为计算机学科一个主要知识领域,在学科知识体系中占有重要地位。针对面向对象程序设计课程教学中存在的问题,本文给出了我院在课程关系、师资建设、教学方法和手段、实践教学、教材建设、过程管理和考核手段等方面的改革和实践。这些措施促进了课程建设,有效地提高了教学质量。 关键词:面向对象;程序设计;教学改革 中图分类号:G642

文献标识码:A

1 引言

面向对象程序设计是计算机学科本科生的一门必修课程,是大多数专业课程的先修课程,能否学好面向对象程序设计直接影响到学生后续主干专业课程的学习效果,也直接影响到今后的程序设计能力。面向对象程序设计课程要求学生理解面向对象的基本概念,掌握面向对象程序设计的技术,初步理解面向对象思考问题方法,这对绝大多数同学而言比较困难。有些同学甚至产生了畏惧情绪。因此,该课程的建设效果直接关系到学生程序设计水平和专业兴趣。本文对该课程的课程关系、教学方法以及教学实践等方面进行了探索性的改革和实践。

2 理顺课程关系、明确课程定位

根据我院计算机类专业应用型人才的培养定位,我院在培养方案中提出“加强基础教育、拓宽专业面向、重视实践教学、强化素质教育”[1]

,其中加强基础教育就是要加强编程能力。中学教育和大学教育之间存在较大的差异,在大学里少了许多“保姆”式的呵护,特别是在进入大学伊始,课程内容、课程目标、课程特点、教学方法突然改变,使一些学生无所适从,造成学生的盲从期与断奶期重叠,而此时正是大学生激情四溢,对专业好奇、渴望在专业上有所建树的时期[2],但传统上作为第一门专业课

程的计算机导论课程其定位不够明确,因此,用程序设计基础(C 语言)替代计算机导论作为第一门专业课程,课程启动方式改革为以强调编程能力的程序设计优先的课程启动策略[3]。程序设计类课程依照从第一学期到第七学期分别讲授:面向过程、面向对象、数据结构与算法、可视化程序设计、企业级软件开发、软件分析与设计、企业定制培训。“先过程、后对象”符合学生认知规律,“先工具、后算法”便于学生理解,“先文本、后图形界面”、“先小型、后大型”便于学生掌握,“先编码、后设计”符合学科规律,“先学科教育、后就业教育”符合人才培养规律。把每门课程作为一个“点”,通过程序设计这样一个系列课程,就构建了一个知识渐进型、成果阶段化的程序设计课程“线”,既明确了整个课程“线”中每门课程的定位,又减少了课程之间的剪刀差,实现了知识的平滑过渡,降低了学生学习的难度,激发了学生的学习兴趣。这样就明确了面向对象程序设计的课程定位,要求学生掌握面向对象的基本概念、掌握面向对象的实现方法、初步理解面向对象的思想,而算法设计、可视化界面、企业级面向对象开发方法、分析与设计则放在后续课程中。

3 多视角的教师角色

在课程定位、教学设计中,教师需要从两个视觉思考问题,分别是教师视觉和学生视觉。教师视觉,教师要从

基金项目:国家民委本科教学改革与质量建设研究项目、辽宁省教育科学“十一五”规课题、大连民族学院重点建设课程项目资助。

92

学科/专业对人才的知识、能力和素质的要求,从整个课程体系宏观角度对该课程进行定位并把握所授课程的地位和作用,即“既要看到树木、更要看到树林”;对所讲授具体的知识点,既要明确其在本课程中的地位,又要明确其在本专业中的地位,不能陷入知识点的琐碎细节中(要求教师和前后序相关课程多进行教研活动);除了把握课程知识外,教师还要能够跳出知识的圈子,强化能力的培养;努力探索激发学生学习兴趣和引导学生创造性思维的手段和方法。

在教学设计上,教师要站在学生角度考虑问题。要从有利于学生理解、吸收的角度组织课程,而不一定要按照教材上知识的逻辑结构来组织。知识讲授时,根据学生的现有知识和思维习惯,确定教学目标、量化教学任务、选择教学方法。

4 教学方法的改革

教育家皮亚杰认为:教学以学生为中心,利用情景、协作、会话等学习环境要素,使学生成为知识意义的主动建构者。教师是教学过程的组织者、指导者,而不是主动实施的知识灌输者[4]。但这些理论如何贯彻到具体的教学活动中,又如何根据所授课程和授课内容的特点来组织教学,确定科学合理的教学模式和教学方法,值得认真研究。在教学实践中,根据知识内容和性质,选择不同的模式和方法,有以下几类方法:

讲解为主。在课堂教学中,有关基本概念、基本语法和编程思想,依然要以老师讲解为主,理论讲解要透彻、知识点讲解要到位。在讲解知识时,主要是讲框架、讲思想、讲重点、讲关键技术,不要把所有的难点、细节问题一一罗列出来讲解,把学生变成了知识“存储器”,而应该把那些细节性问题留给学生课后思考或实践环节练习,给学生留下思考的时间和空间,有利于学生分析和解决问题能力的培养。在课堂教学中,特别强调“教师少讲两句、学生多写两行”,把喊了多年的“精讲多练”落到实处。

案例讨论法。在教学过程中,给出具体的案例,即提出问题,引导学生在问题中学习,给学生时间思考、讨论

以解决问题,使学与用一体化,从而更深入地学习。如果问题比较简单,可以抛出问题给学生几分钟思考的时间然后讨论。如果问题比较复杂,可以把学生分为几个小组,采用“教师课堂抛出问题、小组课后思考、上机合作实现、课后完成报告、课堂教师评价”这一模式。这种模式能够充分调动学生学习的积极性和主动性,有利于培养学生分析问题和解决问题的能力,有利于培养学生团队能力,而且通过理论联系实践使学生把知识学透了、用活了。

启发式教学,一般遵循“现象——发现问题——分析问题——解决问题——验证确认——总结”的过程。在整个过程中,教师要根据学生思维的方向进行适当的启发引导,不能偏离正确轨迹,否则,学时不允许。这种由小到大、由简单到复杂、由模糊到具体的一个演变过程可以激发学生的探索热情和学习兴趣,掌握知识间的联系和编程的工程化思想。此外,根据所授课程内容特点,还可以采用案例讲授法、任务驱动法、陷阱教学法等。

5 教学手段的改革

当前多媒体课件在高校课堂上得到普遍应用,但课件的使用要把握好度,切忌“以课件为中心,教师充当播音员甚至放映员”。这种“照屏宣科”是现代版的“照本宣科”,其教学方法和手段不可能得到学生的认可。在教学过程中要把板书、多媒体课件和软件开发环境有机地结合起来。概念定义、图解类说明等用多媒体课件讲解,这样知识表示更形象、描述信息量大,而且节约了板书时间。知识的推理过程用板书方法,老师边写边讲,使学生思维和老师书写同步。所有代码都在真实的开发环境上开发,便于交互式教学方法的运用,通过教师的引导,在师生交互过程中完成编码工作,调动了学生的积极性和学习兴趣。此外,在真实环境中开发更有利于学生对知识点的理解和实践能力的提高。

建设课程网络平台,从时间和空间上延伸了课堂教学。在网络平台上除提供教学基本文件外(教学大纲、教学日历),还及时上传课件、例题、练习题和单元测试内容等教学资源。网络资源有利于学生课前预习、课堂重现、课

93后练习,学习内容菜单化适应了多层次教学,此外网络答疑系统使师生交互实时性。

6 实践教学的改革

能力来源于实践、创新来源于实践,面向对象程序设计课程特点决定了上机实践是教学过程中十分重要的组成部分。通过几年下大力气在实验教材、实验辅导、实验考核手段和内容等进行建设,已经取得一定成效。

课组教师结合多年的实践课程教学,精心编写了实验指导书,所选实验包括设计性、综合性、操作性实验。其中设计性和综合性实验任务(需求)明确,操作性实验过程详细,增强了实验指导书的可用性。单个题目体现趣味性、新颖性。题目之间的知识点要体现出连贯性和渐进性。实践教学每年在内容上做适当调整,体现与时俱进。

加大实验教师建设,本课程理论教学由六名教师承担,除了理论课程教师外还专门配备了实验室教师承担实验教学。上机实践环节,强调编码能力和测试能力,每个题目要求学生自己设计,自己调试,教师只是起引导和辅导作用,通过实践环节的训练,学生不但可以巩固所学知识,而且还可以创新,真正体现了“实践出真知”。

实验报告从数量上、内容上做了改革。不再要求所有同学书写所有报告,因为计算机学科实践环节较多,几乎所有专业课程都有实践环节,若所有实验内容都要求学生写报告,学生课余时间肯定会疲于应付报告,根本无时间自主学习,这无异于把学生往抄袭报告的“绝路”上逼。因此,我们一般仅要求学生写设计性、综合性实验题目的报告。另外,在实验报告的结构、内容上也做了适当改进,如实验指导书上已经非常明确的实验目的、实验手段不再抄写,节省了学生宝贵时间。程序设计类课程的唯一设备就是计算机,因此,实验设备这一项对程序设计类课程而言就显得过于流于形式,为此,我们取消了实验设备这一项。报告内容要精、少,报告主要突出解决问题的思路、采用的模式、关键细节的处理、经验总结和知识的升华。总之,实验报告的指导思想是多做有用功、少做无用功、意义大于形式。

7 教材建设

本课程教材一直选用国内最优秀的教材,从我院设立该课程开始到2005年一直选用钱能教授的著作《C++程序

设计语言教程》,从2006年开始选用谭浩强教授的著作的《C++面向对象程序设计》,教材定位准确、知识组织科学合理、文字描述通俗易懂,且常用“提出问题—介绍解决问题的方法—归纳出一般规律和概念”的新教学三部曲方法[5],深受教师和学生好评。

课组教师正在编写教材,把多年在课堂教学中积累下来的案例等写入教材,并根据我院该课程在培养方案中的定位来科学合理组织知识,使之更适合我院学生,体现因材施教。该教材即将公开出版。

8 过程管理和考核

站在育人角度,加强过程管理。因为过程是知识积累的过程、能力培养的过程、行为规范的过程、成绩考核的过程。只有把过程抓好了,很多问题才能迎刃而解,如知识和能力的考核问题、应试教育与素质教育问题等。老师在讲解知识时抓过程,有利于学生理解消化知识;在教学设计中注重过程,以培养学生创新思维能力和动手能力;在实践教学中抓学生的规范性,比如代码开发流程的规范性、软件编码的规范性、语言表达的准确(如要求少说代词、多说名词)、实验室环境的爱护等规范性行为和思维;成绩考核的过程,要把平时分数量化到上述各个过程中,而不仅仅是出勤和作业情况。

当前在大学生中,不可回避的是作业抄袭现象。在这种情况下,教师不得不非常仔细地反复批阅大量的作业,以便检查出抄袭者。这极大地增加了教师的工作量。有时仅凭作业根本无法检查出抄袭者,教师单凭并不真实的作业情况作为平时成绩的依据显然是不合理的。由于本课程特点,课后作业和上机作业往往是同一个题目,课后设计编码、上机调试测试。为此课后作业的检查改革为教师不再形式上批阅所有作业,而是在上机环节检查,通过上机的课前提问、课程中抽查、课后检查的方法,使作业检查

94

过程化,教师把作业的过程化检查情况作为平时成绩的重要依据,这基本杜绝了作业抄袭现象,绝大多数同学都能独立完成作业,从考核手段上促进了学生的课后学习。

期末考试内容试题减少记忆性知识的考核,突出强调知识的“活”用,即分析问题和解决问题的能力,从考核手段上引导学生课程的学习,大大减少了高分低能现象。

9 结束语

面向对象程序设计通过多年的课程建设,已于2006年被列为学校重点建设课程。课组教师不但组内教研活动长期化、制度化,而且与课程“线”老师定期进行校验活动。程序设计类的七门课程建设都取得了较好成绩,两门省级精品课程、两门校级重点建设课程、三门校级合格课程。

教学效果的评价有不同的出发点。本课程的教学目标是培养学生软件编程能力,首先要看学生实际能力的提 高。近年来,绝大多数同学的动手能力有明显的提高,他们得到的不是对付卷面考试的能力,而是实际编程的能力、对学科的兴趣和饱满的自信心。近3来,我院学生在国内外学科竞赛中屡获大奖,国内外数学建模竞赛获奖20多次;2007年3月,由我院韩超等同学组成的机器人足球队取得全国前八强的;2007年7月,韩超等同学参加在美国举办的2007“世界杯”机器人足球赛,跻身国际前20

名(国内参赛学校前4名)。2008年5月,黄家泽等两人组成的参赛队获得微软“创新杯”编程竞赛全国第一名,受微软公司全资资助代表中国前往巴黎参加全球总决赛,并取得第二名的好成绩[6]。这些成绩也印证了我院多年来在程序设计类课程建设上的成果。

作为新建的民族院校,在课程建设的道路上,我们还任重道远,尤其是距离一流教师队伍、一流教学内容、一流教学方法、一流教学管理的奋斗目标还有很大差距,但相

信通过不断探索和改革,课程建设一定能取得更好效果。

参考文献:

[1] 李锡祚,宋海玉,郑海旭,王德高,王玲芬.民族院校计算机专业人才培养模式的改革与实践[J].计算机教育,2007,(20):

118-120.

[2] 蒋宗礼.论创新能力的培养[C].大学计算机课程报告论坛论文集2006.北京:高等教育出版社,2007:211-214. [3] 宋海玉,李锡祚,王玲芬,郑海旭.普通本科院校软件工程专业课程体系的研究与实践[C].大学计算机课程报告论坛论文

集2006,北京:高等教育出版社,2007:103-106.

[4] 何克抗.建构主义——革新传统教学的理论基础[J].电化教育研究,1997,(3):3-5.

[5] 吴文虎.对谭浩强教授《C++面向对象程序设计》的推荐意见[J].计算机教育,2007,(1):83-84.

[6] 宋海玉,李锡祚,郑海旭,王玲芬,王德高.软件工程专业人才培养的研究与实践[J].大连民族学院学报,2008,(5):

473-476.

The Reforms and Practices of Object-Oriented Programming Course

SONG Hai-yu, LI Xi-zuo, WANG Ling-fen, LI Wei

(College of Computer Science & Engineering Dalian Nationalities University, Dalian 116605, China)

Abstract: Object-Oriented Programming (OOP) has been an important knowledge field in computer discipline, which plays an important role. The paper analyzes the existing problem in the process of teaching OOP. To overcome the problem, this paper gives our reforms and practices in course relationships, teacher training, teaching method and means, practice teaching, textbook construction, teaching process management, examination method, which has effectively improved teaching quality.

Keywords: Object-Oriented; Programming; Reform in teaching

相关主题
文本预览
相关文档 最新文档