[摘要]C语言是高校计算机类专业开设的一门非常重要的专业课程,学校往往在教学上投入很多,却收效甚微。学生普遍反映难学、难懂,理论与实践脱节,所以很难培养出满足社会需求的计算机专业人才。本文从学校教学和学生学习两个方面出发,分析C语言教学过程中现存的问题,通过多年的教学经验,对教学方式和方法进行总结,试图探索出一种符合现代人才培养需求的教学模式。
[关键词]C语言 程序设计 实践教学
一、前言
上个世纪70年代以来,C语言在以其目标代码质量高,使用灵活,数据类型丰富,可移植性好等特点而得到广泛的普及和迅速发展,成为一种在系统软件开发、科学计算、自动控制等各个领域广泛应用的程序设计语言。在众多高级程序设计语言竞显风流的当今社会,C语言以其强大的功能仍在高级程序设计领域占据着重要的地位。
C语言作为计算机类专业的一门专业课,是学生学习程序设计的开端,学生分析问题、解决问题的能力和程序设计过程理念的形成都与C语言有着密切的联系。C语言有着其它高级程序设计语言不可比拟的优点,同时也有其较难学习的一面。由于现行教学过程中存在着一些弊端和学生自身因素的原因,所以在学习中普遍反映“难学”、“不懂“,这也是学生普遍遇到的问题。
二、现行教学和学习中存在的问题
1.现行教学中理论课与实践课完全分离,不能相互促进。理论课中往往只注重对教材知识的分析和灌输,在广度上对知识没有拓展和延伸,必定会影响对知识深度的剖析,也会造成学生理解的困难。而实践课程通常被放到了次要的地位,很多时候是在走形式:一方面,学生对知识一知半解、往往用上网来对付实践课;另一方面,老师很难监控到每个学生,了解他们是否都在认真编写、调试程序。这就造成理论课没有起到为实践课打基础的作用,实践课也没有起到巩固、应用理论课的作用。
2.学生对计算机基础的学习不深入,严重影响了C语言的学习。因为C语言程序设计课程的延续性和拓展性非常的强,包含了算法、数据结构、计算机基础等相关专业课程和基础课程的'课程的知识。在C语言教学中涉及到进制转换、取值范围和顺序存储等基础知识时,发现很多学生还没掌握这些基础知识,甚至根本不理解。在这样薄弱的基础上,C语言教学很难顺利进行。
3.学生在学习中处于被动的接受知识的地位,没有机会主动参与到学习中来,导致学习兴趣不浓、学习停留在表面、对知识学的一知半解。由于接受的多是课本知识,所以动手能力差、应用能力差,导致不能把自己所学的知识应用到实践中去。这样培养出来的学生不能满足社会的需要,也没有达到教学的目的。
三、探索新的教学方法
在多年的教学过程中,尝试多种教学方式,不断总结教学经验,探索新的教学方法。
1.上好第一堂课,引起学生的学习兴趣。第一堂课是最基础的理论知识课,如介绍C语言的发展、特点、优点等内容,往往不被教师所重视,认为应该把精力放到程序设计部分。其实恰恰相反,上好第一堂课至关重要,它关系着学生是否会对学习产生兴趣,渴望进行后继内容的学习问题,所以绝对不能照本喧科。而对C语言的发展追本溯源,将C语言领域的开发投入、研发过程、遇到的问题进行详细的分析,对C语言在现实中的应用以及C++、VC++进行介绍,往往能够引起学生学习C语言程序设计的兴趣、推动后续知识的学习。
2.详细讲解基础知识,深度剖析与后继课程相关的内容,激发学生学习动力。C语言程序设计教学中涉及的数据类型、取值范围、运算符、优先级、表达式等内容虽是基础知识,但对学生来说却是迈入程序设计大门的第一步。没有坚实的基础知识,便无从谈及程序设计,所以对基础知识的讲解一定要详细。比如遇到整型数据的取值范围问题时,可以适当拓展一些原码和反码的知识,让学生知其然,更知其所以然;链表知识是C语言的难点,这部分内容和数据结构联系密切,所以要深度剖析,尤其是对带表头结点的单、双链表更要讲解的清晰、透彻,为数据结构、JAVA语言等后继课程打下坚实基础。这样继往开来,不仅可以巩固以前的计算机基础知识,更能激发学生的学习动力。 3.重点分析程序设计过程,培养学生良好的编程习惯,逐步提高学生编程能力。很多学生认为,进行程序设计就是用计算机语言编写源代码,这其实是学习程序设计的一个误区,编写源代码仅仅是完成了程序的编码,而程序设计从问题分析就开始了,它包括分析问题、选择算法、绘制流程图、编写源代码、调试并测试程序,直到取得正确结果这样一个完整的过程。其中绘制流程图能使程序员在编程时思路清晰,减少编程错误。利用流程图来分析、查找、解决程序设计中的问题能够一目了然。例如:下面这一简单的while循环结构,用流程图便可以轻易发现错误所在。图1是错误代码的流程图,它使程序陷入了死循环,图2是正确的流程图。所以绘制正确的流程图,是减少代码错误的有效手段。
Main(0
{int i,sum;
i=sum=0;
While(i<=100)
Sum+=i;
i++;
Printf(“1+2+3+…+100=%d’,sum);
}
在C语言程序设计教学过程中,即使对简单的程序设计的讲解也严格的按照程序设计的过程一步步的进行分析和引导,培养学生良好的编程习惯。
4.通过实践教学,让学生亲自体会程序设计全过程,巩固所学知识。学生通常在C语言的学习上投入了很多的精力与时间,但却离实际要求相差很远。因为缺乏了实践经验和能力,不能满足社会的需求,这也是计算机类学生的通病。为此,在教学中一定要注重理论与实践相结合。案例实验可以说是学习C程序设计最有效的方法之一,在教学过程中我们故意将赋值符号“=”和等号“= =”互换、漏写分号“;”和大括号“{}“,设置一些待解决的错误,引导学生在编程和调试过程中逐一解决这些问题,不仅能够巩固理论知识、养成编程的好习惯,更能调动学生思考问题和解决问题的积极性。同时在解决问题的过程中使学生有一种成就感,这对学习能力的提高和积极性的培养有很好的作用。
5.多种教学手段相结合,提高教学效果。理论教学与实践教学相结合,适当减少理论课、增加实践课,将理论教学融入实践教学中来,逐渐模糊两者之间的界限;传统教学与丰富多彩的多媒体教学相结合、教师讲解与学生课堂讨论相结合,以便调动学习的主动性和积极性。
6.注重对知识的归纳和总结,让学生温故而知新。在教学过程中,按章节、按阶段对相关重点知识进行归纳总结,让学生把模块化的知识连接起来,系统、全面的掌握所学内容。
四、结束语
目前C语言程序设计教学中仍然有很多需要改进的地方,如何提高实践教学质量,使理论与实践相结合,仍需要在教学过程中不断的探索和改革。
参考文献:
[1]杨路明等.C/C++程序设计教程.长沙:湖南科学技术出版社, 2003.
[2]谭浩强. C语言程序设计教程.北京:高等教育出版社,1997.
[3]王士元. C高级实用程序设计.北京:清华大学出版社,1996.
[4]徐孝凯.数据结构实用教程(C/C++描述).北京:清华大学出版社,1999.
【C语言程序设计教学分析与探索论文】相关文章: