实例教学法在《C++程序设计》课堂教学中的应用初探
摘 要:从C++程序设计课程的自身特点和实际需要出发,提出了在课堂教学中应用实例化教学的方法。实践证明,在该课程的讲授过程中,从各个方面合理地应用实例化教学,能够激发学生的学习兴趣,提高学生的编程能力,收✍到很好的教学效果。
关键词:C++;实例教学法;面向对象;课堂教学
中图分类号:G420 文献标识码:A
1 引言(∞Introduction)
C++程序设计课程是各高校计算机专业的重要基础课程。在整个教学体系中占据非常重要的地位。在众多的程序设计语言中,C++语言是近几年广泛使用的面向对象的程序设计语言,是程序设计的重要工具[1]。而且C++语言与Java语言和C#语言具有很多类似的特点。是学习后两者的基础。因此是否能学好该语言直接影响这学生今后的编程能力,因此其教学方法的优劣将会直接影响学生对知识的掌握程度及其该课程今后的发展方向。
笔者根据近几年在C++程序设计课堂教学中的经验,深刻体会到实例教学对于该课程的重要性,总结如下仅供大家参考交流。
2 实例教学法(Instance teaching)
实例教学法是一种以实例为基础的教学法,他把枯燥的课堂知识通过生动的实例向学生讲述,教师于教学中扮演着设计者和激励者的角色,鼓励学生积极参与讨论,较之传统的教学方法更能提高学生参与课堂教学的氛围,提高学生的学习兴趣[2]。
《C++程序设计》课程是以讲解C++语言为基础,同时向学生传授面向对象程序设计的思想。它既有理论又有实践,既讲方法又强调动手能力。如果单从理论和概念入手,直接讲解类、对象、抽象、封装、多态等概念,学生在毫无感性知识的情况下,接触这些概念,理解起来是比较困难的。如果在讲解的同时配以合适的实例,让学生在观看、模仿和实际操作中理解这些概念,并适时地加以归纳总结,那么学生就能比较容易的接受所学知识,使学习在一种轻松愉快♪的氛围中进行。
3 实例教学法在课堂教学中的应用(The application
of instance teaching in classroom teaching)
具体的实例教学法如何应用呢,笔者从七个方面做了思考和研究。
(1)通过实例导入所讲知识点
本课程是一门程序设计课,其目的是为了提高编程能力。因此在整个课程的讲解过程中,所涉及的程序的讲解可以贯穿始终。比如从头到尾可以设计相同的一个类,但所讲解的知识点不同,这个类里面的内容可以不一样。这样,就可以利用前面所学的程序,作为新讲解的知识点的导入。例如在讲了类和对象的基础知识后,要讲构造函数的知识。为了引出构造函数,可以先用前面所讲的类和
对象,设计一个可以包含一个初始化成员函数的类。
如图1所示,成员函数init可以对对象进行初始化,但用户要显示的去调用它,而且还要记住它的名字。如果用户忘记了或者不知道其名字,就无法将对象初始化。能否有一个好记的名字并且能自动调用的函数完成此功能呢,这就引出了构造函数。
(2)通过分析实例程序,讲解所学知识和概念
而且还可以再对该程序做修改,定义多个构造函数,来讲解构造函数可以重载等性质。这样学生在感性的认知中能更好地理解和把握构造函数的特点和使用方法。
(3)实例要具有针对性、简洁性
由于面向对象程序设计的特点较多:抽象、封装、多态、继承等。在讲解相关知识时,所选的例子要和即将讲解的知识点相关,不要面面俱到,让学生把握不住重点。如果一个类设计得太全面,反而会适得其反。还是以上例来说明问题,由于本次课是讲解构造函数,所以类中的成员就包含了构造函数和两个数据成员,还有一个显示用的成员函数display()。这样能突出所讲的知识点,学生容易把握。
(4)通过多种手段讲解实例
随着计算机科技的发展,现在各高校基本都实行多媒体教学。在该课程的讲解中,讲解实例时,笔者常采用PPT、板书和VC++集成开发环境三种方式并用的方法[4]。
有的实例偏重概念性的东西,适合用板书讲解。如讲解类和对象的基础知识时,要联系现实生活,如设计一个point类,point都有哪些属性呢?可以边启发学生,边用板书讲解。
有的实例,学生需要在慢慢理解的同时,看到程序运行的效果,这种实例适合用VC++开发环境讲解,如上例中在主函数main()中并没用显示的调用构造函数,它到底是什么适合自动运行的呢?可以通过在开发环境中单步运行的方法让学生看到程序一步一步的执行过程,当看到运行到使用类创建对象时,程序的流程自动转到了构造函数的函数体处去执行,同学们也就很容易明白了。
有的实例,♂利用板书和开发环境讲解会比较浪费时间,而为ฏ了开拓学生的视野,可以直接用PPT向学生讲解。可以把要讲的重点知识点标上不同的颜色,以让学生能够抓住要讲解的重点。
(5)配以课堂练习
在课堂上讲解了相应的实例后,为了检查自己的教学效果和学生的掌握程度。可以配以相应的课堂练习。课堂练习中的编程实例应该和课堂上讲过的实例相辅相成,让学生在做练习的过程中对刚学习的知识进行复习和消化。从而巩固课堂教学效果。
或者把接下来要讲解的知识点设置在课堂练习中,让学生提前动脑筋思考。培养学生积极思考的习惯,加深所讲知识的理解程度。
(6)实验环节中的实例
C++程序设计是一门实践性很强的课程。一般来说,实验学时的设置应该不少于讲课学时,这样学生才能真正的有时间设计自己的程序。在实验环节中,教师根据课堂上所讲解的知识点,布置相应的问题,让学生自己设计、自己编程、自己调试,从而充分的发挥学生的学习积极性,不断提高编程能力。在这个环节中一般布置两个层次的实例:普通实例和高级实例。普通实例是所有学生都要完成和掌握的。而高级实例时为学有余力的同学所布置的,从而激发学生挑战自己编程能力的欲望,提高学生的学习积极性。