C语言教学过程中的问题及对策
2016-05-30孙晓
孙晓
摘 要 C语言是近年来在国内外得到迅速推广应用的这一种计算机语言。为使学生更好地掌握C语言知识,充分发挥课堂教学的作用和效果,本文针对C语言的教学过程中存在的不足,做了相应的研究与分析,并不断探索证明其可行性。
关键词 C语言 课堂教学 分层教学 任务驱动
中图分类号:G424 文献标识码:A DOI:10.16400/j.cnki.kjdks.2016.07.061
Abstract C language is a kind of computer language, which is widely used at home and abroad in recent years. In order to enable students to better grasp c language knowledge, give full play to the role and effectiveness of the classroom teaching, this paper in view of the problems existing in the process of C language teaching, research and analysis of the corresponding, and continue to explore and prove its feasibility.
Key words C Language; classroom teaching; stratified teaching; task-driven
目前,C 语言程序设计已经越来越多地成为高等学校工科各个专业学习计算机程序设计的首选课程了,这与C 语言的特点是分不开的。①C语言不仅适于编写系统软件,又能方便地用来编写应用软件,并且它功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高、可移植性好,兼有高级语言的优点和低级语言的许多特点,使其在工科教学中的生命力也越来越强。②学生计算机类课程的后续学习需要有扎实的基础,同时,除了有编程思想,也应该具备一定的分析问题与解决问题的能力,为此,绝大多数高校把“C语言程序设计”作为学生学习程序设计的必修课,计算机类本科教学的成败与学生对 C 语言的掌握程度深浅有直接关系。本文就是通过分析高校学生在其学习C语言过程中所存在的问题,探讨了C语言课堂教学中一些教学方法的改进。
1 目前C 语言教学中存在的问题
在学生进入高校的第二个学期,C语言程序设计课程作为第一门专业基础课逐渐进入计算机相关专业学生的视野之中,若采用课堂教学、课后安排上机 的传统教学模式,实际教学过程中会存在以下问题。③
(1)学生计算机水平参差不齐。众所周知,由于我国中小学生计算机教育普及程度的不同,有些学生高中阶段计算机操作训练严重短缺,生源的多样化必然导致高校新生对相关的计算机知识了解程度的参差不齐。④我们必须要认真地对待学生水平不同这一问题。
(2)课堂上没有激情。现大多数教材都是建立在C语言本身所拥有的一些语言规则上,和实际的应用开发脱节,并没有太多让学生比较容易理解和可以调动学生学习激情的生动且有趣的范例,许多都是比较死板且枯燥的内容。这样的教材调动不了学生的学习兴趣,必然也就适应不了当今社会的发展。
(3)学生缺乏相应的基础知识,有畏难心理。因为之前接触的计算机比较少,对于C语言大部分学生更是不曾听说,尽管学生已经学过计算机文化基础这门课程,但说起对计算机语言程序设计的理解仍然是无能为力。所以在学习C语言程序设计时,上课根本就听不懂课,从而产生了一种认识:C语言仿佛无法逾越的鸿沟,自己是无论如何都学不会的。
(4)学习目的不明确,缺乏兴趣。大多学生因为存在以下的错误认知(那就是这门课程对后续的学习、就业以及发展工作等没有什么影响),结果导致学生不用心学习该课程。换句话来说就是一些学生还完全没有自觉地去学习的意识,一直处于被动阶段,不知道上课应该做什么,这直接就导致学生失去了学习兴趣,以致达到了厌学的程度。学生的应用能力、编程能力都比较差的原因就是没有掌握好理论知识,没有把所学的知识互相结合起来使用。这样的学生动手能力得不到提高,也没有完成学习的任务,更难以适应社会。⑤
(5)实践难以达到效果。在众多的计算机语言当中, C语言的可实施性是比较强的,不过也有很多弊端存在于目前的实践课教学中。举个简单的例子,学生上实验课,不清楚实验内容,从来都是随性而为,也不考虑上机的目的。说到该课程的考核方式,仍然是以传统的闭卷考试为主,实验课环节为辅。就这样,原本实施性很强的语言课,也沦为仅为考试存在而存在的课,最终导致一些学生根本不会做最基本的操作。
(6)教学方法不得当。关于计算机的课程,教师常常都是采用“灌输式”的教学方法,上课一味地讲授、灌输,这种方法容易使学生处于被动地位,这与 “以学生为主体,教师为主导”的教学理念相违背。⑥师生之间不能很好地互动起来,也不能充分发挥学生学习的主动性。教师讲课没有把编程解题思路放在首位,而是着重讲解一些晦涩难懂的语句、语法规则,由于学生只看到了这门课程的晦涩难懂并没有看到其全貌,所以提不起兴致,打心底拒绝学习,从而使得教学质量不高。
2 未来C语言教法学法的探讨
现根据以上C语言教学过程中所存在的问题提出了以下几种解决方案。并已在教学过程中进行了初步实践,获得成效。现总结如下:
(1)分层次教学。首先了解学生的计算机基础以及其对编程的了解和掌握程度,然后根据班里学生的具体情况进行分层次教学。
(2)改革教学方法,培养学生独立设计程序的能力。教师讲课过程既不能循规蹈矩、按部就班地局限于教材所写内容,又不能完全抛弃课本脱离教材。让学生产生学习兴趣,教材中除了有理论基础,还应该有具体的应用实例和练习。要想教学任务完成得比较顺利,在课程安排的过程中,就要让学生在学习编程与调试的过程中寻找到乐趣与成就感。激发其学习兴趣然后逐渐地掌握知识要点,一步步地深入进去。毕竟学生学习C语言程序设计时的目的是掌握C语言的语法、功能和解决实际问题,而不是以考试和调试通过书本上例题为目的。
(3)反馈积极的信息。从小学生学习的环境与方式不尽相同,因此学生的状态也会有所不同,有的学生意志坚强,能够尽快适应大学生活,从而以积极的态度去对待学习。但有些同学则意志较为薄弱,难以适应变化,尤其是当其感到学业落后于他人或者其条件不如别人时,便会产生焦虑情绪和自卑感,甚至失去学习的信心。⑦因此教师给学生反馈积极的信息是非常重要的,引导学生产生学习兴趣,积极面对学习中的困难。
(4)培养学习兴趣,做好入门指导。在授课过程中,为了使初学者可以尽快地掌握计算机知识,进入到计算机应用领域,那么最重要的就是培养学生的学习兴趣和爱好。学生起初接触计算机时,会感到新奇、好玩,然而这不能说是兴趣,仅仅是一种好奇罢了。老师要区分两者之间的区别,以便于成功转化学生的好奇与学习兴趣,授课时,就要选择从一些有趣且有实际意义的案例入手,一方面可以强化学生的学习兴趣,将其被动学习变为主动学习,同时鼓励学生学以致用,另一方面就要让其在学习过程中产生一定成就感。
(5)精讲理论,加大实践力度。“实践是检验真理的唯一标准”在学习上也是这样的,我们在教学过程中,精讲理论与上机实践二者缺一不可,这就要求我们对所学过的每一部分内容都要认认真真完成一定量的上机练习。与此同时,老师在挑选每部分的上机习题时应该包括基础的和具有挑战性却新颖有趣的题目,这样可以照顾到不同水平的学生,同时也要注意知识的系统化。此外,学生可以相互讨论教师所模拟出真实场景的题材,这样也可以激励学生积极主动参与学习活动,鼓励大家主动从身边的生活中去学习,教会他们走出呆板的课本,走出被动接受知识的模式。⑧要想充分调动学生们学习的主动性和创造性,就要因材施教,给学生们提供施展才华的空间与舞台,同时也会使他们逐渐对这门课产生兴趣,感到学有所用。
(6)灵活采用计算机多媒体教学形式。很多高校并没有很好地运用计算机多媒体等现代化教学手段。而要想有效地弥补传统教学中的不足,合理利用计算机多媒体是关键,同时计算机多媒体可以较容易地化繁为简,化抽象为具体,充分调动学生的感官,这样学生学起来就更有兴趣,同时也可以提高讲课的效率。
3 结语
C语言作为一门重要的基础性编程语言,对提高学生的综合文化素质,以及后续课程的学习都有着重要的意义。针对目前C语言教学中遇到的问题,我们要充分利用学生的兴趣和求知欲,帮助他们认识到学习C语言的重要性,明确学习目的,激发学习兴趣,借助现代教育手段等方法解决问题,从而达到化难为易的效果,促进学生有目的、有动力、有效果地学习。
注释
① 雷学生,胡多. C语言程序设计教学方法探讨[J].计算机教育,2006(6):41-43.
② 谭浩强.C程序设计[M]. 第四版.北京:清华大学出版社,2010.
③ 王创伟,汤克明,蔡长安.“C语言程序”教学改革与实践[J].现代计算机,2010(10):23-25.
④ 储岳中,秦锋,刘宏申.“C语言程序设计”理论与实践一体化教学的几点实践[J].计算机教育,2012(12):22-25.
⑤ 黎未然.高校计算机本科专业C语言课程教改探析[J].广西民族师范学院学报,2011.28(3):103-105.
⑥ 吴长中,周娅.浅谈职校计算机基础教学改革[J].教育教学论坛,2013(11).
⑦ 程传鹏.基于大学生心理特点的C语言教学方法[J].计算机教育,2012(1):68-71,82.
⑧ 刘金金,李娜.关于大学计算机基础的教法学法简析[J].教育教学论坛,2015.21(5):253-254.