《C++语言程序设计》课程教学的思考

时间:2022-07-26 04:48:51

《C++语言程序设计》课程教学的思考

摘要:“C++语言程序设计”是理工科大学生未来科研或工作中一种实用的工具,也可以成为学习其他语言的基础。本文从对学生综合能力培养的角度出发,提出在理工科大学生的《C++语言程序设计》课程的教学应注重其实用性,不拘泥于语法,学生要学会写程序,学会对复杂问题的分解,并能写出规范化的程序。教师在教学实践中,可以利用实例教学、现场编程等各种方法,引导学生写好程序,鼓励学生克服困难。

关键词:案例教学;现场编程;分组教学

中图分类号:G642.3 文献标识码:A 文章编号:1674-9324(2012)05-0239-03

一、引言

程序设计类课程是大学生计算机基础教育的必修课,目的是培养学生的计算思维,培养学生利用计算机解决实际问题的能力。由于“C++语言”在工业控制领域应用较多而被选为理工类大学生的计算机语言程序设计课程,并安排在一年级学习。大学一年级的学生大多数延续高中的学习和思维方式,但是“C++语言程序设计”的学习方法和思维方式与物理数学都不一样,学生碰到了课程学习的第一个难题,教师必须引导学生转变思维方式尽快适应C++的学习。在教学过程中,我们发现“C++语言程序设计”与高等数学和大学物理等课程有明显的区别,高等数学和大学物理等课程偏重理论教学,而“C++语言程序设计”除了理论教学之外还有大量的实践教学,是一门突出实践性的课程。因此,在教学设计中应该突出培养程序设计基础理论知识的应用和动手编写程序,不能只关注知识点的讲解和检查,而忽视程序编写调试能力的培养。为此我们针对如何在程序设计中培养学生的动手能力,对“C++语言程序设计”这门课程的教学目标定位和教学方法选择进行了一些分析和研究,并应用于2010级的机械实验班的“C++语言程序设计”课程的教学实践中。

二、教学目标

人们在学习人类自然语言的时候,强调语言的语法是基础,学习的目标是和其他人进行交流。相应的,在学习“C++语言程序设计”时,C++的语法也是编写程序的基础,学习的目标是使用C++语言编写程序。而对于大多数大学生而言,C++程序设计语言和英语一样,是未来工作中的一个重要工具,因此,我们要告诉学生把C++语言当作工具来学习,强调实用性,不要过多地关注内部细节和繁杂的语法。在讲授基本语法之外,我们重点放在教会学生如何写C++程序,如何优化程序,以及学习怎么去学习C++语言的新领域。计算机语言的语法不是计算机语言学习的全部,一个熟练的BASIC程序员学习新C++语言的语法,也许只需要3-4个小时,但是要熟练使用C++这门语言,特别熟练使用C++的类库时,就必须认真阅读类库参考和相关的例程,并进行大量的上机编程练习。所以,在“C++语言程序设计”课程教学过程中,我们既要让学生知道常用的语法现象,又不能局限于C++语法的掌握。同时我们也充分认识到语言只是一种表达工具,自然语言亦是如此。程序设计语言可以用来表达需要解决的问题和解决问题的方法,但是方法本身不属于语言的范畴,要在其它课程中学习。例如:计算方法、数据结构等。学习语言需要实践,因而离不开对分析问题和解决问题方法的学习。但是初学者的目标应定位在编写小程序、解决简单问题。我们的教学目标是通过《C++语言程序设计》课程的学习,学生能掌握一些常用的经典算法和相应的例程。可是仅仅掌握这些经典算法和相应的例程是不够的,我们还希望通过“C++语言程序设计”课程的学习,让学生掌握从算法到程序代码的转化,使他们能够将一个实际问题,先描述为一个计算机算法,然后再编写相应的C++代码。同时强调“自顶向下”和“细分”的程序设计思想的培养,让学生充分了解任何看似复杂的算法,都可以分解为若干个简单算法的逻辑组合。所以任何一个题目,在编写代码之前,都要认真分析,分解成若干的小问题进行处理。

三、教学方法

1.案例教学。在以前,“C++语言程序设计”课程的教学围绕C++的基本语法知识来展开。而从本质上来说,计算机程序设计的最终目的是为了用计算机解决实际问题,因此“C++语言程序设计”课程的目的是培养学生的计算思维能力、创新能力和综合能力。要提高学生的学习“C++语言”的兴趣,就必须让学生亲生感受并体会C++语言程序设计的无穷魅力。而“案例教学”这种教学方法,改变了“满堂灌”C++语法的做法。通过一个有趣的案例吸引起学生的注意力,从而将学生的眼、手、脑全部调动起来,培养学生学习《C++语言程序设计》的兴趣。因此,我们在《C++语言程序设计》课程的课堂教学中采用案例教学法来组织教学。课堂教学以C++程序为主线,通过使用多媒体教学设备,在VC6.0的编程环境下现场演示程序的运行结果。在讲课过程中,将教学内容分为不同的几个主题,用C++程序设计作为贯穿期中的主线。通过对案例例题的分析,着重讲解C++程序设计的编程思想和编程方法,同时介绍相关的C++语言的语法知识。然后在机房上机实验的时候,教师针对学生在上机实际编程中的突出,进行有针对性讲解。通过案例法教学,教师在课堂上通过分析程序设计的原理和程序设计的过程,使学生一步一步熟悉C++语言的语法,学会应用相应的C++语句,进而培养学生分析问题和解决问题的能力。

