关于C语言的教学体会
来源:用户上传
作者: 杨瑾
摘 要: C语言是一种应用广泛又比较难学的计算机语言,它接近硬件和系统低层软件资源,在教学上与其它语言有区别。本文作者结合教学自己的实践,谈谈对C语言教学的几点体会。
关键词: C语言教学 学习兴趣 学习方法 教学方法
C语言是一种通用性计算机程序设计语言。它兼有汇编语言和高级语言的双重优点,运用它既能编写操作系统软件,又能开发各个领域的应用软件。C语言的实用性使之成为编程的首选语言。学好了C语言,再进一步深造C++/VC++,JAVA等言语,就有了坚实的基础。但目前很多学生在学习《C语言程序设计》后,感觉读程序还凑合,编程则“难于上青天”。部分学生甚至毫无编程想法,仅仅是为应付考试而死记硬背,完全背离了高职教育的初衷。因此,如何在C语言教学中启发并训练学生的编程思维,是每个教师应深思的问题。
一、兴趣是学习的基础
心理学认为,学习兴趣是对学习活动产生的心理上的爱好和追求的倾向,这种倾向是和一定的情感联系的,它具有相对的稳定性和较强的延续性,对某个事情的“好奇”心理或偶尔有兴,不能称为兴趣。学生有兴趣表现在他们有主动了解、积极探索的愿望上,有不惜时间,不怕困难,可以集中较长的注意力。因此,在教学的过程中,教师应注意培养学生的兴趣,把握学生的兴奋点,有效地调动学生的求知欲望。如,在讲C语言这门课前,可以先给学生展示几个例子:用C语言编程的小游戏(俄罗斯方块等),或者是编程的图形小动画(如升国旗、求碰撞等),让学生感知C语言的魅力所在,从而激发他们学习的兴趣。
二、合理设计教学目标
教育理论认为:“教学的艺术不只在于传授本领,更在于激励、唤醒和鼓舞学生。”在计算机教学中培养学生的创造力同样需要“激励、唤醒和鼓舞学生”。
教学目标不仅是教学活动的结果预见,而且是学生学习的目的。教学目标的定位,要根据教学对象的特点而定,要体现学生为主体的教学原则,着眼于激发学生主动参与学习的积极性,使学生在学习知识、技能的过程中,不断提高各方面的能力。
建构主义学习理论强调以学生为中心,在建构主义学习环境下,教师应把学习的主动权交给学生,让学生在亲身实践中品尝艰辛和乐趣,从而培养他们的独立操作能力。中专学校的计算机C语言课程更是一门不可缺少的课程,上机操作是非常必要的。在上机过程中,学生可以进一步理解和掌握知识,许多学生不清楚或不理解的问题,通过上机操作可迎刃而解。我们不要总是要求学生按部就班地解决问题,要让学生自己在有目的的情况下,去寻找解决的方法,把学习的主动权还给学生,让其真正当学习的主人。当然,把主动权交给学生并不等于削弱了教师的主导作用,而是对教师的要求更高了。并且在组织学生上机的实践过程中,教师要适当地设计一些连续的作业。比如,在学完了循环结构后,我带领学生分析一个程序,其功能是输出四行星号,每行五个“*”,然后提出要求:1)理解循环语句的功能,并运行程序。2)若要输出的星号组成一个正三角形应如何修改程序?3)每行输出的“*”号及输出“*”的列数在这里是固定的,可否通过键盘随机输入?4)对这个程序通过你适当的修改能产生哪些功能?这样提出的几点要求,难度呈螺旋形式发展,既相互独立,又有内在的联系。对这些问题,学生感到只要自己能开动脑筋,认真思考,就一个跳起来摘到“桃子”,最大限度地激发了学习积极主动性。
三、设计教学结构
计算机语言类的教学应教会学生带着问题学习,初次接触这样抽象的编程语言,先掌握基本语法,不要要求学生一下子学得很深,循序渐进地使学生熟练使用在以后的进一步的学习中,肯定会遇到新的实际应用要求,学生就会感兴趣,自己便会主动深入下去,这就是“学以致用”了。
在我们所采用的教学模式中,学生是知识意义的主动建构者;教师是教学过程的组织者、指导者、意义建构的帮助者、促进者;教材所提供的知识不再是教师传授的内容,而是学生主动建构意义的对象;媒体也不再是帮助教师传授知识的手段、方法,而是用来创设情境、进行协作学习和会话交流,即作为学生主动学习、协作式探索的认知工具。比如,我们在刚刚开始讲数据类型、三大结构时,不要求学生解决很难的问题,在学完后面的数组、各种函数等后,让学生来解决更生动、更有趣、难度系数更大的实际问题。
四、传授C语言的学习方法
C语言是一门实践性课程,要理论结合实践,加强学生的动手能力、解决问题的能力,在学习方法上给以学生指导,告诉学生如何自学,如何听课,如何动手实践,明确一点:C语言不是看会的,也不是听会的,而是亲自动手实践练会的,强调实践的重要性。
五、C语言的教学方法
(一)抽象思维到形象思维的转化。
让学习过程变得轻松有趣是激发学生兴趣的关键所在,C语言本身是一门极其抽象难懂的学科,把抽象的问题形象化,使本来枯燥无味的C语言变得魅力无限,符合学生的认知规律,可以收到良好的效果。
(二)采用问题启发式授课,激发自主学习。
针对C语言概念多,语法繁的现状,采用问题启发式教学可以将难理解、难记忆的概念和规则变成一系列时而醒目、时而深奥的问题呈现在课堂教学中,这样就能把学生的注意力集中起来,将其学习积极性调动起来,达到师生互动的效果。这种启发式、讨论式、交流式的教法,不仅能改变原来的灌输式,而且能增强学生自主学习的能力。
(三)“引申法”“框架法”和“求异法”相结合。
所谓“引申法”是指是结合已经解决的问题,因势利导,引导学生在此基础上解决相关联的问题。“引申法”可以培养学生在程序设计方面的发散思维,提高程序设计中的应变能力。问题是活的,但程序是有章可循的。最终使学生明白,语法是有限的,可解决的问题是无限的。只有在分析实际向题的基础上,以清晰的思路去设计算法,才能举一反三,以不变应万变。
“框架法”可培养学生的全局思维和算法的整体设计能力。具体体现在两方面:一是在学生有了一点编程基础后要利用伪代码或流程图,从算法设计的角度讲解编程思路,而不应拘泥于语法细节,不分主次、逐条语句的讲解代码。通过此框架,可使初学者对函数设计的关键问题有清晰的认识,利于从统筹全局的角度去考虑问题,体现了程序设计逐步求精的思路。这样可以层次分明,突出算法设计的关键,利于培养学生的编程思路。二是在学习重点章函数时,由于新的算法已很少,主要是学习用函数调用的方法来重新编制以前所熟悉的程序。那么我们可以把着眼点放在函数的设计框架上,体现参数设计、返回值设计等关键问题,而无需细讲函数体的实现细节。
“求异法”:一个固定的问题,解决的方法可能不唯一。如果能启发学生多角度、多侧面去寻求解决问题的办法,则可激发学生思考的积极性,提高其学习兴致。在C语言中一题多解的情况有很多,我们应有意识地引导新思路,鼓励新方法,以培养学生在编程中的求异思维,而不是死记硬背,墨守成规。
六、理论教学与学生实践相结合,提高程序调试能力
对程序设计课来说,理论学习和上机要两手抓。实验课不能流于形式,让学生照抄照搬,否则他们会身在曹营心在汉。我们必须给学生思考、创新的启迪,训练其实践能力,实验课要生动活泼,使学生既掌握书中的重点算法,又有充分的思考空间,让学生充分体会到顿悟和创造的乐趣。在进行每一部分的学习的时候,我们都应该配有相应的学生上机实践的机会。这样学生既能锻炼动手能力,又能巩固所学的知识。我们还应该让学生养成上机前分析题目,决定算法与数据结构,并编出程序源代码的好习惯。这样在上机时,学生就会有的放矢,把主要精力放在调式程序上。对于普遍存在的问题,进行集中提示、讲解、演示,以增加学生的印象。教师应及时检查总结学生上机实验的完成情况。
C语言程序设计的教学要讲究方法,我们通过这门课的教学,不仅要使学生掌握语言的基本规则,而且要切实培养学生分析问题、解决问题的能力,培养学生的创新精神,团队意识,为学生提供更好地展示才华的舞台。
以上是我在计算机C语言课程教学中的一些体会,在今后的教学工作中我们还需要不断地去探索,取长补短,不断提高、完善。
转载注明来源:https://www.xzbu.com/9/view-967813.htm