有关加强《C程序设计》课程教学改革研析
摘要:目前,大多数高校以《C程序设计》课程作为计算机科学与技术专业学生程序设计课程的入门,因此,如何提高该课程教学质量是许多教学人员所关注的问题。本文主要就目前在《C程序设计》课程教学环节中所存在的问题进行了剖析,并对每一问题提出了相应的解决方案。
关键词:C程序设计;教学质量;教学环节
Abstract: At present, most of the colleges and universities to "C Programming" course as the Computer Science and Technology student programming courses entry, how to improve the quality of teaching in many academic staff’s concerns. This article in the current "C Programming" course in teaching the problems analyzed, and every issue of the corresponding solutions.
Key words: C programming; the quality of teaching; Teaching
1 引言
教学质量是学校追求的永恒主题。对于学校教学来说,教学进度计划的制定、实施、备课、授课、作业练习、课外的实践活动以及对教师教和学生学的评价办法等都属于教学的环节。任何课程的教学都需要做好教学的每一个环节。然而,在《C程序设计》课程教学过程中,许多学校的很多老师却往往忽略了教学中的某些环节或没有把握好教学中的各个环节,从而导致教学质量低。本文首先阐述了目前在《C程序设计》课程教学环节中所存在的问题,然后根据自己十多年的教学经验和实践,对每一问题提出了相应的解决方案。
2 《C程序设计》课程教学环节中所存在的问题
2.1 教学进度计划的制定不合理
教学进度计划的制定是教学环节中的首要环节,它直接或间接影响到其它各个环节。然而,一些高校某些老师在《C程序设计》课程教学中却忽略了这个环节,主要表现为:在开学初没有制定教学进度计划、或者过于简单、或者脱离教学大纲、或者死板地按教材来制定教学进度计划。
2.2 备课走形式
备课又叫做课前准备,备好课是授好课的前提条件。然而,一些高校某些老师在《C程序设计》课程教学中却没有重视这个环节,主要表现为:视备课为写教案,而教案是每所高校都要检查的教学材料之一,因此,一些老师为了应付检查而简单地将书本上的内容照抄到教案上。这样的备课在授课的时候只能是照本宣科。而《C程序设计》课程所涉及到的概念比较复杂,规则繁多,照本宣科的授课方法只会导致大部分学生厌恶该课程的学习。
2.3 授课方式方法不得体
目前,有些高校在传授《C程序设计》课程采取的仍是传统的授课方式:“黑板”+“粉笔”,而该课程的特点之一是教材内容繁而杂,规则多而活,这种传统的授课方式难以使老师保质保量地完成教学任务。近年来,多媒体教学课件成为一种新型的教学媒体和现代化的教学手段。与传统教学方式相比,多媒体教学具有信息量大、减少文字书写等显著的特点。因此,许多高校在传授该课程采取的就是多媒体教学方式。但多媒体教学不适合于程序设计方法的讲解,因为与传统教学方式相比,多媒体教学方式不能较好地教会学生如何思考、推理,如何用语句实现算法,因而不能很好地培养学生的抽象思文、逻辑推理能力。
授课方法是教师为完成教学任务和达到教学目的所采用的手段。目前仍有部分老师在《C程序设计》课程教学过程采用传统的授课方法,即完全遵循书本内容和知识结构,通过“讲授法”完成一系列的教学任务,如教师向学生传递知识信息、控制学生掌握知识信息的过程等。“讲授法”从本质上而言是一种单向性的思想交流或信息传输方式,是以教师为中心、学生被动接受知识的一种教学模式。在授课过程中,学生才是真正的主体。随着信息技术、新知识日新月异的发展,传统式授课方法已经不能满足学生的需求,必须研究新的授课方法。
2.4 作业练习的布置、批改没有保质保量
做作业是复习、练习的过程,也是继续和深入学习的过程。然而,大部分高校老师,一个学期最多布置4次左右的作业练习,每次1-2道题,而且题目全是从书上随意指点的。对于作业的批改,就是×、√或A、B、C和日期,没有合理的批语。这种既没量,又没质的布置和批改作业的方法,对教学效果起不了多大的作用。
2.5 课内上机松散,课外实践活动缺乏
《C程序设计》课程的实践性很强,学生只听不练根本达不到学习该课程的目的。可是许多高校的老师和学生,都忽视该课程的实践。譬如,老师视上机课为放松课,人虽然在机房,却没有尽职尽责地去辅导学生,而是在做自己其它的事情;学生视上机课为玩耍课,想去就去,不想去就不去,或者去了也在玩游戏、上网聊天。至于课外实践活动,许多高校根本就没有开展。这种不重视课内、课外实践活动的教学,不能帮助学生理解和运用理论知识,利用计算机解决实际问题的能力。
3 解决《C程序设计》课程教学环节中问题的方案
3.1 基于纲、本,但不拘泥于纲、本,合理地制定教学进度计划
只有合理地制定教学进度计划,才能备好课和授好课。《C程序设计》课程包括的章节比较多,涵盖的内容丰富。另外,《C程序设计》又是一门实践性较强的课程,这就要求在制定教学进度计划时,必须科学地组织教学内容和合理地分配理论课和实践课的时间。在教学内容的组织上,我们在坚持不脱离教学大纲要求的基础上对教材的某些章节内容进行了增减、重新调整和整合。以清华大学出版社出版的、谭浩强著的《C程序设计》(第三版)教材为例,我们在制定教学进度计划时,将“数据的机器码表示”内容增加到了第3.1节;删除了第12章和13章的部分内容;将11章的结构体与共用体的概念性等内容调整到第7章数组;将第2章和第14章整合到第4、5、6章。在理论课和实践课的时间分配上,教学大纲要求是理论课为45课时、实践课为32课时,于是许多高校的老师在制定教学进度计划时,就简单地根据“3:2”原则制定为每周理论课为3节、实践课为2节,这样会造成前半个学期学生无内容可上机,而后半个学期上机内容太多以及课程设计没时间去完成。因此,我们在遵循教学大纲(理论课与实践课的课时比为3:2)要求的基础上按如下来制定教学进度计划:前半学期理论课与实践课的课时比为4:1,后半学期理论课与实践课的课时比为2:3,这样既坚持了“3:2”原则,又消除了学生上机时闲着无事可做现象,同时更保证了学生有充分的时间来进行课程设计。
3.2 改变“视备课为走形式”观念,视备课为教学设计
备课包括备教材、备学生、备教法、备媒体等,形象地说备课就是教学设计。对教学过程
的设计既是一个复杂的物质准备,又是一个理想的心理预期。因此,我们都是按如下格式精心设计《C程序设计》课程的每一堂课。
(1)章节名称: (2)课时量: (3)编写时间: (4)实施时间: (5)教学目的和要求: (6)重点: (7)难点: (8)教学方法: (9)教具(器材):(10)教学过程:①新课导入: ②新课内容:③新课总结:(11)作业布置:(12)后记:
这样,我们在授课时,就能承前启后、主次分明、有的放矢地授好课。
3.3 采用新颖的授课方式,改变传统的授课方法
对于《C程序设计》课程的教学,应采用“将传统的教学方式与多媒体教学相结合”的授课方式。在教学过程中,我们是有选择地使用多媒体教学:对于课程中的语句、语法、语规等基础知识,运用多媒体教学,减少板书时间以增加信息量的传授;同样,对于课程中抽象性较强和难以理解的内容,如指针、函数的参数传递和程序的流程等,也使用多媒体教学并针对教学内容开发了形象生动的“C语言程序设计教学演示系统”,借助教学演示系统可以对抽象内容进行动态演示,这样既有利于学生的理解,又节省了讲授时间,起到事半功倍的作用;而对于多媒体教学不易实施的程序设计方法的讲解,则采用传统的教学方式,教会学生如何思考、推理,如何用语句实现算法,培养了学生的抽象思文、逻辑推理能力。这样,将传统的教学方式与多媒体教学相结合,大大提高了学生的综合思文能力,提高了教学质量。
对于《C程序设计》课程的教学,应采用灵活多样的授课方法,以提高教学质量。在教学过程中,我们改变了老师单向满堂灌、学生被动整堂听的传统授课方法,而主要采用以下几种授课方法:
(1) 采用启发式授课方法,以培养学生分析问题和解决问题的能力:启发式,是指教师在全面掌握讲授内容的前提下,在讲解新的讲授内容前,通过对以前学习的相关内容的复习,引出新的讲授内容。例如,在讲授“循环”一节时,首先提出一个问题:求 1!+2!+3!+…+10!。让学生思考一会,之后简要地讲授本节需掌握的理论知识—循环和循环的嵌套,并举例:求1+2+3+…+100和求1×2×3×…×10。接着,让学生根据所讲知识,完成课堂初所提问题。实践证明,这种授课方法能充分调动学生学习的积极性,培养学生分析问题和解决问题的能力。
(2) 开展讨论式授课方法,以激发学生的学习兴趣:讨论式,是指教师在课堂上要想法促进师生互动。在形式上有提问,上黑板演算,上教师机操作,讨论等,通过老师巡回指导,发现学习中普遍性问题和同学中的新思路、新方法,实时地提出问题,让学生进行正误判析,解决普遍性问题,或者请有独特思路的同学演示自己的方法或程序,对比各种方法的优缺点,鼓励大家再提出新方法。而且在课堂上,由于教师现场编程,使同学们能够参与到程序调试的过程中,跟老师共同解决问题。实践证明,这种授课方法效果显著,课堂活跃,学生的参与程度很高。在师生互动方面要注意把握好课堂秩序,使得互动有序有效进行。
(3) 采用研究式授课方法,以培养学生的创新能力:研究式,是指教师在讲授完课本内容后,针对所讲内容设置疑难问题,让学生课后成立兴趣小组,开展疑难问题的研究,下次上课时,各小组将研究结果反馈给老师,老师再在课堂上进行讲解。实践证明,这种授课方法既增强了学生的团结协作精神,又培养了学生的创新能力。
(4) 应用比喻式授课方法,以引起学生的学习兴趣:比喻式,是指教师应用形象化的比喻,将抽象复杂的问题简单化、具体化。因为学生学习语言一般都感觉比较的枯燥,都是些语法和句子,难免会感觉厌烦,所以教师要善于利用形象化的比喻,把枯燥的东西变得形象生动,这样可以引起学生的兴趣。例如,讲授二文指针的问题,关键是行和列的概念。类比如下:可以把二文数组比喻成学生的队列,用数组的行代表队列的行,列代表学生在该行的位置。这样,就可以说明行指针和列指针。行指针每次移动是一行,该行有几列就是移动几个元素的位置,也就是该行学生的总个数;列指针每次移动是一个元素的位置。
以上是我们在多年教学实践中总结出来的四种主要授课方法。其实,授课方法远不止这四种。譬如,还有条件迁移法、图表法等等。总之,教有良法,但无定法,贵在得法,教师应从实际出发,选用各种适当的方法,充分调动学生的学习积极性,让学生主动参与(实践),培养学生动手、动口、动脑的能力。
3.4 强化作业练习,认真批改作业
《C程序设计》课程的教学目的主要是培养学生程序设计的能力,学生只有通过大量的编程练习,才能真正掌握语言知识,培养程序设计的能力。我们每次课后给学生布置一些有代表性、恰当的习题,以巩固课堂上所学的内容。也通过学生所做作业的好坏来了解学生对课程内容的掌握程度以及教师的教学效果。对作业中比较普遍出现的错误,都要在下节课讲解,因为是上节课没讲清楚所致。作业中表现出与众不同的、新颖的程序设计方法和思路,也要当堂宣讲或作业批注,以鼓励这种另辟新径的有创意的学风。
3.5 重视课内上机实践,倡导课外实践活动
教学实践是检验教学效果的有力手段,因此,我们认真对待每节上机课。每次上机前,都根据教学计划,有系统地布置上机实践作业,让学生明确上机任务,编写好上机调试的程序,使学生在每次上机实践中有收获。同时还让学生按照自己的姓名、题号来编写程序文件名,调试成功后存入磁盘,课程结束后按调试完成程序的多少、优劣来评定实践成绩。在实践过程中,指导教师对一些操作难点,分组集中演示,起到事半功倍的效果。上机实践课结束前,我们坚持进行实践总结,并对实践内容再设1-2个疑难问题,提倡学生课后去思考,去实践,以促进学生的动手能力和自学能力。
4 结束语
通过对《C程序设计》课程教学环节中所存在的问题的思考和分析,针对现状,结合教学实际及自身的体会,提出一些解决问题的措施和想法,进行一些初步的探索,取得了不错的效果,对《C程序设计》课程教学有一定的指导意义。但教学质量的提高是一个长期过程,我们必须牢牢把握好教学环节中的每一个环节,并在实践中不断深入与完善,以更好的促进《C程序设计》课程教学,不断提高《C程序设计》课程的教学质量和水平。
参考文献
[1] 谭浩强. C程序设计[M](第三版). 清华大学出版社,2005
[2] 高秀娥. C语言教学方法探讨. 中国教育学杂志(高等教育版),2006
[3] 邓莉. 浅谈课堂教学环节五要素