◆湛静梅
(河北省唐山师范学院滦州分校)
对于非计算机专业理工类学生而言,C语言程序设计这门课有着较强的应用前景。它不仅是计算机二级考试要求的课程之一,而且也为解决实际问题提供了方法或者是方便。尤其是与数学应用联系紧密。因为教程内容中大多以数学问题作为实例,应用C语言解决数学问题也应该是学生具备的一种能力。在我校专科课程设置中,C语言成为数学专业学生的必修课。对于数学专业学生学习该课程,教学内容上应该本着突出基础理论知识的应用和实践能力培养的原则,能够达到学以致用,加强针对性和实用性。
C语言是一种通用的程序设计语言,具有功能强大、表达简明、使用灵活、结构化的流程控制、丰富的数据结构和操作符集合、良好的程序可移植性和高效率的目标代码等特征。既可以编写系统软件,也可以用于编写应用软件。C语言的语法规则清晰,便于掌握和记忆,是大多数程序设计者的入门语言。C语言兼有高级语言的容易学校及低级语言的强大控制能力着两种特性,也因这两种特性,使它取代了许多程序设计语言的地位,成为大多数程序设计人员喜爱的程序语言。然而C语言的数据类型较多、表达式丰富、语法结构较复杂,也使它成为一门教师难教、学生难学的课程。
单纯的程序语言指令规则枯燥乏味,按部就班地讲解指令规则和介绍书本上的例子很难引起学生的学习兴趣。这样也很难使学生在C语言课程中找到编程的乐趣。因此,教师需要在授课时多联系实际举例,多激发学生自主学习的能力。
1.明确学习目标,提高学习动力
“没有目标的人,就好比没有眼睛的鱼。”在教学过程中我们不难发现,很多学生都是学的时候很迷茫,不知道该如何运用,甚至不知道到底有什么用。C语言这门课程作为一门程序设计课,不仅仅要求学生对C语言本身有准确的理解,还要求学生能够合理运用,提高程序设计能力。在具体教学组织中每节课我都给学生制定学习目标,使他们能够有方向、有目的的去学习。事实证明在C语言教学中,帮助学生明确学习目标是增加学生的学习动力的有效办法。
2.增加实例的趣味性、实用性,提高教学效果
C语言中有许多实例,比如,猜数字游戏、水仙花数、fibonaCCi数列、猴子吃桃、译密码等。在教学过程中尽量运用简单实用有趣味性的作为教学内容,巧妙设计。像这样的例子可能比比皆是,在此我简述我在循环结构教学中的几个案例。
案例1.讲到循环结构时,强调while语句使用应该注意的问题。(while后面是否加“;”,复合语句要用“{}”)。最初的授课方法就是先讲述后练习,这样的讲解学生在学习学习过程中并没有引起注意,记忆也不深刻。到后面做练习的时候错误百出。后来我改变了教学技巧。讲述完基本用法之后我给了一个大家感兴趣的话题《找不同》。
通过区别程序,输出了不同结果,学生在分析它们的执行过程的同时深刻理解并记住了这些问题。这次教学效果明显提高。
此外教学实例还应该尽量做到少而精、一例多用,通过一个例子起到对前后相关内容的融合贯通。例如,实例“猜数字游戏“分别用于选择和循环结构教学内容中。实例(1)将十个数按照逆序排列。(2)将十个数排序,分别贯穿于数组,函数,指针教学内容中等。因为学生是数学专业,所以也可以多运用数学例子,比如,用牛顿迭代法(或者二分法)求方程的根,用递归方法求勒让德多项式。这样既适合专业性质,又解决了本课程的学习,一举两得。
案例2.在循环结构当中用“计算1+2+….+100的和”的实例来讲解while语句的语法和使用,再用do~while语句和for语句实现。
进而还可以推导出if语句使用过程中三个表达式的缺省问题,三种语句在什么条件下可以等价转换,掌握了三个语句的用法的同时,也理解力它们之间的区别。
3.发展学生自主学习,培养学生学习兴趣
新课程强调学生是学习的主人,在教学中要充分发挥主体性。因为C语言这门课程仅仅依靠课本或是老师教的知识是远远不够的,它是一门带有探究性的、以学生动手实践为主的学科,探究性学习以“问题”为基础,“问题”是学生进行探究式学习的载体,而教师可通过“问题”的提出,激发学生探求新知的欲望,在引导学生去探究的过程中,学生主动地产生学习的需求。因此,恰当的“问题”是信息技术教学的重要手段,它不但能巩固知识,及时反馈教学信息,而且能激励学生积极自主地参与到教学活动,成为学习的主人。所以教学应立足于学生学习能力的培养,特别是自主学习能力的培养,只有这样,才能促进课堂教学质量的提高。
案例3.在“循环语句”的教学中,安排学生完成课本的一道习题。题目要求:猜字游戏。(给一个数字,猜对了输出**right**,猜错了输出**wrong**)。
程序分析过程中要鼓励学生勇于质疑,大胆发表自己独特的见解。教师在教学中要给学生留有思考、探究和自我开拓的余地,要善于把教学内容本身的矛盾与学生已有的知识、经验间的矛盾作为突破口,启发学生去探究,使学生的思维活跃起来,使学生勤于思考,乐于思考,从而更加积极自主地投入学习。讨论过程学生可以得出如下结论:应该限定猜的次数;猜对后就应该结束循环。实现过程中同学们运用不同的方法实现。
C语言程序是一门理论加实践的课程,必须上机实践,将程序运行调试才能真正解决问题,得到正确结果。有的同学认为完成程序的编写,就万事大吉。实际上上机运行时可能会不断出现错误有时候可能没有语法错误,但是结果不对。这样只有在上机的过程中还能发现,进而改正。还要特别强调的是,最好是先讲课后上机,而且时间间隔不能太长。所以多实践是学习掌握C语言的必经之路。
上机实践课主要采用分组讨论。先将学生分成小组根据学习水平均衡分配,这样有助于互帮互带。实现过程:难度低的程序实行每个人独立完成后组内交流讨论,难度较高的程序一个人思考可能存在一定的困难,就实行组内先讨论然后共同完成。大家彼此学习好的编程思路和方法,得到质量较高的程序也达到共同提高的目的。这样既可以锻炼个体,也能培养大家团结协作的团队精神。
要教好C语言,关键在于教师要明确学生学习目标,有效地组织教学,这样才能激发学生的学习兴趣,让学生主动、愉快地学习,满足他们的求知欲,从而取得良好的教学效果。
[1]谭浩强.C语言程序设计.清华大学出版社.
[2]孟祥双.C语言教程.北京师范大学出版社.
[3]王保胜.C语言程序设计教学探讨与实践.科技信息,2011,(27).