APP下载

C语言实验的改革探索

2010-08-15

皖西学院学报 2010年2期
关键词:C语言程序设计实验课

刘 钧

(皖西学院,安徽六安 237012)

C语言实验的改革探索

刘 钧

(皖西学院,安徽六安 237012)

总结了学生在C语言实验过程中的问题,对C语言实验的改革进行了分析总结,提出了针对C语言实验的案例教学改革方法。

C语言程序设计;实验教学;案例教学

《C语言程序设计》是一门重要的计算机基础课程,通过该课程的学习,学生在计算机语言编程及程序设计技术两个方面都能得到锻炼。C语言是学习高级语言编程的首选语言,通过对C语言的基本特点、语法规则、程序结构等内容的学习,学生能逐步掌握程序设计的基础知识和面向过程的结构化程序设计方法,形成良好的程序设计风格,这将为进一步学习计算机相关课程或从事软件开发奠定基础。

《C语言程序设计》是一门实践性很强的课程,需要通过大量的上机实验,才能真正掌握好[1]。因此,除了注重课堂教学外,重视和搞好实验教学,加强学生的动手能力培养[2],是提高课程教学质量的关键。

1 学生在C语言实验过程中存在的问题

在C语言实验教学中还存有各类问题[2][3],主要有如下几点:1、学生刚开始学习C语言时,知道其重要,学习热情也很高,但当接触到C语言开发环境,见到单调、枯燥的界面,总觉得不如 Window s“好玩”,便会逐步丧失兴趣。2、大多数学生在实验课上,忙于录入编辑源程序,忙于查错,简单验证程序运行结果之后,很少再有深入探讨的过程。C语言实验几乎成了打字练习课。3、实验课时较少,学生很难在有限的课时里收到满意的学习效果。所有学生或多或少存有玩心,稍有放松,到后期只能是应付考试,不求深入。4、学生与教师沟通有限,一部分学生怕自己学得不好,有问题不愿意问,另一部分学生则什么都问,老师看不到学生学习的主动性,教学情绪也会受到影响。实验课后,老师与学生很难见面,有问题也得不到及时解决。

2 C语言实验教学方法的改革情况

在今天的环境下,如何让学生上好实验课、学好C语言是大家共同面对的新课题[4][5]。各地各校教师采用了很多方法与对策,值得我们认真探讨与借鉴。

2.1 明确学习目的,激发学习兴趣

让学生明确学习目的、激发学生学习兴趣是所有教师都认可的作法。让学生明确C语言在计算机专业课程中的地位,清楚C语言程序设计在软件开发领域里的作用,介绍几位有成就的学长当年的学习历程,讲述几位企业家的创业史,等等。该法虽然有效,但不能天天挂在嘴上,每次面对乏味的操作界面,仍避免不了学生学习兴趣的流失。

2.2 精选实验项目,明确学习内容

现今,C语言教程多配有实验操作指导书,针对每堂实验课设定实验操作项目,对于优秀学生,可以基本完成全部内容,但对多数学生则难以做到。很多老师会在每堂实验课上,从实验项目中再精选重点内容,讲解要点,提出问题,激励探索,并巡回督促学生完成。此种作法,要求老师具有高度的责任心,就实验内容来说,有了一定的弹性,学生也较易完成。老师多付出一分辛劳,学生也就多得到一份收获。

2.3 利用多媒体教室,演示讲解实验

一些学校将部分实验课搬进了多媒体教室,老师演示操作,学生观看体验。此方法不能说不是一种改进,确有其独特的功效,它可以将带有共性的问题及错误,让所有同学都能同时得到正确解答,可避免教师巡回重复讲解,达到事半功倍的效果。然而它的缺陷也很明显,学生很难全部记住一堂课上的全部要点,听一遍总不如做一遍印象深刻。

其实,在一堂实验课中出现的共性问题,不会很多,老师只需在下一次理论课上,用3到5分钟的时间即可讲清楚,收效也很好。至于学生,还是应当让他们亲自下海去品尝滋味。

2.4 布置大作业,促进学生自学

一些学校在开课之初即向学生布置大作业,作业的实用性以及完成作业的可行性,对学生都是很强烈的刺激。作业涉及的难度与深度,让学生一时无法完成,这在学生心里形成一个期盼的目标。学生会分解目标、带着问题自觉学习,实验操作训练的积极性是明显的,每一个小问题的解决、每一个小目标的实现,都会给学生带来成功的喜悦,增强了信心,对后续学习又是最好的激励。

