李红刚 刘宏伟 殷立新 李红彪
摘 要:文章探讨了在实际教学经验的基础上,如何提高“C语言”课程的教学质量。在“C语言”课程中使一些难以理解的问题易于理解,以培养和提高学生的编程技巧。
关键词:C语言;教学方法;策略
对于工科高校的大学生来说,“C语言”课程是大多数专业的重要基础课程。虽然C#和Java等面向对象语言已经成为编程和软件开发的主流,但是“C语言”仍然被广泛用于作为编程的入门语言课程,因为它结合了高级语言易用性和可移植性的特点,并具有低级语言效率高,能够直接操作硬件等特点,所以可以用来编写系统软件和应用软件。它具有数据类型和运算符多的特点,程序设计具有更大的灵活性,这使得C语言得到了广泛的应用。但这也增加了初学者掌握C语言的难度,使这门课程过于抽象,难以掌握。所以如何提高“C语言”课程教学质量,让学生能够学习好这门语言,取得理想的教学效果,值得分析与探讨。以下是笔者对“C语言”课程教学方法的一些看法。
1 培养正确的学习态度,提高学生学习的兴趣
目前,学校里有不少学生在学习过程中有想快速成功和即时受益的想法。因此,他们对如面向对象的“C语言”等编程课程不感兴趣,从而影响后续课程的学习效果,导致编程技能较弱甚至没有,以致于在毕业找工作或者工作中没有优势,发展受限。所以,教师在课堂上下要和学生多交流,多指导,纠正学生这种错误的急功近利思想,让学生树立正确的学习和人生态度。“C程序设计”课程的重点在于从算法设计到程序编写、调试的全过程,它是抽象和复杂的,这是多数学生抱怨编程太难,太深奥,不好掌握的主要原因。俗话说:万事开头难,因此,有一个良好的学习开端非常重要。通过多年的教学体会,我们可以使用一些实际示例和几个小游戏程序让学生看到编程的直观效果,介绍和演示一些用C语言编写的更常用的软件,让学生通过玩“打字游戏”“俄罗斯方块”等游戏,提高他们学习“C语言”课程的兴趣,以达到良好的教学效果。
2 建立教师对“C语言”课程的教学信心,激发学生学习的热情和主动性
2.1 教师首先要树立“C语言”课程的教学信心
由于多数学生没有编程课基础,他们在学习“C语言”课程时会深感困扰、积极性不够高。作为教师,要建立对“C语言”课程教学的信心,激发学生学习“C语言”课程的积极性和主动性。认真了解、掌握学生的学习心理,把学生的思路从高中数学阶段转化到高校编程语言课程上来,正确引导,重视学生的反馈,树立好学生学习“C语言”课程的信心。
2.2 激发学生学习的热情和主动性
学生的学习兴趣、学习热情和主动性直接影响着教师的教学效果。兴趣是最好的老师。真正有价值的不仅来自责任感,还来自对客观事物的热爱和热情。
在开始讲授“C语言”课程时,先介绍它广泛应用于编写系统软件和应用软件,还可以编写大型数据库、简单的游戏,以及在未来的工作中广泛应用,使学生产生好奇心,从而使学生产生学习C语言的兴趣。每个人都渴望尝试,自然就感兴趣,并可以积极学习。
上课时,当场演示C程序例子,在多媒体上编译运行,输出结果,让他们知道编程并不难,克服恐惧。在此基础上,把程序做一些适当的修改,让程序输出不同的结果,并说明原因。然后提出新任务并要求学生思考,如何通过修改程序去完成任务。解决问题的方法和步骤(即“算法”)应该是整个教学过程的重点,让学生了解如何分析和解决实际问题,使学生逐步形成正确的编程规范和思维方式[1-4]。
3 “C语言”教学方法的改进与研究
3.1 对比教学法
通过合理的对比教学,把学生学过的知识内容有效联系起来,进行横向或者纵向的比较,增加学生学习的兴趣,有助于学生理解所学的内容,加深印象。
“C语言”课程的内容有许多类似的概念,全面了解概念的本质有助于巩固所学知识。刚开始学习时,不能理解好、把握好很多概念之间的共性与差异,学习效果不理想,这就需要教师在授课时,注意讲解各概念之间的联系,把这类知识串成一个整体。例如,在关于程序控制流的章节中,if语句尤其是使用多分支if语句和switch语句,通过比较语句格式、循环过程、循环次数、循环条件和3个句子的退出条件,比较while语句,for语句和do-awhile语句之间的异同。让学生能理解清楚各语句的使用方法。此外,让学生通过比较break语句,goto语句,continue语句的格式以及使用方法的异同来掌握其用法。
3.2 启发式教学法
在古代,孔子就非常重视启发式教学。“不愤不启,不俳不启。”启发式方法通过灵感和指导教授知识,培养学生的能力,使学生能够积极主动学习,启发式教学也是一种教学思想。老师在讲授新内容时,要尽可能从问题出发,在用已学知识不能解决或者解决比较复杂时,讲解用新知识的解决方法,这样前后所讲内容就能够有效连贯起来,新知识内容的引入就会有理有据,学生比较容易接受。例如,在引入循環语句时,您可以要求学生解决1~100的总和。 当谈到解决问题时,学生想要知道如何解决这个问题,他们将有学习新知识的愿望。因此,教师带着问题去讲授新知识,可以激发学生的学习热情。
3.3 多媒体教学
合理利用多媒体教学方式,可以把声、图、字融在一起,使教学多样化,可以把抽象的问题直观化、形象化,有助于学生理解与接受。多媒体教学以动态的方式传授知识,通过课件的演示,可视化枯燥的内容,从而激发学生的学习兴趣和信心。可以培养学生的想象力、创造力,提高学生的主动性和积极性,取得良好的教学效果[5-6]。
4 加强对算法的强化教学和练习
“C语言”课程的教学重点与教学难点是算法,可以理解为,算法就是编程的灵魂,而语言只是一种介子。只有正确的算法,计算机才能解决问题。因此,在开始教授“C语言”课程时,首先应该介绍如何分析问题,设计算法并正确表示算法,以确保更好的教学效果。
对于“C语言”课程中涉及的算法,应该进行一些关键的介绍和强化训练,并且还应该解释这些算法之间的关系。这些典型算法包括诸如选择、过滤、起泡和减半等算法。在解释算法时,应结合课程的相关内容,如筛选方法、气泡法和其他算法可以结合数组,功能部分进行教学。通过这种方式,学生掌握了这些算法,并学习和掌握了相关的课程内容,逐步形成了在编程过程中绕过思维的思索模式。
5 学生编程能力的培养
由于C语言包含内容比较多,学生在学习C语言时会出现个别特殊的现象:你学的句子越多,编程就越难。每个人都知道语句等同于编程工具,最重要的原因就是:传统“C语言”课程授课的重点不在于讲解如何解决问题,而把大部分时间都花在讲授语法规则和语句格式上。这样做的结果是,当学生要编程时,他首先想知道如何定义变量以及使用哪个语句,而不是合理地解析问题并考虑最佳算法,当然不能做出好的程序。因此,应讲给学生如何找到问题的解决方案,即算法方面,这一点非常重要。要完成任务,首先应该从上到下逐步细化问题,然后逐层分解,在满足每个要求之前,编写一个合理的算法并将算法转换为C语句[7-8]。
6 结语
当然,由于“C语言”内容多,概念复杂,在教学中所使用的方法也多种多样,但主要原则是在教学中注重理论与实践相结合,引导学生运用他们学到的知识来分析和解决实践中的问题。通过改变、优化“C语言”课程教学方法,激发学生的学习兴趣,使学生不仅能掌握好高级程序设计语言的知识、基本算法和编程技巧,更重要的是能掌握好编程的思维方式和方法,具备能使用计算机很好地解决实际问题的基本能力,并灵活运用高级编程语言进行编程,以跟上社会发展的需要。
[参考文献]
[1]谭浩强.C程序设计[M].北京:清华大學出版社,2004.
[2]徐建民.C语言程序设计[M].北京:电子工业出版社,2001.
[3]姚建峰,李柏樵.C语言程序设计教学方法研究[J].大学教育,2014(10):56-57.
[4]陈玉琨.大学课堂教学问题分析及对策研究[J].绿色科技,2018(3):234-235.
[5]邢小宁,晁增福.大学课堂教学的问题及建议[J].课程教育研究,2015(4):16.
[6]王怀峰.C语言教学浅析[J].福建电脑,2012(3):208-209.
[7]林清野.如何提高高校学生对《C语言程序设计》课的兴趣[J].内江科技,2011(9):59.
[8]郭亮,郭海智.C语言教学探讨[J].电脑知识与技术,2016(24):116-117.