高职院校C++语言程序设计教学方法初探

时间:2022-07-30 08:46:51

高职院校C++语言程序设计教学方法初探

摘要:C++程序设计语言课程的教学目标:通过该课程的教学,使学生掌握程序设计语言的一些基本概念和语法规则,让学生掌握程序设计的一般方法,掌握过程化程序设计与面向对象程序设计,进一步培养学生的软件开发能力。

关键词:C++语言;程序设计;教学方法;探讨

中图分类号:TP311.11文献标识码:A文章编号:1007-9599 (2010) 11-0000-02

Vocational Programming C++ Language Teaching MethodsZhang Yechi(Horqin Vocational College of Art,Tongliao028000,China)

Abstract:Teaching objective of C++ programming language-through the

course,make the students learn the basic concepts and grammatical rules,let the students grasp its programming methods in general,the process-oriented programming and the objective-oriented programming,to further nurture the students’capability to develop software programme.

Keywords:C++ language;Programming;Teaching approach;Research

《C++语言程序设计》是一门实践性和应用性较强的课程,是高职计算机专业的一门专业基础必修课。本文就C++语言程序设计课程教学中的问题,进行了探索,为C++教学提供一些有益的教学方法,以提高课程教学质量,培养和提高学生分析问题、解决问题及综合应用知识解决实际问题的能力。

一、C++程序设计教学特点

(一)C++程序设计语言的优点

C++程序设计语言是近年来在国内外得到迅速推广和应用的一种计算机语言。它是在C语言的基础上扩充了面向对象机制而形成的一种面向对象程序设计语言。C++除继承了C语言的全部优点和功能外,还支持面向对象程序设计,而且主要是用于面向对象程序设计。与其它程序设计语言相比较,C++程序设计语言简洁、紧凑,功能丰富,表达能力强,使用灵活方便,目标程序效率高,可移植性好,适合编写各种软件,尤其是系统软件。同时C++程序设计采用了面向对象程序设计思想,集成了许多新的思想与方法,把握了程序设计的发展潮流与方向,更有利于方便、灵活、高效地处理、解决实际问题。所以C++程序设计语言已在众多领域得到广泛应用,成为高职院校计算机专业的专业基础课程。作为计算机专业的学生必须学好它,作为此课程的教师也必须不断地提高自身的教学水平,不断地采用新的教学手段、改进教学方法。

(二)C++课程教学目标

C++程序设计语言课程的教学目标:通过该课程的教学,使学生掌握程序设计语言的一些基本概念和语法规则,让学生掌握程序设计的一般方法,掌握过程化程序设计与面向对象程序设计,进一步培养学生的软件开发能力。

(三)C++程序设计教学的重点和难点

C++其功能丰富、设计灵活、兼具低高级语言与面向对象程序设计方法的优点,使其具有繁多的数据类型和复杂、灵活多变的语法结构,不但要求教师要有良好的自身知识水平与教学水平,也要求学生有敏捷的思维和灵活的逻辑设计能力,这使得这门课成为计算机专业中既难教又难学的一门课程。C++语言的内容繁多,在有限的课时内不可能也不必做到面面俱到,所以必须突出重点,突出实用性,主要引导学生能正确运用C++语言编写程序,不要太多拘泥于细节,而应从思想与算法上去学习面向对象编程,具体细节在以后的应用中可让学生多查阅有关资料。具体总结如下两点:

1.突出重点,C++的内容繁多,不可能在有限的课堂时间内全面讲解,而是应该有重点地去讲授知识要点。比如:C++基本数据类型、语法结构、程序结构、传统结构化程序设计、数组,指针,类和对象、继承和派生类、多态性和虚函数、面向对象编程等内容。

2.把握难点,教学内容中涉及很多的抽象概念,既有难度,又有深度。比如数组、指针、继承、多态性等。

二、课程教学方法的探讨

C++程序设计语言是一门既有难度又有深度的课程。学生要学好它,自身的学习方法与学习态度固然重要,但教师好的教学方法就显得更加关键了。好的教学方法,可以让学生学习事半功倍,少走弯路,笔者认为一个好的教学方法应该具有以下基本要点:

(一)良好的学习开端

C++程序设计是一门高度抽象的课程,很多内容只可去体会,很难言传。在学习过程中是很枯燥无味的,没有一定的毅力与恒心很难坚持下去。这需要将学生很好地引入门,要让学生认知该课程的重要性与实用性,要提高学生的学习兴趣,培养学生的自信心。鼓励学生要有兴趣、有信心地去学好它,这将是整个课程学好的关键第一步。

(二)好的教学环境

课堂教学尽可能地应用现代化教育技术,使用多媒体进行课堂教学,给学生营造一个良好的程序设计语言环境。与传统教学方式相比,多媒体教学具有形象、生动、交互性好、信息量大、减少文字书写等显著特点。对课程中难以理解的抽象内容可以给予直观展示和动态模拟,达到既能辅助教师形象地讲授课程中的难点和重点的目的,又能激发学生学习的兴趣,从而提高教学效率和教学效果。

(三)形式多样的教学手段

不要拘泥于传统的教学方法,以教师为中心,教师讲,学生听、记、做笔记。应该将更多的方法结合进来,讲授法、练习法、实验法、演示法固然不可少,在教学中我们可以大胆尝试启发式、案例式教学方法。多媒体课件对学生学习可以起到事半功倍的作用。在多媒体课件中利用图像、动画、声音模拟课程中抽象的、难以理解的教学内容,并将其形象化,这样就更利于学生理解与记忆。

(四)加强上机实践操作

C++程序设计语言教学特点的教学规律决定了上机实践是教学过程中十分重要的组成部分。因此,如何加强上机实践,提高实际操作的效果,并以此进一步提高课堂教学质量是值得广大教师认真思考的问题。要使学生熟练使用C++程序设计语言解决问题,具有较强的程序调试能力,学以致用,可以从以下几个方面考虑。其一,加大上机时数,一般而言,在课程的总学时不变的情况下,上机时数应不少于课堂教学时数,切记只讲不练;其二,提高学生自主创造、自主学习的积极性,要学生多用C++写程序,切不能让学生只听不练;其三,上机内容要新颖,有针对性,这就需要教师多花精力去精心准备上机操作内容;最后,要确保每次上机学生达到预期的操作效果,并要给出客观公正的评价。

三、最好的理想学习方法

讲授程序设计有很多方法。很明显,我们不赞同“我学习程序设计的方法就是最好的学习方法”这种流行的看法。为了方便学习,我们较早地提出一些仅仅几年前还是先进技术的内容。我们的设想是,课本内容的顺序完全由你学习程序设计过程中遇到的问题来决定,随着你对程序设计的理解和实际动手能力的提高,一个主题一个主题地平滑向前推进。课本的叙述顺序更像一部小说,而不是一部字典或者一种层次化的顺序。

一次性地学习所有程序设计原理、技术和语言功能是不可能的。因此,需要选择其中一个子集作为起点。更一般地,一本教材或一门课程应该通过一系列的主题子集来引导学生。我们认为选择适当的主题并给出重点是我们的责任。我们不能简单地罗列出所有内容,必须做出取舍;在每个学习阶段,我们选择省略内容与选择保留内容至少同样重要。

作为对照,这里列出我们决定不采用的教学方法,供参考:

C优先:用这种方法学习C++完全是浪费学生的时间,学生能用来求解问题的语言功能、技术和库比所需的要少得多,这样的编程实践很糟糕。与C相比,C++能提供更强的类型检查,对新手来说更好的标准库,以及用于错误处理的异常机制。

自底向上:学生本该学习好的、有效的程序设计技巧,但这种方法分散了学生的注意力。学生在求解问题过程中所能依靠的编程语言和库方面的支持明显不足,这样的编程实践质量很低、毫无用处。

如果你介绍某些内容,就必须介绍它的全部:这实际上意味着自底向上方法(一头扎进涉及的每个主题,越陷越深)。这种方法硬塞给初学者很多他们并不感兴趣,而且可能很长时间内都用不上的技术细节,令他们厌烦。这样做毫无必要,因为一旦学会了编程,你完全可以自己到手册中查找技术细节。这是手册适合的用途,如果用来学习基本概念就太可怕了。

自顶向下:这种方法,对一个主题从基本原理到细节逐步介绍,倾向于把读者的注意力从程序设计的实践层面上转移开,迫使读者一直专注于上层概念,而没有任何机会实际体会这些概念的重要性。例如,如果你没有实际体验编写程序是那么容易出错,而修正一个错误是那么困难,你就无法体会到正确的软件开发原理。

抽象优先:这种方法专注于一般原理,保护学生不受讨厌的现实问题限制条件的困扰,这会导致学生轻视实际问题、语言、工具和硬件限制。通常,这种方法基于“教学用语言”一种将来不可能实际应用,有意将学生与实际的硬件和系统问题隔绝开的语言。

软件工程理论优先:这种方法和抽象优先的方法具有与自顶向下方法一样的缺点:没有具体实例和实践体验,你无法体会到抽象理论的价值和正确的软件开发实践技巧。

面向对象先行:面向对象程序设计是组织代码和开发工作的最好方法,但并不是唯一有效的方法。特别是,以我们的体会,在类型系统和算法式编程方面打下良好的基础,是学习类和类层次设计的前提条件。

