林洁馨 李良荣
【摘要】本文针对C语言程序设计教学中存在的各种问题进行了分析,结合贵州大学电子大类专业学生的特点及贵州大学实验室的具体状况,提出了一种实验式教学模式。通过各种统计数据分析,实验式教学模式能提高教学效果,让学生在老师的引导下能更加主动地学习。
【关键词】C语言程序设计 实验式教学 教学效果
【基金項目】贵州省教学内容与课程体系研究重点项目“电子设计教学与课程体系研究”(黔教高发[2011]281号),教育部第三批全国高等学校特色专业:贵州大学“电子科学与技术”。
【中图分类号】G642 【文献标识码】A 【文章编号】2095-3089(2014)04-0123-02
自上世纪90年代以来,C语言迅速在全世界普及推广,“C语言程序设计”成为各高等学校的一门最基础的计算机课程。C语言程序设计在计算机教育和计算机应用中发挥着重要的作用[1]。本文结合当前贵州大学“电子大类”学生的特点,通过多年从事C语言程序设计课程教学经验总结,从教学内容、手段等方面提出一种新的教学思路,让学生在教学互动中的角色从被动变为主动。
一、现状分析
由于高校各专业的专业课程学分压缩,培养计划中电子大类专业的“C语言程序设计”课程的课时数,从以前的72+36学时(72课时+36学时实验)到现在的48+16学时。要在有限的教学时间内完成规定的教学内容,且保证高的教学质量,一直是我们探索的问题。而且对于非计算机专业的理工类学生来说,一般在开设“C语言程序设计”课程前仅学习了“计算机基础”课程,在没有计算机体系结构、算法等基础的情况下学习C语言课程,普遍认为抽象、难懂,致使该门课程的教学成绩不尽人意。
(一)目前存在的教学问题
1.课程学时少,课程内容多,因此在理论课教学中以老师讲授为主,在实验课教学中学生往往把指导书上的原题照样输入,运行出结果后即大功告成,缺乏思考,也缺乏和老师的沟通。
2.学生基础较差,缺乏学习主动性,而且学生们基本没有课前预习、课后复习的习惯。大多数学生反映课堂上虽然听懂了,但写程序时无从下手。并且不愿意询问老师也不愿意和同学交流,久而久之害怕学习C语言程序设计。
作为一名教师,如何在每一个有限的50分钟内调动学生主动学习,如何引导学生开动脑筋、思考、理解所学知识,从模仿别人的程序到自己编写程序是我们提高教学质量的关键[2]。
(二)目前的教学方法
近年来本科生数量愈来愈多,学校实验教学资源不足,“C语言程序设计”课程教学中学生只能是先在教室接受老师的理论授课,很长时间后才能进入实验室动手编程,这也造成了理论课上学习的知识不能马上消化,理论和实验严重脱节;又由于实验课时量减少,学生人数增多,实验设备更新慢等原因,教学效果很不尽人意。目前主要的教学方法有:
1.板书教学:这种教学方式是最古老,但也是我们一直采用的教学手段。老师一边讲解,一边把重点、难点在黑板上书写出来,学生会跟着老师的思路去思考问题,学生的注意力能够较好的控制,效果也比较好,但是由于老师板书时会花去较多时间,所以该手段已经不适用于教学课时少、教学内容多的现代课程教学了。
2.多媒体式教学:老师采用课件进行授课,减轻了老师板书的负担,增加了授课的信息量,但是课件是以幻灯片模式播放,学生容易疲倦、走神,而且在授课过程中一些推理过程学生很难想象,老师在用课件授课时速度较快,学生的思维较难与之同步,从而影响教学质量[3]。
(三)教学内容
按照课本知识的逻辑体系进行课堂教学,一般先介绍数据类型、运算符及语句等概念,再介绍程序结构、数组、函数、指针等,从知识的逻辑上来说这是可以的,但是从学生知识的掌握情况及编程能力上看这种按照课本体系的教学是不满意的。
二、实验式教学模式
选择合适的教学内容,学生在老师的引导下先进行思考、讨论,并选取一种大多数学生理解的算法,画出流程图,然后在编译环境下根据流程图“演示”编写程序并讲解,让难懂的语法和概念融入“程序编写”中。学生虽然没有亲手完成程序的编写,但参与了编程的思想、过程、执行及检查,学生能在课堂上立即消化所学理论知识,真正做到理论与实践相结合。学生通过观看、模仿,在实际操作中去探索和领悟各个概念,激发了他们的兴趣、减轻了学习的压力。采用这种互动式教学方法,真正实现教、学、做一体化。
实验式教学模式的实现有两个关键问题:①教学内容的选择;②老师的精心准备。
(一)教学内容的选择
教学内容以编写程序为主,而不是每个单一的知识点。程序的选择要由浅入深,知识点要覆盖面广。先选择一些比较简单的程序介绍C程序的语言成份和语法应用规则。例如:数据,必须“先定义,再使用”,在程序中进行比较演示;如何进行数据的输入和输出,在程序中对各种格式进行分析说明。有时在编程时可以刻意的编写一些同学们容易弄错和不容易看出的错误语句,编译出现问题后引导学生去分析并解决问题,培养学生“分而治之”的模块化程序设计思想。最后,分析一些稍微复杂且与专业相关的C语言程序,为学生开发大规模程序设计打下基础。教学内容选择时还要做到与时俱进[4],对于电子大类的学生来说,在高年级学习单片机、接口等课程时会用到C语言编程,在做毕业设计时会用C语言做一些系统开发。总之,在选择教学内容时尽量做到针对性、启发性、参与性。
(二)老师的精心准备
采用实验式教学模式是否能取得好的教学效果,关键是老师的精心准备。老师不仅要对教学内容进行准备,还要提高自身素质修养。准备教学内容时老师要遵循简单到复杂,单一到综合的原则,要准备许多覆盖大量知识点的实例。随着教育改革力度的加强,教师的角色从传授者转变为引导者[5],老师在教学中要适时地提出问题引导学生思考,让学生积极开动脑筋分析问题,理解解决思路、编程思想,还要针对学生提出的问题进行分析、并进行编译,根据问题引导学生的创新思维,因此要求老师的知识面要广,且有实战经验。
三、教学评价
为了客观的评价实验式教学模式,我们分别对采用板书教学、课件教学和实验式教学的班级“C语言程序设计”期末考试成绩进行了统计分析,如图1所示。还采用了问卷的方式进行各种教学方法满意度的调查分析,如图2所示。从分析可见实验式教学模式能提高教学效果,而且学生对该教学模式比较满意。
四、结束语
本文主要分析了C语言程序设计教学中存在的一些弊端,通过多年的教学实践经验表明,在教学硬件资源欠缺的情况下,实验式教学模式能够提高学生的学习积极性、启发学生创新思维、提高教学效果。希望我们的教学经验能与同行分享,为非计算机专业学生的C程序设计能力的提高做出贡献。
参考文献:
[1]谭浩强.《C 语言程序设计 》(第四版)[M]. 北京 , 清华大学出版社.2010
[2]刘晓华.非计算机专业VB程序设计教学探讨[J].科技创新导报,2011;vol.36,135-136
[3]戚晓芳.C++程序设计教学新思路[J].电气电子教学学报,2004;vol.26,30-32
[4]吴跃,陈峥.面向对象程序设计教改探索[J].计算计教育,2010;vol.8,60-63
[5]胡乐宁.浅谈高校教改形式下对教师能力的培养[J].大学教育,2012;vol.1,N0.2,48-49
作者简介:
林洁馨(1976—),女,贵州省贵阳市人,副教授,硕士,主要从事C语言程序设计及集成电路等教学工作。