C++程序设计基础教学方法改革研究探索
2018-02-23
(广东外语外贸大学南国商学院 广东广州 510545)
引言
C++程序设计是计算机科学与技术、软件工程等相关专业的基础课程,软件工程等,其主要特点是抽象、封装、继承、多态性。C++程序设计是为学生进入软件设计厅的关键。为进一步研究“数据结构”、“人工智能”和“计算方法”等后续课程奠定了坚实的基础。然而,C++程序语言的过程是乏味和困难的。因此,如何让学生对编程和学习这门课程感兴趣是教师必须探索的问题。[1]
一、C++程序设计教学的面临的问题
1.教学内容庞大,难度高,课时不够
C++编程语言是一种面向对象的语言,是开发和维护大型软件工具。”C++程序设计”的内容、知识,和更多的专业术语,是一门很难的课程。我们学院已经安排了第二学期的课程。这是学生的第一门程序设计语言课程。学生从无到有,缺乏专业知识。同时,学生的学习能力和实验能力相对较差。因此,学生表现出对课程的恐惧,教师的教学难度较大,课程的通过率相对较低。[2]
2.针对不同层次的学生教学方法一样
随着教育的普及,高校的扩招,大学的门槛越来越低,所以教学中学生的差异也越来越大。如果对所有的学生都采用一样的教学方法,那么学生之间的差异就会越来越大。同样的教学内容,对基础好学习能力强的学生来说,规定的时间内消化它们绰绰有余,而学习能力差的学生则感觉跟不上,学习吃力。这种情况下,对这两类学生的学习积极性都会产生反作用,教学效果从而大打折扣。[3]
3.实践教学问题突出
学好C++在以后的实践工作中作用非常大。比较通常的教学模式一般是实验指导书与老师辅导教学相结合。在实验的过程中,教师更加注重语言语法规则的运用,却忽视了更为主要的逻辑思维开发。而实验则是以书本验证实验为主,缺乏创新,对于学生综合分析能力的培养是十分不利的。很多学生经过一段时间的学习之后,只能写一些简单的学过的小程序。
现在很多学校的教学模式都是大班制教学,一名教师通常要指导很多学生的实验任务,不但要帮助学生调至程序,还要回答学生的各种疑难问题,工作量是十分巨大的,所以就有学生的问题会被忽视遗漏,教师不能做到面面俱到,学生的问题没有得到解决的情况下,学习兴趣就会丧失。
二、对C++程序设计教学的思考与建议
1.建立多层次的教学体系,致力于学生实践能力的培养
C++编程是一个实践性很强的课程,为了突出工程教育的特点,突出应用型专业的特点,需要加强教学管理的实践。按照循序渐进的方法,选择实验的问题,围绕课程的教学目标,和一个三级实验教学系统组成的一个基本的C++程序设计课程,综合设计和创新研究模型等(30小时)完成3级培训。其中,基础和综合设计实验,主要使学生掌握C++语言的面向对象机制和培养学生面向对象程序设计的基本思想。本实验应在教学计划规定的实验时间内完成。要求教师设计实验项目,编写相应的实验指导书。研究创新实验主要是提高学生的实践能力,培养创新精神和团队精神,在课程设计中确立项目的应用方式,在教师的指导下采用第二课堂“7中学”的方法自主完成。针对课程设计中的应用项目,课堂教师编写了课程设计任务书,给出了系统的主要要求,要求学生遵循软件工程方法,从需求分析到系统分析与设计,到编码和测试,以及最后编写系统设计总结。
2.开设第二课堂,培养学生工程应用能力
为了最大程度的提升教学的实用性,学校可以开设第二课堂,在平时晚上和周末时间开设实验课程课堂,这些时间内安排教师实行轮岗制度,加强老师和学生的管理。教师为学生提供指导工作,教师提供的学习材料要与学生学习内容和实验项目相贴合。在教师的指导下,学生要有足够完成小组实验任务的能力。对实验结果教师也要进行检查评估。课程结束之后,学生要向小组及教师演示他们的项目。除此之外,学校的硬件条件也要跟上,相关的服务器、网络、桌椅设备等都要筹划好。
3.以学生为主体,丰富教学方法
对教学质量造成影响的因素之一就是教学方法。目前引入各种各样的教学方法,如“启发式、案例教学法、项目教学法”等,这些教学方法有一个共同的特点,就是教学主体不再是教师而是学生,学生的参与性更强。启发式教育方法主要针对学生基础知识的入门指导,它的特点是具有较强的交互性。学生通过各种各样的提问参与到知识的学习中,主动性相较于传统更强。这种方法在教学中比较常用,但是也存在一定的难度,对于学生在学习过程中可能碰到的较大较难的问题,指导老师在备课时应该要考虑进去,才能有针对性的及时的解决学生的问题。案例教学法突破了以理论知识点为中心的传统教学模式,将知识点融入具体实例,使学生在模仿中掌握抽象概念感知。对于本课程中封装、继承、多态、模板和异常的主要知识模块,为每个模块设计了至少一个教学案例。每一个教学案例都应该包括模块的主要知识和相关的程序设计方法。项目驱动教学法以项目为主线进行教学过程,将相关知识点整合到项目的各个方面,遵循循序渐进、艰苦奋斗、循序渐进的原则。本课程的项目教学主要体现在课程设计上。这不仅拓宽了知识的广度和深度,而且使学生能够独立学习,提高学生分析问题、解决问的能力。
结语
C++语言作为大学计算机基础教学中重要的程序设计语言,其实验教学显得更加突出与重要。希望能进一步改进C++语言实验教学,为学生今后的专业学习打好良好的计算机编程基础。