摘要:针对教师与学生普遍认为C语言难教、难学的现状,文章在分析C语言程序设计课程特点的基础上,从教学内容、教学手段、教学方法三个方面介绍西安工业大学C语言程序设计课程改革。实践证明,这些教学改革效果良好,不仅有利于培养学生的学习兴趣,提高他们分析问题与解决问题的能力,也有利于提高学生计算机等级考试的过关率。
关键词:C语言程序设计;独立学院;教学内容;教学手段;教学方法;教学改革
学习计算机程序设计语言是提高人们计算机知识水平的重要步骤。C语言作为当今最为流行的程序设计语言之一,不但是计算机专业的必修课,也是很多非计算机专业的学习课程[1]。但在C语言程序设计课程教学中,许多教师和学生都认为C语言涉及的概念比较复杂,规则繁多,使用灵活,容易出错,教师教学和学生学习都感到困难,并不同程度产生畏难心理[2]。C语言的教学长期以来过于注重语句、语法和程序设计技巧的讲授,对如何分析和解决问题讲得不够。教师没有把编程解题思路放在主体地位上,过于注重课堂讲授,对学生编程能力和调试程序能力训练不够,忽视了学生实际动手能力的培养。许多学生在学完后遇到实际问题还是无从下手,C语言程序设计课程的改革已经迫在眉睫。笔者根据多年程序设计课程的教学实践,试从教学内容、教学手段、教学方法等方面对C语言程序设计课程教学改革进行阐述。
1教学内容的改革
1.1课堂教学内容的改革
我院属于独立学院,学生整体水平较低,基础比较差,而程序设计课程逻辑性又很强,有不少学生不能很好地理解算法,编写程序也很困难,C语言基础打不牢还直接影响了后续专业课程的学习。如何改革C语言课程,进一步提高教学效果,成为专业课程建设中的一个紧迫任务。
C语言程序设计课程教学内容主要包括C语言语法基础、程序控制结构、数据类型、指针、函数、文件以及应用等。从2008级开始,我校针对目前独立院校的就业情况,大力提倡学生多拿证书、多实践,力求以实际应用能力去比拼二本、一本院校。依据这种思想,我院对这门课的教学内容作出了相应的调整,对于计算机专业,课时由原来的64学时(理论40学时,实验24学时)变成80学时,其中理论为56学时,实验24学时,其他专业暂不改变。课程内容增加了等级考试中的数据库以及数据结构与算法、软件工程等内容,力求学生通过本课程的学习后无需再报培训班就能顺利获取计算机等级考试证书。实践表明,这样的内容及课时的改革,对提高二级过关率有很大的帮助。从2009级开始,我们学院又进行了全面的改革,全院工科专业(除计算机专业)的C语言程序设计课程由原来的64学时变为88学时,其中理论64学时,实验24学时,同时计算机专业增加一周的课程设计,要求学生综合运用所学的C语言知识开发完成一个小项目。教师在课堂上介绍初步的软件工程思想,让学生了解软件开发的各个阶段及所要完成的工作,然后引导学生按照软件工程的思想,对给定的课程设计项目进行需求分析、系统设计编码实现直至测试。学生完成全部工作后,要撰写课程设计报告,并进行答辩。
本课程所选用的教材在内容组织上,虽然依逻辑思维方式进行了归类,但难点还是较为集中,跨度大;概念讲得多,分析少;语言深硬,不够形象,较难理解。虽然教材在各章节也举了一些编程例子,但多数难度较大,适用性不强。本着“深入浅出,突出实用”的指导思想,在课堂教学过程中,我们对教学内容重新进行了归纳,将难点再次分散以缩小台阶,达到循序渐进。例如,C语言数据类型、运算符、表达式种类繁多,放在一块讲授,学生学习起来难度较大,于是笔者就刻意将算术型的数据类型、运算符以及相关的表达式先介绍,使学生学习起来感觉没有想象中的那么难;紧接着又教学生编写简单的、实用的C程序设计,然后引入基本输入、输出函数就顺理成章了[3]。这样一来台阶小了,学生的信心也增加许多,学习积极性很快就得到提高。对于深硬的语言叙述,则改用生动的比喻,进行详尽引导。
1.2实验教学内容的改革
C语言是一门实践性很强的课程,我们针对该课程的工程性和应用性,精心设计实践教学环节,注重实验、实训、课程设计的完整性、实践性,在内容的设计上突出可操作性、技能性和探索性,使实践教学环节内容与理论课程内容能够有机结合。C语言实践教学环节包括随堂实训/实验和课程设计两个部分。
为了突出实践教学,培养学生的知识应用能力,我们对实验内容进行了较大的改革,一方面保留基础性实验,例如:三角形面积计算、求一元二次方程的根、各类三角图形的绘制、简单的排序算法等基础编程实验,使学生能够较顺利地通过实验,并及时理解和消化课堂教学内容,获得一定的成就感。另一方面,增加一些实用性强、难度略大的实验,并组织学生讨论,通过讨论得出算法流程,然后上机编程调试。例如:要求分别用数组与指针,将一个字符串中的所有英文字母取出,并转为大写,然后再将它们倒序存放。做这个实验之前,学生先通过讨论,分别得出使用数组与指针进行读取英文字母及倒序存放的算法流程图,然后上机实验。这样一来,一方面有利于培养学生对知识的应用能力与问题的分析能力,更主要的是培养了他们的协作能力。另一方面用数组与指针不同的解题方法,有利于学生加深对所学知识的理解,让学生真正体会到C语言的灵活性,激发学生的求知欲。
另外,我们还对2009级计算机专业的学生设置了该课程的课程设计,要求学生综合运用所学的C语言知识开发完成一个小项目。教师在课堂上介绍初步的软件工程思想,让学生了解软件开发的各个阶段及所要完成的工作,然后引导学生按照软件工程的思想,对给定的课程设计项目进行需求分析、系统设计编码实现直至测试。学生完成全部工作后,要撰写课程设计报告,并进行答辩。实践表明,多种不同形式的实践教学,激发了学生学习的兴趣,发挥了他们的主动性和创造性。通过实践教学,促使学生将所学的C语言理论知识转化为软件开发所必需的职业技能,实现了学以致用的目的。
2教学手段的改革
在教学过程中,运用多媒体技术辅助教学,有利于激发学生的学习兴趣,发展学生的主体能力;同时由于多媒体信息量大,也能够优化教学过程[4]。目前,教学的主要手段是利用多媒体计算机、投影仪以及教师制作的PowerPoint演示文稿,完成课堂教学任务。
首先,学院(系部)可以集中教师的特长,制作一个优秀的教学课件,它既能体现新的教学方法,又能显示教学内容的轻重层次;既能供教师讲课时使用,又能供学生课余学习。
其次,要充分利用多媒体计算机和投影仪,在课堂现场进行程序的调试和运行,并分析运行结构,帮助学生更好地掌握课程知识。
最后,充分利用网络资源,将电子教案、大纲、课件、习题等放在网上,供学生自行调用,同时通过E-mail、QQ对学生的提问进行答疑、讨论,以弥补课堂教学的不足。
多媒体辅助教学也有不利之处,主要体现在不恰当的使用会分散学生注意力,影响主要问题的理解,也不利于发挥学生的想象力,影响师生之间的情感交流。在C语言程序设计课程教学过程中,笔者考虑到课程的特点,扬长避短,将传统教学与多媒体教学进行了有机的结合。例如:C语言的数据类型、变量类型、运算符、程序结构等,它们的定义、概念较多,又没有深奥的理论,也没有多少逻辑推理,因此笔者就采用多媒体教学。在教学过程中,事先将概念、大信息量的案例代码制作成课件在课堂展示,供学生增加信息量,也弥补了传统教学无法板书的缺点,课堂教学不再显得枯燥无味。但对于案例分析或程序的编写过程,笔者就发挥传统教学的优势,进行课堂讨论、板书讲解,结合提问将问题层层剖析、层层深入,达到师生互动的效果,学生的想象力得到充分的发挥,对问题的理解也变得更容易。
3教学方法的改革
由于C语言程序设计是学生接触到的第一门程序设计类课程,难度大、学生不易接受,为此我们组织教师进行集体备课,探讨教学方法和教学手段,与学生沟通,随时根据学生实际学习情况适当调整教学计划,并针对独立学院学生的特点,在教学中加大了习题课的比重和答疑时间,实行单元式教学,形成分阶段、多重复、多检查的教学模式。
在宏观课程上,我们通过逐步拓展的实训项目和设计,将每一阶段的学习进行小结性的贯穿与能力提高,将C语言的知识点都溶化到一个程序编写中。在课程初期,主要是进行单项的编程练习,重在掌握C语言的基本语句、数据类型与程序结构等。在进入数组、函数、结构、指针和文件内容教学时,开始实训项目编程实践,逐步组建内在关联并一步步拓展。每一个实训项目都可用前一个实训项目为基础,而在每一个实训项目中,各个步骤也是内在关联逐步拓展而成,这样的实践教学内容与方法设计给项目拓展教学法以实际落脚点,符合认知与学习规律,深受学生好评。
在实际课堂上,我们采用项目递进驱动教学法[5],改变满堂灌的做法,将学生的眼手脑全部调动起来。精心设计实例,给学生一个比较实际的切入点,通过老师的演示使学生感觉能够入手,然后再将此实例不断修改、扩充,引导学生参与到程序编程中。在这个过程中,将学生的程序展示出来,让学生评判优劣、吸收优点、修改错误,引导学生进行优化。这样的实例教学,因为有提出问题、解决问题、扩展问题、再解决问题、评价方法、优化设计等几个环节,实际上是一个螺旋式滚动向前的过程,能够非常自然地调动学生的参与,且问题不断扩展,一个问题甚至可以用多种方法解决,有效地开阔了学生的思维,使得学生在课堂上真正成为“主体”,教师扮演了“主导”角色。
教师巡回指导,可以发现学生学习过程中的普遍性问题和同学们的新思路、新方法。教师在课堂上实时地提出问题,学生可以进行正误判析,解决普遍性问题,或者请有独特思路的同学演示自己的方法或程序,对比各种方法的优缺点,鼓励大家再提出新方法。在课堂上,教师现场编程,可以使同学们能够参与到程序调试的过程中,跟老师共同解决问题。
4结语
以上的教学内容、教学手段与教学方法的改革,是根据实际教学过程中学生存在的问题以及独立学院的特殊性提出的,在我院计算机类专业的课程教学运用实践中取得了良好的教学效果。当然,同样的教学内容面对不同的学生,在使用与设计某种教学方法时,还要求学生的配合才行,即说教的方法与学的方法要有机统一。我系将进一步研究C语言程序设计的教学手段与教学方法,希望能够在全校所有专业实行改革,以推动我校课程改革的不断发展。
参考文献:
[1] 严桂兰. C语言程序设计与应用教程[M]. 福建:厦门大学出版社,2001:10.
[2] 谭浩强. C语言程序设计[M]. 3版. 北京:清华大学出版社,2005:16.
[3] 林昌意. C语言程序设计课程的教学改革与实践[J]. 中国电力教育,2006,21(6):36-38.
[4] 陈东. 计算机多媒体教学改革的一些尝试[J]. 福建师范大学学报:自然版,2004,20(3):98.
[5] 邱力. C语言程序设计案例教学探讨[J]. 江西教育学院学报,2006,27(6):50-52.
Practice of C Programming Language Teaching Reform in Independent College
ZHANG Su-qin1,WU Lian-sheng2
(1. Department of Computer, Xi"an Technological University North Institute of Information Engineering, Xi’an 710025, China;
2. School of Computer Science and Engineering, Xi’an Technological University, Xi’an 710032, China)
Abstract: For the status of teachers and students were generally considered difficult to teach C language is also difficult to learn, after analyzing the C Programming Language Design based on the characteristics of the course,this paper describes the C Programming Language course’s reform form the aspects of Teaching content, teaching methods, practice has proved that these teaching reform results good effects, will not only help to develop students interest in learning, analyzing problems and problem-solving abilities, but also for Computer Rank Examination of the clearance rate also greatly beneficial.
Key words: C Programming Language; Independent College; teaching content; teaching measure; instructional methods; teaching reform
(编辑:姚彦如)
相关热词搜索: 教学改革 独立学院 实践 语言程序设计