2.当堂编程。在课堂上当堂编写程序可以让学生看到编写C++语言程序过程中所出现的各种问题,从而重点讲解用C++语言编写程序时要注意的细节问题。我们首先用PPT分析各种例题的关键算法、类的结构或函数定义,然后在VC6.0的编程环境中当堂编写相应的C++程序。教师一边输入代码,一边讲解代码的含义,同时要控制编程的节奏,使得学生能跟上教师的编程思路。在整个过程中,教师要时不时提出一些问题,与学生进行互动。在2010级机械实验班的《C++语言程序设计》的课堂教学中,我们从第一节课开始就实施了在课堂上当堂编写C++程序的做法,取得了很好的课堂教学效果。在课堂上当堂编写程序的时候,将教师良好的编写风格在不经意间传递给学生,让学生注重诸如如何命名标识、如何正确使用注释和换行。通过教学实践,我们发现教师在课堂上现场编写的程序比其他书本的例题,对学生的示范性更强,对学生培养良好编程习惯的作用更强。在课堂上现场编程对于教师来说也是一个重大的挑战,它要求教师能及时解决C++编程中遇到的各种问题,修改程序错误,并调试和运行程序。教师对于学生容易出错的地方,常常有意留些错误,然后让学生去分析错误,从而加深学生的印象,让他们知道碰到类似的问题如何处理。为了教学生如何正确调试程序,教师还要讲解VC6.0编译器常见的警告和错误信息,并告诉学生错误产生的原因和相应的处理办法。

3.程序调试。《C++语言程序设计》课程的学习中,影响学生学习积极性的最大难题是无法正确处理调试过程中遇到各种错误。例如学生编写的C++程序,编译时编译器报告了若干个错误,但是学生不知道如何修改;或者编译通过了运行的时候却出现死循环,但是学生也无法发现。一旦学生编写的程序经常不能正确运行,就会影响学生的学习兴趣,进而使学生失去学习《C++语言程序设计》课程的信心。所以,教师应该让学生学会常用的调试方法和步骤,并且鼓励学生主动和老师一起帮助其他同学调试程序,一起解决C++编程中遇到的问题。要解决C++程序在运行中所碰到的错误,正确的调试方法和手段是学生必须掌握的。只有通过使用正确的调试方法和手段,才能让学生在最短的时间之内找到程序中出错的语句及其原因。在VC6.0的编程环境中,学生要学会使用单步跟踪技术,熟练使用相应的快捷键,例如F9、F10、F11、Shift+F1等。并配合使用内存变量查看工具“Watch”和“Variables”等来查看相关变量的值,从而找到错误发生的原因。4.分组教学。分组教学是把学生分成若干小组,每个小组可由5~6名不同能力的学生组成,以小组合作的形式,在教师的指导下,通过组内学生的互助活动共同完成学习任务。分组教学与传统的班级授课制相比,有很多优越性。分组教学可以增加学生之间的互动交流,从而可以实现学生的优势互补。通过开展小组合作学习,有意识地培养学生的合作意识和合作,也能减轻学生的学习压力;通过互帮互学还能增强学生的自信心,促进全体学生的个性发展。在实验环节和项目设计中,采用我们分组教学的模式来组织教学。项目设计全过程基本上让学生以小组团队的方式独立完成,教师只是提供相应的辅导和监督项目的进展。经过了这种模拟实际项目开发过程的训练,不但可以提高学生学习C++的兴趣,培养学生的C++动手编程能力,还有利于培养他们探索精神和学习积极性。

综上所述,我们认为C++语言本身是一个软件开发的工具,在教学中应该将C++语言定位为一个通用软件开发工具,并且在教学过程中突出C++语言编程的实用性,注重培养学生实际动手编程的能力、分析处理问题的能力和自主学习的能力。我们也将此观点用于指导2010级机械实验班的《C++语言程序设计》课程的教学中,取得了较好的教学效果。

参考文献:

[1]陈福松.案例教学与创新型人才培养[J].扬州大学学报(高教研究版),2009,(05).

[2]陈明华.加强实验设计、引入分组教学,提高课堂实验的授课效果――记“.Net程序设计”课堂实验的设计[J].计算机教育,2009,(10).

[3]范红,吴怡之.“C语言程序设计”趣味实例教学方法的探讨[J].计算机教育,2009,(10).

上一篇:关于高等代数课程教学改革的几点建议 下一篇:耳鼻喉科学双语教学中三种全英文教材的比较