前言:我们精心挑选了数篇优质c语言教学论文文章,供您阅读参考。期待这些文章能为您带来启发,助您在写作的道路上更上一层楼。
学习C语言程序设计应当充分注意实验环节。首先老师在上实验课时尽量要求学生多编写程序,多上机调试程序,上机实验的目的决不仅是为了验证所编程序的正确性,其主要目的在于让学生熟练掌握上机操作要领和调试程序技术,积累编程经验。其次上机实验可以加深学生对讲授内容的理解,尤其是一些语法规定,光靠课堂讲授比较枯燥又难以记住,但它们又很重要,通过多次上机就能自然地熟练掌握,通过上机来掌握语法规则是行之有效的一种方法。最后,学生在上机调试通过一个程序后,可以自己改变程序中某些部分,甚至故意设置一些障碍,观察和分析在不同情况下的编译和运行结果。应当说,上机实验的重要性绝不亚于课堂听课,这是巩固和发展课堂知识的十分重要的环节。
2C语言实验课存在的问题
目前在不少高校C语言实验教学活动中,经常会出现以下一些问题:
2.1没有充分调动学生学习的积极性。大部分学生在学习程序设计以前只知道使用计算机娱乐或办公,认为计算机的学习应该很轻松。但是C语言的许多基础知识都是概念性强、理论性强,内容丰富且抽象,具有严密逻辑性的,学习难度比较大。这时有的学生会产生畏难情绪,而老师又没有及时引导,因此许多学生学习兴趣开始降低,不听老师讲授理论课,甚至连实验课也干脆不去。
2.2很多高校的C语言课一般是理论课和实验课分开教学,任课老师只负责理论教学,实验部分则是把学生丢到机房由实验室老师负责辅导,任课老师很少或基本不去机房,学生上机调试程序的自觉性当然很差,就算任课老师布置了作业,也有不少同学在偷偷玩游戏浪费时间,有同学有问题也是由辅导老师负责解答。任课老师和辅导老师沟通不够,学生到底哪里不懂,上机时在干什么这些情况任课老师很少知道,当然也不了解学生现阶段的学习情况,教与学在这里脱节了,任课老师上课就失去了针对性。
2.3学生的作业存在抄袭现象,有的程序错误百出,根本就没上机调试过。对批改过的作业,有相当一部分学生也不认真去分析,交作业仅仅是为了应付老师。对于C语言这样一门实践性很强的课程,仅靠布置作业和书面批改作业的方法来督促学生学习和了解学习情况是很不全面和客观的,很难提高教学质量。
2.4学生每次上机时缺乏明确的量化指标,虽然教师事先也向学生布置应准备的内容,但没有督促和检查,完成完不成无所谓。上机情况与期末总成绩没有直接关系,这常常导致学生上机前不充分准备,上机过程中时间抓得不紧,思想上没压力,故而上机调试程序的能力提高不快。
2.5不少高校目前C语言的编译软件还在用DOS下的TC,现在是WINDOWS横行的年代,如果还是坚持让学生面对纯英文操作界面的TC,运行一系列难以记忆的DOS命令,很多学生看第一眼就被吓倒了,更不用说去仔细分析调试程序时产生的诸多英文提示,而且TC本生也有不支持鼠标操作,输入中文不方便等缺点。3C语言实验课教学改革的原则和方法
基于对以上问题的分析和认识,在上机实践教学中应采取如下改进措施:
3.1为了方便管理任课老师最好兼任实验室辅导老师,或者要和实验室辅导老师保持密切联系、经常沟通,及时了解学生的上机作业情况,适时调整授课进度。加强机房管理,端正学生的上机目的。上机考勤、纪律情况记入期末成绩。
3.2在每次上机时,要求学生在规定时间内独立完成一定数量的练习题。老师(任课老师或实验室辅导老师)根据每人完成练习题的数量、质量与时间,现场打分并做为平时成绩,影响该课程的总成绩。练习题可在上机之前提前告诉学生,方便他们事先做好准备。这样一来即可有效地避免学生互相抄袭作业、不求甚解的弊端。
3.3凡讲过的基本操作方法,要求学生必须事先复习好,上机时一律不予解答。目的是提高学生理论课的听课质量。
3.4取消原来的书面作业,换成学生写实验报告,这样可以帮助他们总结编程经验。实验报告的格式可以参照上机实验指导书,此类书现在书店很多,比如谭浩强编著清华大学出版社出版的《C程序设计》就比较不错。
3.5改进C语言的编译环境,选用WINDOWS下的编译软件,比如WIN—TC,WIN—TC的内核实质上和TC是完全一样的,只不过是操作界面不一样,WIN—TC的优势主要就是纯中文菜单,支持鼠标操作,在WINDOWS下编辑TC代码,充分利用WINDOWS的剪贴版,可以很方便的输入和显示汉字等,这是一个免费软件在网上很容易找到。
3.6笔者结合国内外优秀编程语言的实验教学方法和模式,并经几年来C语言的教学实践,建议在有条件的情况下尽量将理论课和实验课的比例设置成1:1,千万不可为赶教学进度或其它任何理由而压缩实验课时,那样做会得不偿失。
4C语言实验课教学改革的效果
上述方案经笔者若干循环的C语言教学实践后,明显感到改革前后的情况大不相同,取得了较好的教学效果:
4.1课堂听课质量明显提高。因为上机时老师要当场检查程序,根本就不可能去抄袭别人的,就算抄来弄不明白也是白费心机。要想上机时顺利通过,课堂上必须认真听讲,记笔记。因此课堂教学时学生基本上没有迟到和无故缺的,并且课堂上都能专心听讲,记笔记,课间10分钟还问个不停,因为上机时就没有这么多时间详细问老师了。
4.2实验课上机效率明显提高。因为要赶快把程序调通过让老师检查,否则这次作业就没成绩了,上机时大家都在争分夺秒,根本没有人有时间去玩游戏、上网,甚至于有的学生下课后都还要拖堂调试程序。
关键词:C语言;教学方法;思维转化;启发式教学;软件工程
一、前言
C语言是一种通用性计算机程序设计语言。它兼有汇编语言和高级语言的双重优点,运用它既能编写操作系统软件,又能开发各个领域的应用软件。C语言的实用性使之成为编程的首选语言。学好了C语言,再进一步深造C++/VC++,JAVA等言语,就有了坚实的基础。但目前很多学生在学习《C语言程序设计》后,感觉读程序还凑合,编程则“难于上青天”部分学生甚至毫无编程想法,仅仅是为应付考试而死记硬背,完全背离了高职教育的初衷。因此,如何在C语言教学中启发并训练学生的编程思维,是每个教师应深思的问理。以下是笔者在C语言教学中的一些看法,愿和同行探讨。
二、上好第一堂课
如何上好第一堂《C语言程序设计》课是至关重要的。因为学生都是初次接触C语言,C语言对他们来说是神秘的,“兴趣永远是最好的老师”,有了兴趣他们才会积极主动地去学习,所以第一堂课的成功与否直接关系到学生能否对这门课产生兴趣,所以我觉得第一堂课应为“趣味C语言导学课”。
(一)程序结果展示,激发兴趣
要激发学生的兴趣。首先要让大家知道C语言的强大功能,利用它我们能编写各种软件,通过幻灯片向学生展示各种结果画面,例如从50年代玩的摇杆游戏到如今的电脑游戏。相信这时有些学生已经有些“蠢蠢欲动”了。恨不得立刻学好C语言。
(二)强调C语言的重要性
C语言是学生今后学好后继课程的基础,比如数据结构。C++,JAVA等。虽然程序设计语言更新很快,但如果真正掌握精了程序设计思想,具备了真正解决实际问题的能力。语言再更新可程序设计的本质不会变。
(三)传授C语言的学习方法
C语言是一门实践性课程,要理论结合实践,加强学生的动手能力,解决问题的能力,在学习方法上给以学生指导,告诉学生如何自学,如何听课,如何动手实践,明确一点:“C语言不是看会的,也不是听会的,而是亲自动手实践练会的”,强调实践的重要性。
(四)认识C语言的编译环境。
在visualstudio2005环境下,举出几个简单的小程序演示给他们看,并逐一讲解,引导学生自己去发现程序中存在的缺陷以及改进的方式。熟悉C语言源程序到可执行文件的整个操作流程。让他们仿照所列举的几个程序模仿着编一个小程序。
三、C语言教学方法
(一)抽象思维到形象思维的转化
让学习过程变得轻松有趣是激发学生兴趣的关键所在,C语言本身是一门极其抽象难懂的学科,把抽象的问题形象化,使本来枯燥无味的C语言变得魅力无限,符合学生的认知规律,可以收到良好的效果。
(二)采用问题启发式授课,激发自主学习
针对C语言概念多,语法繁的现状,采用问题启发式教学可以将难理解、难记忆的概念和规则变成一系列时而醒目、时而深奥的问题呈现在课堂教学中,这样就能把学生的注意力集中起来,学习积极性调动起来,达到师生互动的效果,教师自问自答为主,有问有答,互问互答,改变单调死板、照本宣科的牧师讲法。这种启发式、讨论式、交流式的教法,不仅改变原来的灌输式,而且增强了学生自主学习的能力。
(三)“引申法”“框架法”和“求异法”相结合
所谓“引申法”是指是结合已经解决的问题,因势利导,引导学生在此基础上解决相关联的问题。“引申法”可以培养学生在程序设计方面的发散思维。提高程序设计中的应变能力。问题是活的,但程序是有章可循的。最终使学生明白,语法是有限的,可解决的问题是无限的。只有在分析实际向题的基础上,以清晰的思路去设计算法,才能举一反三,以不变应万变。
“框架法”可培养学生的全局思维和算法的整体设计能力。具体体现在两方面:一是在学生有了一点编程基础后要利用伪代码或流程图,从算法设计的角度讲解编程思路,而不应拘泥于语法细节,不分主次、逐条语句的讲解代码。通过此框架,可使初学者对函数设计的关键问题有清晰的认识,利于从统筹全局的角度去考虑问题,体现了程序设计逐步求精的思路。这样可以层次分明,突出算法设计的关键,利于培养学生的编程思路。二是在学习重点章函数时,由于新的算法已很少,主要是学习用函数调用的方法来重新编制以前所熟悉的程序,那么我们可以把着眼点放在函数的设计框架上,体现参数设计、返回值设计等关键问题,而无需细讲函数体的实现细节。
“求异法”:一个固定的问题。解决的方法可能不唯一,如果能启发学生多角度、多侧面去寻求解决问题的办法,则可激发学生思考的积极性,提高其学习兴致。在C语言中一题多解的情况有很多,有意识地引导新思路,鼓励新方法,以培养学生在编程中的求异思维,而不是死记硬背,墨守成规。超级秘书网
(四)理论教学与学生实践相结合,提高程序调试能力
对程序设计课来说,理论学习和上机要两手抓,两手都要抓硬。实验课不能流于形式,让学生照抄照搬,甚至身在曹营心在汉。必须给学生思考、创新的启迪,训练其实践能力,实验课要生动活泼,使学生既掌握书中的重点算法,又有充分的思考空间,让学生充分体会到顿悟和创造的乐趣。在进行每一部分的学习的时候,都应该配有相应的学生上机实践的机会。这样学生既锻炼了动手能力,又巩固了所学的知识。还应该让学生养成上机前分析题目,决定算法与数据结构,并编出程序源代码的好习惯,这样在上机时,学生就有的放矢,主要精力放在调式程序上需。对于普遍存在的问题,进行集中提示、讲解、演示以增加学生的印象。井及时检查总结学生上机实验的完成情况。
(五)在整个教学环节中,巧妙地引人软件工程的基本思想
计算机科学属工程技术科学,为使学生有良好的编程思维,应注重软件工程思想的渗透。对软件生存周期的几个阶段,即问题定义、可行性研究、需求分析、概要设计、详细设计、编码、调试、运行与维护,可以通过常规的C程序设计实例来体现,以培养学生编程中的工程思维。这样并没有费很大力气讲抽象的概念,却可培养学生在程序设计中从软件工程角度去系统分析问题的良好习惯。虽然问题小了些,但“窥一斑而知全局”,经反复强化问题求解中所蕴含的基本思想,将有效地训练学生程序设计中统筹全局的工程思维能力。
1.1多媒体与板书相结合
在传统教学中,教师开展教学工作主要使用板书,教师在讲台上讲,学生被动地在下面听,课堂教学互动很少,学生在学习中的主体作用很难体现,同样教学质量和教学效率也很难取得突破。多媒体的引入,弥补了传统教学的不足,它可以将视听两方面更好地结合,极大地调动了学生的学习兴趣,很容易使学生、教师、多媒体三者实现互动。教师可以把C语言课程相关的所有内容放在校园网的网络教学综合平台上,利用网络教学综合平台课程信息、布置作业,并永久保留各项网上学习痕迹和各项统计消息等,从而拓展教学空间。学生随时可以浏览该课程相应的辅导材料,进行网上提问、在线测试、讨论式学习等。当然多媒体只是教学工具的一种,在课堂上它并不能完全取代教师的作用。
1.2演示编程、增强互动的教学方法
兴趣是最好的老师。老师可以选择一些简单有趣的数学问题,在课堂上来进行实际编程演示,并运行结果,使学生学会借助于C语言来解决实际问题,感受到编程的奇妙,从而产生浓厚的学习兴趣[1]。随着课程的后续学习,还可以继续向学生演示对于一些趣味性的问题如何来编程。这样不但可以提高学生编程的兴趣,还活跃了课堂气氛。此外,也可以给学生布置些课后作业,在习题课的时间让学生来演示自己写好的程序,大家共同对程序进行分析、评价,以此来提高学生的学习兴趣。
1.3课堂讲述与讨论相结合的教学方法
把课堂交给学生,定期组织学生讨论。在程序设计中,针对一个程序的多种编写方法展开讨论,评价程序,使学生认识到优、劣代码的特征,思考怎样才能编写高质量的程序。在学习完循环控制后,如对于计算100以内偶数之和,我们要求学生分别用while语句、do-while语句和for语句来实现。这样的教学过程,有效降低了问题的难度,激发了学生的编程兴趣,不断地引导学生去思考,使学生深入理解。
1.4填空式教学方法
在讲述程序时,不将程序的内容和盘托出,而是有意识地在内容上制造一定的空白,让学生自己去推测可能的结果。这就要求学生首先要读懂程序,了解程序实现的功能,再添上适当语句,然后运行程序,直到得到正确的运行结果。从而激起学生的探索欲望,提高学生的学习能力,进一步培养学生的创新思维。
二、实验教学方法的探索
在以往的C语言程序设计教学中往往存在着集中式的讲述,老师在课堂上对于语句的语法讲得较多,往往是注意事项罗列了一大堆却忽略了程序的“设计”过程,在讲解的过程中举例死板、单一,过于依赖教材。这样很容易造成学生学习了不会编程、不会应用,相关知识联系不上,最后使得学生的学习兴趣逐渐淡化。因此,对于非计算机专业的学生,需要加强实践教学环节的教学,主要体现在以下几个方面。
2.1任务驱动的教学方法
C语言是一门实践性非常强的课程,这就要求必须加强上机实践这一教学环节。在上机练习时,可以采用任务驱动的教学方法来指导学生。上机前先给学生布置一些任务,并且这些任务要能激发学生的学习兴趣,学生一旦有了兴趣,很多复杂的问题就会迎刃而解。例如学到函数时,我们可以让学生编程设计一个简单的计算器程序。在上机操作之前给学生先演示用一个简单的程序来实现,上机操作时要求学生对这个程序进行修改并用带参数的函数来实现,最后要求学生对程序再进行修改,用不带参数的函数来实现。通过这样的案例,使学生理解并掌握函数的几个重要的概念、实现方法及编程技巧,并使学生真正理解为什么说C语言的程序是由函数构成的。经过这样的反复练习,学生不但学到了基础知识,而且提高了综合分析和理解能力。这样的教学任务不但有趣,还能调动学生的积极性,达到事半功倍的效果。
2.2设计错误、寻求正确答案的教学方法
在教学的过程中有意识地设计一些错误,让学生在实践中发现错误。例如在讲解求100至200间的全部素数并要求每行输出10个素数这个程序时,可以在程序中设置一些隐蔽的错误。这些错误可以是算法上的错误,也可以是语法上的错误,或者是逻辑错误等,使得该程序不能正确执行。然后让学生在上机时进行调试,分析程序,发现错误并及时改正。我们设置这些错误的目的是使学生主动思考问题,找出问题,然后想办法解决,从而调动学生的积极性。让学生在错误中学习,在错误中成长,不断地克服困难,提高思考能力。这样可以培养学生的动手能力和解决问题的能力,而且学生也可以积累调试程序的经验。
三、结语