刘鹏鑫 赵巍 李敏
摘 要:“C++语言程序设计”是目前各大高校工科专业的重要基础课程,结合教学经验,针对高校非计算机专业C++教学中存在的问题,以机械专业为例,通过有效调动学生学习积极性,与专业相结合的案例驱动教学方法、分组教学法等改进措施,提高了教学效果。
关键词:C++教学;案例驱动;分组教学
一、高校非计算机专业C++教学中遇到的问题
1. 学生学习目标不明确
很多非计算机专业学生,学习C++课程的目标并不明确,一方面认为以后并不想当程序员,而且有很多现有的商业软件可以直接应用。另一方面,教科书中的案例大部分是针对数学和语法开发的相对比较简单的程序,输入输出简单枯燥,与实际专业方向关系不大,使学生不知道学习C++对本专业有什么帮助,自然学习积极性不高,甚至消极地为了学分而学习。
2.知识点较为抽象
C++的面向对象的机制主要围绕四个重要特征展开:抽象性、封装性、继承性和多态性。本课程相关知识点较为抽象,学生要从C语言中面向过程编程的思维转换为C++中面向对象的编程思维的关键就是要进行数据抽象和功能抽象,建立起具体和抽象间的思维转换,对于非计算机专业学生而言,理解较为困难。
3.实验教学效果不理想,学生不注重编程规范
要掌握一门编程语言,理论教学和实验教学是密不可分、相辅相成的两个重要部分。天津职业技术师范大学(以下简称“我校”)大部分非计算机专业C++理论课时和实验课时的比例在2∶1左右,有限的实验课时很难满足提高学生编程调适能力的要求。另外,很多学生通过C++课程学习后,能初步掌握基本语法和面向对象的程序设计思想,但是由于没有养成良好的编程风格和编程习惯,程序编写不规范,导致程序可读性差,稳定性和可重用性更差,离实际软件开发要求相差甚远。
二、改进措施
1.调动学生学习积极性,明确学生学习目标
积极性是学生学好一门课程的原动力。在第一次授课时,可以用C++编程应用实例作为授课导入,吸引学生的注意力。例如,对于机械专业的学生,打开学生熟知的建模软件,通过对导入CAD模型的平移、旋转等变换,简要讲解软件操作背后的编程原理。
2.案例驱动教学,与专业相结合
一种方法是设计对应的小案例,由浅入深,目的让学生更好地理解并掌握相关语法,完成抽象的知识点和具体案例的转换;另一种是应用层面上的案例,也就是学生所在专业相关的综合性专业课案例,目的是让学生学会综合运用C++语言相关知识的同时,能够与专业课相结合,做到学有所用,有的放矢。以我校机械学科为例,在学习C++语言程序设计这门课程之前,学生已经系统地学习了“机械CAD/CAM”和“数控机床及编程”这两门课程,专业课案例选取了C++编写的CAD图形变换程序和基于单片机的数控仿真程序。案例驱动的教学方式,解决了知识点抽象的问题,又有效地帮助学生完成了从C语言的面向过程程序设计思维向C++的面向对象程序设计的思维转变。
3.分组教学,提高学生的自我管理意识
理论课把重点放在C++的关键知识点上,预先布置要求学生课前复习C语言相关知识点,并以小组为单位上交学习报告。实验内容分为上机实践和课程设计项目。上机实践主要是在VC6环境下的验证程序和改编程序,目的是帮助学生巩固和深入理解所学语法知识, 提高学生的分析能力和程序调试能力。
本文针对目前高校非计算机专业C++教学中存在的问题进行了探讨,提出了几个改进方案。通过授课效果来看,能够调动学生对C++语言程序设计的学习积极性,使学生对程序设计产生浓厚兴趣,课程结束,大多数学生可以编写出一些简单小型程序。
参考文献:
[1]丁菊玲,舒 蔚,杨 波.《C++与面向对象程序设计》教学改革的探索与实践[J].福建电脑,2007(07).
[2]谭浩强.C++程序设计[M].北京:清华大学出版社,2004.
(作者单位:天津职业技术师范大学)