马艳英
(巴音郭楞职业技术学院,新疆 库尔勒 841000)
浅谈《C语言程序设计》教学改革
马艳英
(巴音郭楞职业技术学院,新疆 库尔勒 841000)
由于C语言程序设计课程内容比较抽象,加之传统的教学常以教师讲授为主,学生普遍反映C语言难学。文章介绍了笔者多年来在教学模式、教学方法以及教学手段上所进行的改革,即针对职业院校学生素质特征,运用现代教学理论和技术所进行的新型教学方法尝试。
模式;方法;手段;改革
《C语言程序设计》是电子各专业都开设的一门非常重要的专业基础课,掌握好C语言程序设计技术,能为学生学习后续一些较高级的编程语言打下良好的基础。我们都知道,C语言概念比较复杂,规则较多,使用灵活,容易出错,学生掌握起来有一定的难度。传统的C语言程序设计教学中,主要以课堂讲授为主,且在教学过程中采用的大多是纯理论的抽象案例,这对于高校学生,尤其是职业院校的学生而言,既抽象又枯燥无味,不能充分体现职业教育的特点。另外,以语言内容难以理解和接受,学生学起来自然没有动力,从而导致课堂教学质量不高,学生学习兴趣不浓,学习效果不佳,不能真正理解程序设计的精髓,因此普遍反映C语言难学。针对以上情况,笔者对《C语言程序设计》进行了教学改革,主要从教学模式、教学方法以及教学手段等几方面进行了改革,变老师主导型教学为与学生交互型学习,并在教学过程中不断探索新的教学方法和尝试先进的教学手段。
首先,改变了以往的授课方式,从以前的合班上课方式改为单班微机室授课。这种授课方式可以使学生先理解老师所讲授的理论内容,然后可通过上机实践,加深理解并真正掌握课堂内容,同时也提高了学生的动手编程能力,充分调动学生学习的积极性和主动性。学习程序设计的最佳方法就是自己编写程序,在实践中发现问题解决问题并逐步提高水平,而这种授课方式正好可以将理论与实践相结合。由于单班进行授课,老师可以对每位学生进行一对一辅导,做到“教学做”一体化,所以教学效果良好。
其次,我们针对这种新的单班微机室授课方式,重新编写了教案。在教案的组织上遵循的原则主要是理论与实践相结合,组织方式是:对于每一个项目,首先介绍概念、原理、算法、语法和注意事项,然后通过适当的案例解,随即让学生上机实践,教师当堂辅导学生编写和调试程序,使学生能够对课程内容当堂理解,当堂消化吸收。
最后,对考核方式进行了改革,将期末成绩划分为平时成绩+上机成绩+笔试期末成绩。考核成绩的方法是:平时成绩占30%,上机考试成绩占30%,笔试成绩占40%。这种考核方式既可以考核学生的平时表现,又可以考核学生对课程的掌握程度。既考察了理论知识的掌握情况,也考察了学生的实践动手编程能力。通过综合学生的意见反馈,学生对这种考核方法表示赞同和认可。
首先,在教学过程中运用多媒体技术进行辅助教学,有利于激发学生的学习兴趣,发挥学生的主体能力,优化教学过程。在《C语言程序设计》课程教学过程中,考虑到本门课程的特点,对于要讲解的案例应进行分析,发挥传统教学的优势,即进行课堂讨论、板书讲解、结合提问,将问题层层剖析、层层深入,充分调动学生的积极性和主观能动性。另外,充分利用多元化、现代化的教学手段。在教学过程中应多方位应用现代教育技术手段,尤其是多媒体辅助教学手段与网络化辅助教学手段。在课堂教学中采用多媒体教学课件,加强直观教学,可提高学生的空间想象力。对C语言程序的调试过程及运行机制学生很难理解,很难想象其过程,如果将其做成课件,以动画的形式模拟其过程,学生就能很快地掌握。教师应从最简单的C语言程序的调试入手,详细演示C语言程序的调试过程与调试细节,同时让学生参与进来,实现教师与学生、学生与学生的双向交流和互动,提高学生的学习兴趣,加深学生的理解与记忆。要充分利用计算机网络开展网上答疑、网上测试、网络教学,及时解决学生在学习与生活中遇到的种种问题,使其检验自己本阶段的学习成果,加强对所学知识的吸收和消化。
其次,对以往上机考试模式进行改革。以往上机考试为教师出几道程序设计题,全班学生都答一样的题,这种模式存在一些弊端。现在上机考试模式改为采用C语言程序设计题库抽题,每位学生进入考试系统,系统具有自动出题、随机组卷、计时收卷、实时评分和记录成绩功能,大大提高了考试效率。每名学生的3道考题是随机产生的,与旁边学生的考题都不相同,所有考题题目都来自于国家二级考试模拟题题库,具备一定的针对性。同时,C语言程序设计题库有两种使用方式,即平时练习和正式考试,学生在平时练习,系统会自动给出所有练习题的答案,这样学生就能在练习的过程中逐步提高自己编写程序的水平。因为是电脑计时评分,时间一到马上就收卷然后给出成绩,因此,就迫使学生必须经常练习,不知不觉中也就提高了C语言程序设计的能力。
在教学方法上主要采用多种教学方法相结合的方法。
首先,利用问题探究引入教学法引入本节课要学习的知识,这种教学法能够充分发挥学生的主动性,突出学生的主体作用,有效地培养学生分析问题与解决问题的能力。以“冒泡排序”为例,可以采取先跟学生讲解什么叫“冒泡”,再让学生设计冒泡排序的算法思路,然后让学生讨论并写出算法流程图,最后讲解如何用for程序结构实现算法,完成整个程序的编写。
其次,可采用归纳教学法和案例教学法。归纳教学法引导学生对C语言中的定义、概念、语法规则进行归纳,将会起到事半功倍的效果,例如:getchar()与putchar()函数,有很多语法规则是一样的,对它们进行归纳之后,学生只要记住其中一个,另一个自然就会使用了。C语言是应用性很强的一门课程,既有理论,又有实践,既讲方法,又讲动手能力。采用案例教学法可以改变“满堂灌”的做法,将学生的眼、手、脑全部调动起来,培养学生的学习兴趣。笔者将课程内容分为若干个主题,以程序设计作为贯穿各主题的主线,每个主题的教学过程由“要点讲解”、“自学/上机实践”和“疑难解答”三个阶段组成。通过案例分析,重点讲解程序设计的思想和方法,辅以语言知识的介绍;然后通过上机练习,包括基本训练(自测作业和主题作业)与综合训练(大型作业),教师针对学生暴露出的问题答疑解惑,结合案例教学,努力将C语言作为解决实际问题的工具,强化学生的编程能力,在分析程序与程序设计的过程中使学生逐步熟悉语法,应用语句,提高学生分析问题、解决问题的能力,由浅入深、由易到难、循序渐进地使学生在实践中掌握知识,培养程序设计能力,逐步理解和掌握程序设计的思想和方法。最终在课堂上实现教师扮演“主导”角色,而学生真正地成为“主体”。
最后,由于每个学生学习的动机、兴趣、能力存在较大的个体差异,所以决定了C语言课程必须因材施教。针对学习能力较强的学生,鼓励他们自学,并给予方向性指导,让他们超前学习。针对学习能力较弱的学生,进行单独辅导,加强学生学习的积极性。对于大多数学生,精力主要放在最基本、最常用的内容上,让他们学好基础知识,领悟程序设计的方法,为后续其他课程的学习打下基础。另外,在教学过程中应不时地进行换位思考,从学生的角度来考虑问题,注意师生的互动效果,以提高学生学习的积极性和主动性。
[1]谢志江等.案例教学法在工科教学中的应用[J].高等工程教育研究,2003,(5):12-17.
[2]谭浩强.C程序设计(第三版)[M].北京:清华大学出版社,2005.
[3]孔垂柳,田地.基于程序设计思想的C语言教学方案[J].吉林大学学报(信息科学版),2005,(8):5-6.
[4]李明等.C语言程序设计教程[M].上海:上海交通大学出版社,2007:26-32.
G642
A
1673-0046(2011)03-0153-02