面向C语言程序设计的教学质量分析与对策研究

时间:2022-08-16 06:25:39

面向C语言程序设计的教学质量分析与对策研究

摘要:本文针对C语言程序设计课堂教学中存在的影响教学质量与教学效果的问题进行了分析,并提出了框架教学法、阶梯式教学法、案例教学法、经典语句提炼法和教学互动多样化等方法。通过多年的实践教学经验表明,这些方法对提高教学质量、改善教学效果、训练学生思维和培养学生的学习兴趣有一定的参考价值。

关键词:C语言;课堂教学;教学方法

中图分类号:G642

文献标识码:A

1引言

随着多媒体技术的应用与发展,“C语言程序设计”的教学方式也从单一的板书模式向利用多媒体技术进行教学的方式发展。在这种教学方式下,教师节省了书写板书的时间,学生也可以在单位时间内获取更多的知识[1],但是同时也存在学生不能充分消化所学知识的现象。在我国一些高等院校,这门课是面向大一新生开设,学生以前没有接触过程序设计思想,所以会感觉内容枯燥、不理解、不入门甚至厌学。针对上述现象,教师如何引导学生思考、如何设计教学内容以及如何进行内容讲授是很值得思考的问题,这也是提高“C语言程序设计”课堂教学质量及教学效果的关键。

2教学中存在的问题分析与对策

(1) 运用框架教学法。教师的教学理念是否正确将直接影响教师的知识表达方式。题目的讲解重点在于讲思路,讲怎样想,而不在于讲每条语句的释义或语法。因此,需要用问题引导学生思考,同时采用框架教学法将学生的答案记录。例如,利用公式Õ/4=1-1/3+1/5-1/7+…求 Õ的近似值,直到某一项的绝对值小于10-6为止[2]。学生从题目中看到的内容与规律如图1所示:

这样,学生从已知知识到未知的程序设计就有了一个明确的思路,以后便会举一反三,遇到类似更复杂的问题就会有思路,例如:sin(x)=x-x3/3!+x5/5!-x7/7!…,直到最后一项的绝对值

(2) 授课内容不拘泥于章节顺序。每本教材都有各自的特点,如谭浩强的《C程序设计》内容全面细致,但是若将学生引入枯燥的语法中,而学了三章还不知道程序为何物,势必让学生的学习兴趣大打折扣。所以无论选用什么教材,教师都可以按学生的理解能力编排教学内容。可以让学生第一次上课就接触程序,第一次上机就模仿程序,这种通过程序运行带来的快乐会加强学生的学习信心,而且给学生以直观的认识,消除程序设计的神秘感。算法的内容可以放到顺序结构程序设计的后面再讲,这样学生便轻松理解算法是什么,打印输出语句可以第一节就简单介绍,因为每次上机实践都会用到。诸如此类的想法与经验都是来源于学生的理解需求。

此外,还可以采用渐近式或阶梯式的教学方法。比如,讲指针和函数等有一定难度的章节时,可以采取这种方式。以函数为例,先将最简单的函数基础知识讲授给学生,让他们知道什么是函数、作用及功能即可,当讲过数组和结构的章节后,再深入的讲解函数的各种较复杂的知识点,学生就容易理解了,这种“分散难点”的渐近式教学方法,可以让学生学到最后一章还是充满信心。

(3) 理论联系实践,充分利用案例教学法。学生在没有明确学习目的情况下会提出:“学这门课到底有什么用?”这类问题。作为大学生,学生学习的动机会促使他们更关心所学知识是否会学有所用,难点也许不仅仅在于课程本身。所以,C语言的重要性一定要强调。C语言不是一门过时的语言,学生不重视在较大程度上是因为学生不了解它。C语言是一些操作系统的服务、网络和驱动程序等底层软件的开发基础;在手机、PDA等嵌入式产品开发与研究领域也有广泛的应用。在教学中,可以结合案例进行教学,简单的如构建通讯录、学生信息管理,游戏程序等;复杂的可以演示在工业领域中的应用案例等。

(4) 经典语句提炼,以一当十。在程序设计中,将出现频率高的语句和算法提炼出来单独讲解,这样有利于给同学们格外加深印象。这类语句如:累加语句sum=sum+i、累乘语句p=p*i、换位语句t=x;x=y;y=t和求最值等。引导学生归纳总结,针对同一算法,如累加求和可以用什么样的方法实现,将循环、数组、函数和指针的解法进行对比。有了这样的基础,以后的程序讲解便可重点突出,遇到这类语句简单提示即可,提高了授课效率。此外,讲解程序时,重点的语句要点拨,如怎样一行输出10个数、怎样输入、输出二维数组,让学生学习其写法,这样当学生独立编程时不用为这些小知识点苦恼。