“相信魔法”:这种方法只是向初学者展示强有力的工具和技术,但不介绍其下蕴含的技术和功能。这让学生只能去猜这些工具和技术为什么会有这样的表现,使用它们会付出多大代价,以及它们合理的应用范围,通常学生会猜错!这会导致学生过分刻板地遵循相似的工作模式,成为进一步学习的障碍。

自然,我们不会断言这些我们没有采用的方法毫无用处。实际上,在介绍一些特定的内容时,我们使用了其中一些方法,学生能体会到这些方法在一些特殊情况下的优点。但是,当学习程序设计是以实用为目标时,我们不把一些方法作为一般的教学方法,而是采用其他方法:主要是具体优先和深度优先方法,并对重点概念和技术加以强调。

四、重视培养学生的实际操作能力

计算机程序设计语言课程,由于操作性很强,不能只讲理论,这好比当学习滑冰的时候,如果教练只是告诉我们每个动作怎么去做,但是不亲自到冰上去试一试,是不可能学会滑冰的。那么在学习C++这门课程的过程中也必须要结合大量的实例演示,让同学们真正体会到C++的实用性。如果只是看别人滑冰,自己却从不实践,是学不会滑冰的,那么在学习C++语言程序设计的过程中也必须要不断的练习、实践。

我担任计算机应用技术两个班的C++课程的教学,每周每个班六学时,其中两学时是理论讲解课,四学时是上机实践操作课。由于学生的思想还不够成熟,自我控制能力相对来说还是比较差,因此自觉性不够好,为了监督他们能静下心来好好学习、认真的实践,每次课都留一次作业(要有程序设计和实现),以加强对本次课内容的理解并熟练掌握这些操作技巧。

C++程序设计语言教学特点的教学规律决定了上机实践是教学过程中十分重要的组成部分。因此,如何加强上机实践,提高实际操作的效果,并以此进一步提高课堂教学质量是值得广大教师认真思考的问题。要使学生熟练使用C++程序设计语言解决问题,具有较强的程序调试能力,学以致用,可以从以下几个方面考虑。其一,加大上机时数,一般而言,在课程的总学时不变的情况下,上机时数应不少于课堂教学时数,切记只讲不练;其二,提高学生自主创造、自主学习的积极性,要学生多用C++写程序,切不能让学生只听不练;其三,上机内容要新颖,有针对性,这就需要教师多花精力去精心准备上机操作内容;最后,要确保每次上机学生达到预期的操作效果,并要给出客观公正的评价。

C++这门课程在期末的时候有一个综合实训,应这样做:结合同学们所学的知识,并引进一些课外的知识实例来弥补课本上没有的相关内容。比如,利用C++语言设计一个“存折管理系统”:编写一个存折类,数据成员有:用户名、账号、密码、存款,其访问权限为私有的;函数成员有四个:1.初始化数据成员;2.取钱;3.存钱;4.查询余额。函数成员的访问权限为公开的,并编写相应的测试函数。虽然这个程序的设计比较简单,但通过这样一个小型的综合训练,会让学生们更加的了解C++语言程序设计的功能和特点。这是C++语言程序设计教学课程中不可缺少的一个重要环节,只有通过这样的综合训练,才能把同学们零散学到的知识综合起来,让他们感觉到自己所学的知识终于有了用武之地,非常有成就感,让他们产生一种想利用计算机解决实际问题的强烈愿望,在今后的学习中才能更加有信心和目标。

采用实例教学,最重要的一个目的就是为了使课堂生动,提高学生的兴趣,调动他们的积极性和主动性。教学中实例的运用是提高教学效果的保障,在教学的过程中,不防在讲解本次课的内容之前,先演示本次课需要用到的实例,让学生们带着问题去听讲,这样可以能够调动学生们学习的积极性和主动性,也激发了他们的好奇心,同时也达到了同学们“人在教室,心也在教室”的目的。

总之,在C++程序设计教学过程中还会遇到很多的问题。只有通过不断的分析、探索和研究才能找出更好的解决方案。这就要求广大教师要不断地更新观念,不断地更新知识,不断地尝试教学方法、手段甚至教学内容的改革,这样才能切实提高教学质量,才能培养出高素质的新一代技能型人才。

参考文献:

[1]武马群.C++语言程序设计[M].北京:北京工业大学出版社,2005

[2]许乐平.数据结构―C++描述[M].北京:中央广播电视大学出版社,2006

[3]徐国庆.实践导向职业教育课程研究:技术学范式[M].上海教育出版社,2005

上一篇:运用多媒体进行高中化学网络教学初探 下一篇:加强长庆油田网络安全管理