摸索C语言的方法

更新时间:2024-03-30 作者:用户投稿原创标记本站原创 点赞:17407 浏览:80665

摘 要:本文主要剖析了职业院校学生普遍认为C语言不好学而不学的态度,并探讨一些学C和教C的方法

关 键 词:C语言教法学法项目法

我从学C到教C有已好几个年头,在这些年里我一直为一个问题所困惑——怎样才能学好和教好C语言?

记得我学C时,对于前几章的核心要旨我倒也马马虎虎地能粗略的理解,并能解决一些简单的问题.但到了后几章,数组、函数、指针,特别是指针以后的内容,我可是如坠里云雾,连基本的语法和算法都难以明白,更别说要去解决什么复杂的问题了.现在的学生,我想和我当时的情形差不多,但有一点区别就是:我虽不懂,但我却认真地去学,虽已伤了兴趣,但并不气馁,为不懂的问题一遍遍地看书,一次次地请教,毕竟得了个一知半解.而现在的学生则是不懂就彻底放弃,几年来可以说是两代人(我七十年代末生,我所教学生大多为80年代甚至90年代生的人)学C都会遇到同一个问题,何故?

总结我这些年来的经验,我认为学C有难度主要存在着以下几个方面问题:

第一、原本的底子差.

第二、事先不知C的用处,因此不能建立一个浓厚的兴趣.兴趣很重要,这是我们做任何一件事情的基础.我从事教学多年,基本上形成了一个习惯,习惯于将每门课或课程中所牵扯的各个知识点事先向学生说明其作用,即功能.这在我的教案中均有体现,

第三、学的过程中不会用数学的方法去解决程序的问题.当然不能排除数学一塌糊涂的人.我遇到过这样的学生,问其数学中一元二次方程是什么,答说不知道.数学和C,我认为密切相关,要是不知用数学去应用C,则C确实难以学矣,

第四、学后不去记忆,不去复习(学时不认真当然可归结为兴趣方面),浮于表面,落实不了具体问题.这就是平时看来还可以,考时就炸锅的学生.C中众多的语法和规则,不死记硬背当然就会学多少忘多少.我调查我的学生近百来人,课后复习者不到3%,此种学法学得后面忘了前面,且能学好,

第五、即使掌握了语法,到真正应用程序时却又犯难.这就是没掌握算法.关于算法有数据结构基础当然是好.没这基础也并不犯难,对于C的初学者,我们并不要求在编程过程中去考虑,如何节省计算机的存储单元,也并不严格要求计算机的冗余运算,只要编来就好,能调试成功就对,在这个对的基础上我们再去考虑,明显的运算冗余问题,作进一步修改.因此,对于初学者,在编程过程中我们只要用处理问题的常规方法让其把过程编完就行了.

第六、不习惯上机去调试.对理论上模棱两可的问题不用实验来解决.对于有些人即使实验,也是关心结果正确与否,并不思考程序的过程和结果的由来.对于可实施的算法,我认为应该认真分析,特别是好的算法,更值得去记录和记忆,


第七、就是教师教法不科学,虽已完成教学任务,但在教学过程中并不注意方法,致使学生在听的过程中乏味.我们始终要清醒一点.我们面向的并不是“头悬梁”、“锥刺骨”之人.众多的原因使得C在学生中形成了一个不好的传说——“C语言是魔鬼”.

有“魔”就有“道”.自古正邪不两立.我们教C的人就应挑起这除“魔”的担子,念起这除“魔”的“道法”来.如何以“道”破“魔”呢?这就是我们一直在探讨的问题?人与人性格有差异,思想有不同,要去将他们统一起来,找到一种你能笃取的共性至关重要.如何才能找到共性,共性是什么?我认为就是一个兴趣.建立浓厚的兴趣,是搞好一切的基础,也是上述前6种问题前提.说得好:“世上无难事,只怕有心人”,有了兴趣,他就会有所用心.如何才能全面培养学生学C的兴趣?这就是我们教师的责任和深究的话题.

立足于专业培养目标,围绕注重职业技能,加强实践教学,培养创新能力这个目标,强调充分调动学生学习的主动性、积极性和创造性,多种教学方法灵活运用.

我认为,要先使学生对你所教c感兴趣,首先要让他们对你人感兴趣,对你人感兴趣了,距离就亲近了很多,你讲的话,你教的课他才会爱听.所谓爱物及乌即是这个道理.要想使学生对你感兴趣,仪表是第一,态度是第二,关爱算第三.第一堂课不一定要讲知识,各种方面都可以,能取得学生好感和信任那是最大的收获.再在平时的日常生活中不时地去关心一下你的学生.这并不是信口开河,我本身就是一个事例,虽不足以为论据,但也是我的亲身体会.

第二,将复杂问题尽量简单化.难从易开始,先易后难才叫深入,让学生掌握简单问题和知识,最好让学生形成一种检测象,C并不难.

第三,课堂幽默化,酿造轻松的课堂氛围,使学生在一节课上坐得住,不乏味.以幽默的语言,有趣的故事来说明一个个的问题,而且还要互动交流,不全板书,不满堂灌.第四,以合理的教学方法去传授你的知识,对于这一点,是众多教师的难题,我也算其中一员.教育界所推行的“案例法”、“任务驱动法”、“情景法”,对某些学生,某些课程凑效,但对某些课程却难以发挥.如这C语言,“案例法”当然可以,“任务驱动法”却效果不明显,你动他不动,想动动不了.因为主体变了,“任务驱动法”的主体成了学生,“案例法”的主体还是老师.那么什么方法是行之有效的方法呢?目前正在酝酿的“项目教学法”堪称是一个较为实用的方法,“项目教学法”提出一个项目或者说以一个小型系统来作为本期或半期或一个时间段的具体任务教学,从一开始就以此项目作为目标,不同的地方以不同的知识去诠释,以此来进行项目式的教学.教学内容的组织遵循两条主线,以程序设计为主,语言基础知识为辅.程序设计:从问题分析、确定数据结构、算法设计和编码、调试等方面,重点讲授程序设计的思想和方法,以及程序设计风格.语言基础知识:以语言必须具备的功能、语法为重点,组织教学内容.

第四、实验是解决一切问题的根本,我们要学会实验,善于实验,在实验的过程中举一反三的思考.有些学生上机实验不叫实验,只是任务式的把老师的程序清单做了一个执行过程,不管结果对否,更不去思考为什么是这样做?这样做有什么好处?可不可以用其他方法解决的问题?所以啊,这种实验只能说是走过场,并不能起到一个开发启迪的作用.做为学生应多考虑问题,作为老师也应以各种不同现象来引导学生去动手调试,只有这样,才能使学生在实践中掌握更多的真正道理.

同时电子教案和助学课件:在没有老师指导的情况下,学生可以通过电子教案和助学课件进行自主学习,课上听不懂的问题可以通过课件继续学习,也可以预习后面的知识.

以上见解是我设计“项目法”对C语言教学的具体内容,真正的实施应根据老师提出的设计项目作具体安排,不足之处,敬请指导.