该教学方法,对一流学校素质好的学生,是行之有效的。该方法的前提是,学生具有高度的学习自觉性。这一方法在很多学校中却无法实施。但可改进一下,分章布置大作业,让学生看到一个更容易实现的目标,在一定程度上可以达到激发学生自觉学习的目的。

2.5 编写实验教学软件,减轻学生负担

为减少学生录入源程序的时间,减轻学生粗心出错的负担,一些学校专门组织力量,编写实验教学软件。软件依据一本实验操作指导书,将大部分练习与习题编入其中,学生只需读懂练习源程序,接下来的改进、编辑、编译、运行等实验操作过程都可在教学软件的帮助下完成。实验教学软件的使用,在一定程度上提高了学生实验操作的效率,使同步完成实验内容成为可能。软件实现实验教学也存在一些问题,近年来教材更新较快,改写实验教学软件,使其与实验操作指导书同步,成了老师的一大负担。软件实验教学,虽免除了学生的录入负担,但无法使学生接受粗枝大叶的教训,离开教学实验软件,自行编程,仍会犯一些低级错误。

3 C语言实验教学探索

C语言实验教学在不断的探索与发展着,每一种方法的运用都不会十全十美,也不会处处适用。针对自己学生的特点,针对自己学校的软硬件条件,理性分析各种实验教学方法对自身的适用程度,合理选用不同的教学方法,以应对不同阶段的实验教学内容,才能达到较好的实验教学效果。

笔者在多年的C语言课程理论与实验教学过程中,也在不断的探索总结,大多数学生缺少学习的主动性,又不是完全不想学,实验课上多有盲从、不得要领的感觉,若几次实验劳而无功,则学习兴趣便会慢慢丧失。针对学生的这些特点,经过不断的摸索改进,逐步形成了案例教学的实验教学方法。

案例教学中,选用的案例大多来自学生所用的实验操作指导书,好处是,学生可以不用抄题,专心听讲,记录要点方便。在上C语言实验课时,学生每人一机,老师利用软件播放系统,先将案例进行播放演示操作,提醒学生每个案例的实验要点,在出现学生不能理解的结果时,带着学生返回查错或重温理论。每堂实验课上,案例教学的过程不宜太长,要留有足够的时间让学生自主练习,案例教学结束时,要给学生留下问题,明确告诉学生本次实验的目的。

这种案例教学方法,近似达到了和每位学生面对面交流讨论的教学效果。学生都很专注,各有所悟,在之后的自主操作实验过程中,气氛热烈,讨论活跃,实验效果有明显改进。案例教学也不必每堂必用,这样容易形成学生的依赖性,你不讲他就不做。

针对《C语言程序设计》课程的特点,以及教学大纲的要求,对本课程中的基本内容、重点内容及部分难点内容进行了案例教学实验课安排,具体把握好以下三个方面:

(1)帮助学生正确理解C语言的运算符和运算顺序

掌握运算符是学好C程序设计的基础,C语言的运算非常灵活,功能十分丰富,运算符种类远多于其它程序设计语言。在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单,但初学者往往会觉得这种表达式难读难理解。案例教学就是要解决学生的难字。如:“5*8/ 4%10”、“a=3;b=5;c=++a*b;d=a++*b;e+ =a;g=a>b?a:b;”。通过这些简单例子的仔细分析和耐心讲解,找出它们与传统数学表述之间存在的差异,使学生看到它们并非很难,但也不能随心所欲。

(2)帮助学生正确掌握学好C语言的四种基本程序结构

顺序结构案例帮助学生理解程序的执行顺序,如:“a=b;c=a;”不同于“c=a;a=b;”。案例教学过程中,将编辑、编译、查错、修改等过程让学生充分体验直到熟练掌握,为以后的训练打好基础。

分支结构案例帮助学生理解程序的判断选择功能。案例以“if…;else…;”分支结构为主,逐步演化出几种变形分支结构、嵌套分支结构、多分支结构及sw itch分支结构,案例演示过程中,教会学生利用首行缩进分清结构,配合程序流程图教学,要求学生对案例自行画出流程图,加深理解。

