赵海国
(湖南理工学院 数学学院, 湖南 岳阳 414006)
浅议如何提高C++程序设计课程的教学质量
赵海国
(湖南理工学院 数学学院, 湖南 岳阳 414006)
通过分析C++程序设计课程的特点和教学过程中遇到的问题, 选择多媒体教学法和实例教学法相结合来开展本课程的教学. 在教师多媒体理论教学和学生趣味游戏实例开发操作实践相结合的教学过程中, 提高C++程序设计课程的教学质量, 让学生在掌握C++语言的语法知识的同时提高编程能力和软件开发能力, 实现课程的教学培养目标.
面向对象程序设计; 教学质量; 多媒体教学法; 实例教学法
C++程序设计课程是计算机专业学生必修的一门专业基础课, 也是一门理论性和应用性非常强的程序语言课[1]. 课程中C++语法知识的系统掌握和灵活应用是计算机专业学生学习数据据结构、Java程序设计等后续课程的理论基础. 掌握面向对象程序设计语言的学习方法也为将来从事程序设计和软件开发相关工作的学生在工作中自学其他各类程序设计语言奠定了基础. 因此, 学好C++程序设计这门课程, 掌握C++程序设计语言的语法知识, 掌握面向对象程序设计语言的学习方法对学生在校的专业学习和将来的长远发展至关重要.
作为一门面向对象的程序设计语言, C++程序设计语言有以下几个特点:
(1) 课程理论性强
作为一门用于与计算机进行交互的程序设计语言课, 在使用的过程中必须遵守其语法规则, 稍有错误便会导致程序无法运行出正确的结果, 所以本课程的语法知识不仅要记得牢, 还要用得熟, 整门课程从头至尾所有的语法知识点都要一一掌握. 可见, 该课程的理论性非常强.
(2) 课程实践性强
C++程序设计语言的学习就是要在遵循语法规则的前提条件下, 应用语言去编写相应的程序来实现预定的功能. 学习的过程需要学生在操作实践中巩固语法理论知识基础, 继而又将理论知识灵活地应用到程序设计的操作实践中去. 可见, 该课程的实践性也非常强.
(3) 课程应用性强
在C++程序设计课程中系统地学习了C++语言的语法规则后, 使用课程知识可以设计连连看和扫雷等许多类似的应用软件系统, 也可以作一些大型的软件项目. 可见, 该课程的应用性非常强.
从学生学习的角度、老师教学的角度、课程的教学过程安排以及教学目标的实现等各个方面, 分析C++程序设计课程教学过程中存在的问题:
(1) 课程理论知识的学习有一定的难度: 语法知识多而杂且不易记牢, 学习过程比较枯燥, 纯理论课教学效果不佳;
(2) 理论知识和实践操作的紧密结合有一定的难度: 学生先上理论课后上实践课, 中间有一定的时间差, 课后如果不及时复习和应用学过的语法知识, 到实践操作中很难流畅地应用到程序设计上;
(3) 课程中作业的设置有一定的难度: 学生基础有差异, 实践课上同样的作业对于能力差的学生而言仅能勉强完成, 但对能力强的学生而言则可能太过于简单, 所以要根据学生的不同学习情况设置难易程度不同的作业, 供学生自由选择独立完成;
(4) 课程中学生能力提高有难度: 课程的教学时间共70课时, 包括54理论课时和16实践课时, 分章节讲授理论知识并进行相应的操作练习, 课程完成后没有多余的时间进行课程知识的综合应用, 不利于学生应用所学的知识进行系统软件开发能力的全面提高.
(1) 教学方法的选择
为了降低课程理论知识的学习难度, 本课程教学内容除了使用教材中的教学素材外, 还在教学的过程中使用实例教学法——引入了一些用C++语言开发的经典游戏实例辅助教学. 为了提高学生的学习积极性, 激发学生对C++程序设计语言的学习兴趣, 提高课程教学效果, 课程选择经典有趣的游戏实例和各部分教学内容相结合来开展教学过程. 教师在用多媒体课件讲授理论知识之前首先介绍游戏实例, 以游戏实例的趣味性减弱语法知识学习的枯燥性, 告诉学生将要学习的知识在游戏设计的哪些环节需要用到,让学生感受到语法知识的重要性和应用性, 从而端正自己的学习态度. 学以致用的优势能提高学生对理论知识的重视程度, 游戏实例的趣味性能激发学生的学习热情, 学生有了学习积极性和好的学习态度, 学习过程中就能达到好的效果.
(2) 教学过程的组织
C++程序设计课程适合采用多媒体教学法和实例教学法相结合的教学方法, 选择经典有趣的游戏实例和各部分教学内容相结合来开展本课程的教学过程: 教师首先用游戏实例激发学生的学习兴趣, 带领学生在多媒体理论教学课堂中学习C++程序设计语言的基础知识; 接着在有趣的游戏开发编程实践中进行操作练习, 体会程序设计语言强大的应用性特点; 然后完成一个游戏界面和操作功能相对比较简单的连连看游戏实例[2], 让学生在操作过程中体会使用程序设计语言设计系统带来的成就感; 最后进行知识的拓展和延伸, 让学生不断完善和增强游戏的各项功能, 并鼓励学生课后开发更多类似的游戏实例, 不断在软件开发实践过程中巩固和掌握C++程序设计语言的语法知识, 提高自己的编程能力和软件开发能力[2].
(3) 课程培养目标的确定
通过C++程序设计课程的学习, 熟练掌握C++语言的语法知识;
通过上机操作练习, 让学生应用课程各部分知识编写难度适宜的程序, 培养学生C++语言编程能力,并养成良好的编程习惯;
通过上机操作练习, 让学生开发一个简单的连连看游戏系统, 培养学生综合应用本课程的理论知识分析问题和解决问题的能力, 培养学生的软件开发能力和团队协作精神;
通过课外拓展练习, 让学生以连连看游戏为范例, 举一反三, 开发更多类似的应用软件系统, 在不断的软件实践中培养学生的动手能力, 提高软件开发水平[2].
(4) 教学内容的安排及培养目标的实现
理论教学环节: 教学过程中可以根据教材的内容合理安排课程理论知识的教学. C++语言是在C语言的基础上发展起来的, 教材一般先复习C语言的语法知识, 再拓展到C++语言中类和对象定义及使用, 类的继承, 类的派生, 多态性和虚函数, 模板等内容. 教学过程中对于学生已经学过的过程化程序设计部分(C语言内容) 少分配一些教学时间, 把重点放在后半部分即C++语言的语法知识部分; 每次理论课后设置与课堂内容一致的操作练习让学生课后独立完成, 复习和应用当天所学的基本语法知识; 课程中重点内容的讲解分成若干个主题, 每个主题设置综合应用性的上机操作练习对该重点内容进行巩固和加强,让学生能够更加牢固地掌握C++程序设计课程的理论基础.
实践教学环节: 针对基础不同的学生, 设置不同的作业难度, 分层次布置作业. 每次课后的上机操作练习对同一个题可以设置不同的难度系数. 例如让学生设计一个计算器程序, 可以设置从简单到复杂四个不同的难度级别: 设置一个循环完成10次加法计算的计算器; 设置一个循环完成任意次加法计算的计算器; 设置一个循环完成任意次任意运算类型计算的计算器; 设置一个用随机函数生成运算因子循环完成任意次任意运算类型计算的计算器; 让学生按照自己的能力选择合适的难度独立完成. 每次实践课上机布置两个任务: 一个是完成书本上与主题相关的巩固练习; 一个是完成游戏实例开发过程中与本主题相关的部分. 第一部分大多是验证型实验题, 由学生课前准备程序课内调试完成; 第二部分是设计型实验题, 由老师先进行适当的操作演示再引导学生独立完成. 验证型实验题操作过程中,主要帮助学生巩固理论知识, 掌握C++语言的语法, 引导学生养成良好的编程习惯; 设计型实验操作过程中, 让学生自行组队成立软件设计小组, 小组成员互相讨论互相帮助, 一起解决在游戏实例开发过程中遇到的问题, 既有利于培养学生全面应用所学知识开发应用软件系统的综合能力, 又有利于培养学生的团队合作精神.
为了提高C++程序设计课程的教学效果, 要制定严格的考核方式. C++程序设计课程的考核分理论课考核和实践课考核两部分: 理论课考核由理论课上的考勤成绩、课堂回答问题的成绩和期末的理论测试成绩共同评定, 其中考勤占15%、课堂回答问题的成绩占15%、期末的理论测试成绩占70%; 实践课有16课时共8次实验, 每次实验都要评定并记录当次课成绩, 每次课成绩评定根据当堂课学生的出勤情况、验证型实验题和设计型实验题的完成情况来确定, 实践课的最终成绩为8次实验课成绩的平均值, 最终成绩评定为优、良、中、及格、不及格五个不同等级.
[1] 由育阳. 非计算机专业C++程序设计课程教学改革探索[J]. 黑龙江教育, 2015, 5: 68~69
[2] 赵海国. 实例教学法在c++程序设计课程教学中的应用[J]. 电脑知识与技术, 2015, 9
Analysis of How to Improve the Teaching Quality of " C++ Programming " Course
ZHAO Hai-guo
(College of Mathematics, Hunan Institute of Science and Technology, Yueyang 414006, China)
Through the analysis of the characteristics of " C++ programming " course and the problems encountered in the teaching process, the method of the combination of multimedia teaching method and example teaching method is used in the teaching process of " C++ programming " course. In the teaching process of the combination of the theoretical teaching with multimedia teaching method and the operation practice of the interesting game example, students can master the knowledge of C++ language, improve the ability of programming and software development, so as to improve teaching quality, achieve the teaching objectives and training objectives.
object oriented programming; teaching quality; multimedia teaching method; example teaching method
G642
: A
: 1672-5298(2015)04-0086-03
2015-08-02
赵海国(1980− ), 女, 湖南邵阳人, 硕士, 湖南理工学院数学学院讲师. 主要研究方向: 计算机应用