APP下载

以兴趣为导向的“面向对象程序设计C++”教学实践及探索

2016-12-20韩冰郭咏梅候慧玲

长治学院学报 2016年5期
关键词:面向对象C语言程序设计

韩冰,郭咏梅,候慧玲

(长治学院计算机系,山西长治046011)

以兴趣为导向的“面向对象程序设计C++”教学实践及探索

韩冰,郭咏梅,候慧玲

(长治学院计算机系,山西长治046011)

通过选择学生感兴趣的案例,提高教学的艺术性,强调与其他专业课之间的关系,采用面向实践能力的考核评价方法等,促进C++教学中学生兴趣及开发系统能力的提高,对面向对象程序设计C++教学改革进行了有益的实践和探索。

兴趣;案例;教学改革

一、引言

面向对象程序设计是高等院校计算机专业的重要课程,学习的具体语言不止一种,包括C++、Java、C#等。在面向对象程序设计教学中,骆斌、邵栋等[1]的教学理念是培养学生采用工程化方法构建个人及小规模软件系统能力为目标,以一个计算实例为线索,循序渐进讲授独立类开发、多个类开发、具有图形用户界面和网络功能的相对复杂系统开发。国伟[5]提出在面向对象程序开发中学习情境的引入会激发学生学习的兴趣。沈炜,庄巧莉[4]提出内部视角为出发点的教学方法。文章主要论述在面向对象程序设计C++教学中以提高学生兴趣,掌握面向对象编程思想,从而使学生可以具有小项目开发技能为目标的教学实践以及实践成果。

二、教学过程中存在的问题

不同学校C++的先修课程不同,有的直接学习C++,有的先修C语言,在文章中以先修C语言为例,主要存在的问题有:①通过C语言的学习,学生已经熟悉面向过程的编程,C++从名字上看很相似,所以学生开始学习时疑问多,兴趣不大;②C语言建立的是控制台应用程序,C++的教学中如果也同样只建立控制台应用程序,很难吸引学生,学生的编程积极性普遍不高;③课程内容抽象,教学严谨但是一旦缺乏生动活泼,就会大大降低学生的积极性和主动性;④教材中的例子老套,例如有的教材[3]采用的例子是迭代实现银行管理信息系统,每一章都会把新的知识点加入到已经做好的系统中,但是银行的存取款、利息的计算及支取逻辑本身比较复杂,增加了学生实现系统的难度;⑤学生的实践非常重要,但是实践的考评非常困难,很难避免作业的抄袭;⑥面向对象程序设计C++这一课程不是孤立的,与其他课程,例如软件工程、数据结构、数据库技术、计算机网络都有关系,在教学过程中只单纯以掌握知识点为目标,对学生学习体系的建立、职业化发展有不利影响。

三、提高学生学习兴趣的措施

为了解决这些问题,就需要采用以兴趣为导向的案例和任务驱动教学法并适当调整教学内容。爱因斯坦说过:“兴趣是最好的老师”,激活学生的学习兴趣,是学好一门学科的良好开端和动力。编程语言是枯燥的,面向对象的思想,类的开发,继承和多态,STL等知识点的掌握以及编程技能的融会贯通都离不开一个前提——学生有求知欲,学习态度端正。为了实现该目标,可以采取用兴趣、知识点和相关案例相结合的方式来设计教学过程,尽量用对话框程序作为学生需要完成的目标。

3.1选择可以激发学生兴趣的案例

学生对学习该课程带来的结果很感兴趣[2],并且希望得到学分以及好成绩。另外通过学习进行一些系统开发所带来的成就感也是结果之一,所以教师可以在教学过程中将知识点和一些案例相结合[6],然后学生通过动手实践掌握知识以及技能。面向对象程序设计C++教学重点主要有类和对象、STL、继承、多态等,教师可以根据不同的教学重点采用有针对性的案例。

大家普遍对游戏感兴趣,如果可以实现简单游戏开发学生会有很强的成就感,所以游戏应该作为案例的第一选择。单个类的设计比较简单,但类如果包含其他类的对象或是一个类使用其他类的对象就比较抽象,可以选择俄罗斯方块游戏的实现为内容,单元格类CCell、游戏区域类CGrid和方块类CPiece之间包含、使用的关系非常适合用于理解类之间的关系以及实现多个类开发。STL的内容非常广泛,可以选择一种容器进行教学,例如vector,计算器程序可以很好的用来理解并掌握vector这一容器。继承和虚函数的学习可以选择的案例同样很多,例如画图程序,元素类CElement、圆类Circle、矩形类CRectangle、线段类Cline的实现可以很好的令学生理解并掌握知识要点。运算符重载的掌握可以根据一连串的需求为出发点,例如日期之间的比较,计算相差的天数,相差的秒数等,通过时间类CTime、日期类CDate、日期时间类CDateTime的实现来进行学习。