(5) 课件的制作不主张“放电影”式的快速翻阅幻灯片,学生在每张幻灯片上视觉停留时间短,对教师所授知识点印象不深刻,容易过目就忘。每一章的幻灯片要求精而不求多,每一页内容最好能包含几个“看点”,有对比,并且有引发学生思考的问题。

以打印乘法口诀表为例讲授for循环嵌套,如图2所示,重点点拨的知识点与设计的提问有:

① 怎样使用for循环嵌套?

② 复合语句,是否加{},结果有什么不同?

③ 本题是求1-4的乘法口诀表,若改为1-9的乘法口诀表,怎样改程序?

④ 打印结果排列成一个正方形,若想变成如图2中思考题所示的四个形状的三角形,分别怎样修改程序?有什么规律?

这样将一张幻灯片内容讲透,学生会对所学内容细细品味,并且印象深刻。

(6) 教学互动形式多样化,培养学生的自学能力和动手能力。教学目标不是要给学生粮食吃,而是要教他们种粮食的本领,是要培养学生快速学习能力、实践能力和触类旁通的能力以适应社会的需求。教学场地不局限于课堂,可以组织学生进行各类设计竞赛或参观实践,以丰富教学内容,理论联系实践,这样学生的主动性、积极性和创造力会被无形的激发出来[3]。

(7) 加强上机考试的力度。目前,考试方式一般为平时实验成绩+笔试,这种考试方式的不足在于学生的编程调试能力不容易测试出来,只要看懂书本就能得高分,弱化了实践能力的考核力度;如果将考试方式改为平时实验成绩20%+笔试50%+在线编程30%的模式,可督促学生在平时训练中更注重调试编程能力的训练。

(8) 教材的使用上可以因材施教,删繁就简。针对任何一本教材,在授课中,要根据学生的专业、学习能力和基础进行有选择的讲解,不应该照本宣科。例如,若学生的基础较薄弱,可删除题目较复杂的例题或不常用的知识点,要重点突出。若学生存在个性化差异较大,也可采取分级教学等方法。

3引导学生掌握C语言学习的基本入门方法

正确的引导学生掌握学习语言的基本方法可以帮助“摸着石头过河”的同学快速入门。除了在课堂教学中要充分运用各种教学技巧调动学生的学习热情外,在上机实践中的题目安排与实践方式也要讲究方法与技巧,由浅入深,尽量帮助消除学生在上机课不知所措的感觉。上机实践可以采取模仿、改写至编写的训练思路[4]。第一阶段,在学生没有任何编程基础的情况下,模仿程序并运行会让学生信心十足之余也对C语言的结构、特点和上机环境有所了解,这个阶段培养兴趣是主要目的;第二阶段在学生有了一些基本语法知识和编程思路时,不要急于让学生自己编程,因为大多数学生往往会有无从下手的感觉,这时改写程序会让学生循序渐进的又向前迈进了一步;第三阶段,教师可设计一些让学生不费力就能独立完成的小程序;当学生有了这些基础,就可以留一些有难度的题目,教师课前可做一些思路上的引导与提示。总之,让初学者对学习C语言保持信心和兴趣是至关重要的,教师是知识引导者,而不要对学生一味的灌输枯燥的理论与施加压力。

4结论

本文分析了C语言程序设计教学中存在的一些问题,并提出了相关对策,这包括框架教学法、阶梯式教学法、案例教学法、经典语句提炼法和教学互动多样化等方法。实践表明,这些方法对学生增强学习信心与提高学习兴趣有事半功倍的效果,同时也有助于教师提高教学质量和取得良好的教学效果。

参考文献

[1] 吴敏. 充分利用多媒体技术推进C语言教学发展[J]. 中国电力教育,2007,(9).

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

[3] 刘金安, 高涛等. 基于成就激励的任务驱动式C语言教学模式研究[J]. 计算机教育,2008,(4).

[4] 何钦铭, 颜晖. C语言程序设计[M]. 北京:高等教育出版社,2008.

Teaching Quality Analysis and Countermeasure Study on C Programming Language

Liu Yahui,Zhou Changsheng,Fang weiwei

(Computer Center, Beijing Information Science and Technology University, Beijing, China 100192)

Abstract: This paper does an analysis on the problems,which influence on Teaching Quality and teaching effect in the C programming class.And it puts forward framework teaching method,step by step teaching method,case teaching method,classical sentences teaching method and teaching interaction diversification and so on.Practice shows that those methods have certain reference value for enhancing teaching quality,improve teaching effect,training thinking skills and cultivating interests in learning.

Key words: C Programming Language, classroom teaching, teaching methods

上一篇:嵌入式WEB监控教学功能系统研究 下一篇:一辈子做学生喜欢的优秀教师