浅谈C语言程序设计教学

2022-12-30

C语言是一门语法灵活、功能丰富、应用广泛的高级程序设计语言[1], 该门课程的开设可以锻炼学生的思维能力和编程水平, 对其他课程 (如数据结构、单片机) 的学习也起到正迁移的作用。但是由于授课对象都是初次接触程序设计的大学低年级学生, 加之有些教科书内容抽象化, 概念难以理解, 以及某些教师往往过于注重语句、语法等细节的讲解等。在实际教学中反映出很多问题, 例如:学生普遍感到C语言难学, 对该课程心存敬畏;学生知道基本概念, 但是不会运用到实际编程和习题中去;能够理解书上的例子, 但不会举一反三;面对编程的题目感到无从下手, 没有思路等等。本文根据教学过程中学生常出现的问题, 总结出在C语言教学过程中应该注意的几个方面。

1 激发学生的编程兴趣

兴趣是最好的老师, 是学习的基础和前提, 对学生的学习起着推动作用[2]。要使学生学好C语言, 必须让他们对编程产生兴趣。那么教学中如何激发学生的学习兴趣呢?教师可以在每一新的知识体系讲解前找一些有趣的题目, 现场用C语言编写源程序上机运行, 向学生演示。从老师简单的现场演示过程中, 学生对C语言程序设计产生了感性认识和兴趣。

2 重点加强学生编程能力的培养

C语言程序设计课程开设的根本目的, 就是使学生在熟悉编程的基本概念和编程思想后, 能通过编程解决实际问题。所以, 在该课程的教学中要将重点放在如何提高学生独自编写程序的能力。而不是局限于对语句、语法等细节概念的讲解。进一步可从以下几个方面来完成。

2.1 加强阅读程序能力的培养

C语言是一种工具, 是程序的载体, 只有在对程序的阅读分析和实际应用中才能真正理解和掌握有关语言的知识。学生阅读程序的过程也是为程序设计打基础的过程。教学中教师通过例题讲解, 使学生逐步理解和掌握语句的格式, 功能等, 同时也是在为学生学习程序设计作铺垫, 教师应有意识地在讲解过程中向学生渗透程序设计的思想和方法, 引导学生从模仿开始, 逐步过渡到独立进行程序设计。

2.2 通过算法讲解编程的技巧

学生在学习C语言过程中, 经常出现这样的问题, 能够理解书上的例子, 但不会举一反三;面对编程题目感到无从下手, 没有思路。这些问题都是因为学生没有掌握如何分析问题和设计算法的能力, 而算法是程序设计的灵魂, 只有找到问题合理算法, 将它转化成语句, 编程的问题就解决了。因此在教学过程应着重对算法进行多方面的讲解。

首先, 对一些经典的算法要加以总结和归纳, 让学生进行重点的理解和记忆。在学生充分掌握这些经典算法的基础上, 进行必要的思维反思和思维扩展, 形成一种编程的思维习惯, 对于编程能力的提高有很好的效果。其次, 在算法讲解过程中要充分培养学生举一反三的能力。例如, 在讲解了累加问题的算法以后, 可以让学生自己推导累乘问题的算法;在讲解了循环结构的程序设计以后, 让学生用四种不同的循环语法结构解决同一问题。举一反三的能力培养, 可以让学生进行引申联想, 培养了学生的创新能力, 在解题过程中往往能提出多种新颖、独特的解法。同时, 在算法的讲解过程中要层层铺垫, 循序渐进, 以便加深学生对算法的理解。

2.3 加强上机实践提高编程能力

在上机作业的布置中, 既要有基本的较简单的题目, 又要有一些具有挑战性的新颖有趣的题目, 把它们分作必做题和选做题, 这样既可以使每一个学生都能达到满足, 又充分地调动了他们的积极性和创造性, 以及对C语言学习的兴趣。同时对一些经典例题, 在黑板上和多媒体课件上分析这些程序的执行过程, 让学生在上机实践中验证结果的正确性, 并充分体验程序执行的流程。

3 多种教学方法、手段的灵活使用

根据C语言程序设计课程的特点, 可以充分利用多种教学方法和手段, 在教与学的过程中培养学生分析问题和解决问题的能力、提高学生的程序设计水平。

3.1 任务式教学法

传统的教学观念, 强调一定要先打好基础, 然后再进行实践、学习技能。该教学观念下教师处于绝对的主动地位, 学生在被动的环境中学习。他们的主动性和创造性受到极大的压制, 不利于培养学生的自学能力和创新能力。所谓任务式教学法是指让学生在一个典型的程序设计任务的驱动下进行学习, 引导学生由简到繁、由易到难、循序渐进地完成一系列任务, 从而获得清晰的思路、方法和知识脉络, 在完成任务的过程中, 培养分析问题、解决问题以及程序设计的能力[3]。在这个过程中, 势必可以使学生拥有学习的主动权, 教师不断地挑战和激励学生前进, 从而使学生真正掌握所学内容, 并通过此任务举一反三, 得到更好的学习效果。

3.2 实验教学法

所谓实验教学法是指在教学中理论联系实际, 通过上机实验加深学生对所学内容的理解, 培养学生的实际编程能力和调试程序能力。通常上机实验时可以采用这样两种方法:上机调试程序和现场编程。一方面, 为了充分利用上机时间, 老师可以事先布置实验内容, 学生上机前就做好准备工作, 上机时调试课前编好的程序;另一方面, 为了增强学生的反应能力, 可以引入现场编程, 发动学生编写有趣的小程序, 寓教于乐, 提高学生学习兴趣。

3.3 类比教学法

所谓类比教学法是指在教学中巧用类比, 帮助学生把感到陌生的问题与熟悉的事物进行比较, 找出它们的相似或相近之处, 从而认识事物的规律。C语言中, 有些内容比较抽象, 不容易被学生接受和理解, 这时教师如果能用生活中的实例作类比, 则可以将深奥的理论讲得通俗易懂、深入浅出, 从而收到化难为易、化抽象为具体、化模糊为清晰、化生疏为熟悉的效果, 使新知识顺利地纳入学生已有的知识结构中。除此以外, 启发教学法、分步教学法等教学方法也可以在C语言课程的教学过程中灵活应用。

4 结语

以上是我在C语言教学过程中的一点思考与体会, C语言教学是一个广泛而深远的教学工作, 需要我们不断地探索新的教学方法和教学模式, 激发学生学习该课程的兴趣, 使学生不但掌握高级编程语言的知识、编程技术和基本算法, 更重要的是掌握程序设计的思想和方法, 具备利用计算机求解实际问题的基本能力。

摘要:本文根据在C语言教学过程中学生普遍存在的问题, 提出了一些相应的解决办法。针对学生编程难的问题, 提出从多个方面采取恰当的教学方法和手段来加强训练的方法。

关键词:C语言,编程能力,教学方法

参考文献

[1] 谭浩强.C程序设计 (第三版) [M].北京:清华大学出版社, 2005.

[2] 李宇翔, 李端明, 王大志.提高C++语言程序设计教学效果的思考[J].福建电脑, 2006 (1) :167-197.

[3] 张海玉.C语言程序设计教学方法探析[J].山西财政税务专科学校学报, 2006, 8 (1) :72-74.

上一篇:新型职业农民培训课程设计及实施路径下一篇:室内装潢设计过程中如何有效利用数字技术