3.2开发图形用户界面系统

如前文所说,学生如果一直建立控制台应用程序,对面向对象程序设计C++的学习兴趣会大打折扣,所以应尽量建立MFC项目的对话框程序,这样图形用户界面非常容易设计,只需要专注于程序逻辑。在教学过程中,教师需要适当引入消息处理机制和MVC框架,案例实现时将MFC类及一些函数的使用略讲。

3.3教学时运用教学艺术

享受学习过程,对所学内容感兴趣是更高层次的动机,而且对学习的激励有持续的作用[2]。如果教学内容枯燥无味,教师的讲授不能吸引学生,大部分学生昏昏入睡、开小差,那么也许教师准备的很充分,仍然不能提高学生的主动性和积极性。所以教师要掌握上课的节奏,一旦发现学生的注意力不集中,可以适当调剂一下氛围。面向对象程序设计课程的特点是学生不仅要掌握知识,更要掌握技能,拥有进行小型系统开发的能力。所以只通过多媒体设备传递知识,学生的注意力很难集中,为了提高学生的动手实践能力,教师如果能够直接现场书写代码,这种方式更直接,更容易吸引学生的注意力。

3.4强调与其他专业课之间的关系

在教学过程中强调《面向对象程序设计C++》与后续课程之间的关系,并且通过实例验证以更好的激发学生学习的兴趣及积极性。例如访问数据库或聊天室的建立,涉及到《数据库技术》这一课程,并与《计算机网络》、《TCP/IP协议》相关。

5.采用侧重学生实践能力的考核评价方法

学生的动手实践过程非常重要。《面向对象程序设计C++》的实践是通过不同系统开发来完成的,系统完成的时间先后、完成度、系统功能的扩展都作为评分的标准。为了避免抄袭,要求学生的项目名、类名中包含自己的名字,每个类、成员名旁要求有注释。最终的成绩实践占60%,期末试卷成绩占30%,平时成绩占10%。

四、教学实践总结

通过以上措施的实施,学生对《面向对象程序设计C++》的兴趣增加,完成的代码行数大约2100行,对93名学生做问卷调查后结果如表1、表2所示。

表1 不同项目兴趣程度

表2 知识点掌握程度

从表1、2可以看出,兴趣与掌握程度基本成正比,将近七成学生通过学习实践基本掌握了C++语言,可以进行小型系统的开发,学生对游戏的兴趣最高。数据库访问程序因为涉及到后续课程内容,学生的积极性不是很大。其中对教学内容完全没有兴趣或完全没有掌握的学生大部分是C语言基础差,函数、指针等没有掌握,对新的知识也就提不起兴趣,所以前期课程的掌握对后续课程的学习非常重要。

五、结语

文章主要论述了在《面向对象程序设计C++》教学过程中,以兴趣为导向,调整教学方法及内容,使学生尽可能掌握用C++开发系统的能力。教学过程中应多与学生进行交流,授课时控制课堂节奏,应适当增加实践课时。学生如何能够更好的掌握技能,这也是今后教学中努力的方向。

[1]骆斌,邵栋,任桐伟.软件开发的编程基础[M].机械工业出版社,2012.

[2]吕金城.浅谈课堂兴趣激励与高等数学教学改革[J].教育与职业,2006,(05):88-89.

[3]郑莉.C++语言程序设计[M].清华大学出版社,2015.

[4]沈炜,庄巧莉.基于内部视角的C++面向对象教学实践[J].中国校外教育,2010,(04):161-162.

[5]国伟.《C#面向对象程序设计课程》教学改革探讨与实践[J].科技创新导报,2013,(02):154.

[6]李秉璋.以提高应用能力为目标进行计算机专业课教学-“面向对象程序设计”教学改革探索[J].计算机教育,2006,(12):28-31.

(责任编辑张剑妹)

G642

A

1673-2014(2016)05-0092-03

长治学院教改项目(JY201502);2015年山西省高等学校教学改革项目(2015113);山西省教育科学“十二五”规划2014年度规划课题项目(GH-14031)。

2016—05—16

韩冰(1983—)女,山西沁水人,讲师,硕士,主要从事图形图像方面研究。

猜你喜欢

面向对象C语言程序设计
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
面向对象Web开发编程语言的的评估方法
峰丛洼地农作物面向对象信息提取规则集
基于面向对象的车辆管理软件的研制与开发
PLC梯形图程序设计技巧及应用
论子函数在C语言数据格式输出中的应用
面向对象的SoS体系结构建模方法及应用