循环结构是程序设计中最能发挥计算机特长的程序结构,即减少了源程序重复书写的工作量,又达到了重复执行的目的。C语言中提供有while、do–while和for三种基本循环结构语句,可以用来处理同一问题,一般情况下它们可以相互替换。循环结构案例很多,所用案例重点在于弄清三种循环结构的相同与不同之处,准确把握循环控制条件,将同一问题用不同的循环结构处理。如把while循环的例题,改用for循环重新编写程序,留下问题,要求学生作新的尝试。在基本把握三种结构之后,可以增选循环嵌套案例、分支与循环组合案例等。配合流程图,让学生充分理解结构化程序设计思想和方法。

模块化程序结构在C语言中是用函数来实现的,即将复杂的C程序分为若干模块,每个模块都编写成一个C函数,然后通过主函数调用函数及子函数调用函数来实现较大型问题的C程序编写,因此常说:C程序=主函数+子函数。该部分案例教学内容较难,例程也较大,重点应放在对函数的定义、调用、参数传递及函数的返回值等要点的理解和应用中,例程中的函数力求简明,在学生能充分把握之后,可以增加函数嵌套调用案例与递归调用案例,促进学生进一步巩固提高。

(3)帮助学生正确掌握一些简单算法

自主编写程序,大部分工作就是分析问题,找到解决问题的方法,再以相应的编程语言写出代码。这就要求学生应当掌握一些基本算法。《C语言程序设计》教程虽以讲授语言为主,其中介绍的一些简单算法应当得到充分重视,如两个数的交换、三个数的比较、选择法排序和冒泡法排序、递推与递归算法等。案例教学可以作到一法多例,力求简明、清晰,学生往往能在解误的同时提出自已的想法,案例会在这种分析讨论过程中被提高完善。好的案例教学可以让学生接受并掌握简单算法的思想,增强学生分析问题解决问题的能力。

C语言实验采用案例教学法后,学生普遍提高了对本课程学习的兴趣,认为编程不是枯燥的事,只要掌握了好的学习方法,通过适量的实践,就能编写出较好的C语言程序。

4 对实验教学改进的设想

激励机制可以引进教学过程中。将部分程序设计题在全体学生中征集评比最优设计,在讨论改进中,教师进行点评,激励学生追求完美。

基于校园网络平台,加强师生联系,强化课外辅导教学。网络技术的成熟与普及,极大地延伸了教学空间。实验教学的课后辅导可以通过网络平台来实现,主要方式有三种,一是建设教师个人网站;二是借助Internet上的诸多公共论坛和个人留言板;三是通过电子邮件。

5 结语

C语言由于是面向过程的程序设计语言,所以,初学者难以掌握,字符界面和繁杂的语法规则容易让学生失去学习兴趣,影响教学质量。针对C语言实验教学出现的各种问题,各校或多或少地都采取了一些措施,对原先的教学进行了一些改革,但都无法做到一方治百病。再好的方法也只是方法,最终还是要靠人去实施,靠教师和学生共同努力才能达到预期效果。在实际的教学实践中,应根据具体情况采用不同的方法,师生多投入多交流,才能取得良好的整体教学效果。

[1]杨路明.C语言程序设计教程(第二版)[M].北京:北京邮电大学出版社,2005.

[2]邓维斌,周玉敏.提高C语言实验教学效果的探索[J].实验室研究与探索,2006,25(3):359-361.

[3]尹庆莉.C语言实验教学改革探析[J].福建电脑,2009, (7):215.

[4]徐章艳.“C语言程序设计”实验教学的探讨[J].电器电子教学学报,2004,26(2):84-85.

[5]陈网凤,张盛华,高晓蓉.程序设计语言实验教学模式改革初探[J].牡丹江教育学院学报,2005,93(5):94-95.

Reform Exploration on the Experiment of C Language

LIU Jun

(West Anhui University,Lu’an237012,China)

This paper summarizes some problems in experience of C language programming,analysis and summary of reform exploration on the Experiment of C Language.The author proposes reform methods of case teaching of C experiment.

C language programming;experimental teaching;case teaching

TP312C

A

1009-9735(2010)02-0069-03

2010-02-26

刘钧(1959-),男,安徽合肥人,皖西学院实验师,研究方向:理论物理、计算机应用。

猜你喜欢

C语言程序设计实验课
密林深处——“从写生到创作”的水墨实验课
基于Visual Studio Code的C语言程序设计实践教学探索
51单片机C语言入门方法
有趣的实验
从细节入手,谈PLC程序设计技巧
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
PLC梯形图程序设计技巧及应用
高中化学实验课改进和实践及其效果评价
创新策略在高中生物实验课中的应用