张吴波 史旅华
[摘 要]针对C语言课程教学的特点,分析实验教学过程中出现的问题,结合学校的实际情况,提出建立开发的实验体系等措施,并将其应用在C语言的实验教学过程中,提高了C语言的教学质量。
[关键词]实验 C语言
[中图分类号] G642.0 [文献标识码] A [文章编号] 2095-3437(2014)07-0134-03
一、C语言课程的特点
C语言具有功能强大、使用灵活、可移植性好的特点,它既具有高级语言的优点,又具有低级语言的优势,因此被广泛应用于软件开发中。由于C语言的语法规则清晰,便于学生理解和掌握程序设计的基本概念,许多学校已将C语言作为学习计算机程序设计的入门语言课程。
C语言课程的教学目的是通过学习C语言的基本语法,使学生掌握数据表示、数据存储、流程控制、模块化程序设计等基本程序设计技能。C语言程序设计课程所教授的程序设计的基本技能,在后续的许多课程中都需要应用到,例如数据结构、C++、Java等。因此C语言对后续课程的学习具有重要的意义,是一门重要的专业基础课。
然而C语言中数据类型丰富,表达式书写灵活,语法结构简洁、清晰,对于同一个问题的解决,可以使用不同的方式编程实现。这使得初学者在学习C语言时反而有些不知所措,增加了学习的难度。并且,学习C语言是要运用C语言语法规则编写程序,解决实际问题的,如果学生只有语法上的记忆,而没有在理解语法的基础上进行编程练习,也很难掌握程序设计的基本思想和基本技能。因此在C语言的教学过程中,普遍反映它是一门教师难教,学生难学的课程。
二、实验教学在C语言教学中的重要性
实验教学是整个教学体系的重要组成部分,是培养学生综合应用所学的理论知识,提高分析和解决问题的能力的重要环节,是培育学生综合素质和创新能力的重要途径。C语言是一门比较抽象且实践性和应用性都很强的课程,对于C语言程序设计的教学来说,实验过程就尤其显得重要。
程序设计的过程不但需要学生能熟练地使用C语言语法进行代码的编写,同时也需要学生在编写完代码后,对程序进行调试等。这些过程都需要学生在实验室上机进行。通过上机实验,学生不仅可以验证C语言语法知识,加深对课堂教授内容的理解和掌握;也可以通过程序的运行,验证所编写的程序是否正确,通过自己分析、研究程序中出现的问题,提高分析问题和解决问题的能力。因此上机实验的重要性绝不亚于课堂听课,它是巩固和发展课堂知识的十分重要的环节,在激发、培养、提高学生能力方面能够起到举足轻重的作用,是理论教学无法替代的。
三、实验教学中存在的问题
在实际的C语言实验教学中,由于各个方面的原因,出现了各种各样的问题,归纳起来有如下几点:
1.长期以来,C语言实验教学一直以教师为主导地位,忽视了学生在实验过程中的主体地位。在实验课上经常是教师对实验目的、实验中使用的语法知识进行讲解,有时甚至还演示实验题目的源程序代码。这对提高学生的主动性,提高实验效果是非常不好的。一方面许多宝贵的时间可能都浪费在实验教师对实验内容的讲解上,实际动手练习的时间减少了。另一方面,把学生放置于一种被动的“听课”状态,学生只是需要根据教师的讲解进行简单的模仿或者“操袭”实验教师提供的实验内容。学生在实验过程中的主体地位无法得到体现,因而主动参与实验的热情不高,也不会主动地去思考实践实验内容,使实验应有的作用得不到发挥。
2.实验内容多为验证性实验,内容陈旧,没有体现实验的多层次性。很多实验内容都与理论教学脱钩,很多需要必须在实验中加强练习、巩固的内容没有加强;需要学生主动进行思考、探索创新的过程没能在实验过程中体现出来。
3.实验过程管理比较混乱,实验信息不能及时得到反馈。很多时候,实验老师都需要学生提交实验报告,并以此来检验学生的实验效果。但是实验教师为了能“及时”地将学生的实验报告收上来,经常是在课堂上收取学生的报告。这样,一方面使得实验课堂的局面比较混乱,另一方面也浪费实验教师辅导学生实验的时间,降低了实验效率。更何况,由于各种原因,在实验教师评阅完学生提交的实验报告后,经常是将其束之高阁,以至于学生编写代码是否正确,哪些地方做得不好,哪些地方做得好等的信息不能反馈给学生,学生不能从实验中及时进行总结。因此,也给学生造成了这样的一种心态:实验就是为了完成老师布置的任务,只要交了报告即可。这使得学生实验过程中实验不认真,抄袭别人程序等现象非常严重。
4.实验教师和理论教师交流不够,没有把学生的实验效果及时反馈给理论教师。因此理论教师也无法根据学生的实验情况,找出学生存在的问题。
5.实验场地不够,学生课余时间上机时间不多。很多学校由于安全问题,都只有在上班时间才开放,因此限制了学生使用机房的时间。有时即使将实验室开放给学生上机练习,但是由于缺乏有效的管理和引导,效果也不太好。
四、开放实验体系的建立
基于实验过程中出现的上述问题,我校C语言课程组对实验教学进行了一系列的改革,提出了建立“开放实验体系”的方案,以此来加强实验教学的效果,提高C语言课程的教学质量。
1.开放的实验内容
针对实验教学和理论教学相互脱钩的现象,由课程组教师统一对实验内容进行设计,提出了“四个层次”的实验内容。
基本练习题:该部分内容是紧密结合实验目的、理论教学内容设计的,主要体现了必须要掌握的、经常要使用的C语言核心语法知识。这部分内容是必须要求学生在实验课内完成的,要少而精,既不能给学生在实验课程中施加太大的压力,又要能达到锻炼学生的目的,使学生该部分内容的实践练习能达到巩固知识、锻炼能力的目的。
扩展练习题:这部分内容是针对学生在有能力完成基本练习题的内容后,需要进一步练习,扩展知识面而设计的。主要体现在对一些课堂上没有进行深入讲解,学生可能会一知半解的内容,进行内容扩充性的练习等。这部分内容需要涉及的知识面广,能满足学生课余练习、学习的要求。
综合练习题:该部分内容是针对学生在基本掌握了C语言的语法知识,具有基本的程序设计能力后,需要综合应用课程内容才能解决的,需要体现内容的综合应用性。
创新应用题:该部分内容采取案例的形式,给出应用场景,需要学生独立设计方案,独立编写代码,独立调试程序。内容要能紧密结合实际,引导学生独立思考。
对于以上四个层次的内容,基本练习题需要在实验课中集中练习完成。扩展练习题由学生在课余时间,根据自己的能力选择完成;对于一些需要进行扩展性的内容,提供相应的教学资源供学生参考,自主学习;综合练习题是在一个知识单元的学习完成后,增加较综合的编程题,引导学生完成;创新应用题,通过以课程实训的形式,建立项目小组,以团队协作的方式完成。
2.开放实验室
实验室是学生完成实验教学的基本场所,要培养学生编程能力,就必须让那些愿意学习的学生有机会进入实验室进行编程练习。
在课程组的组织下,将学校计算机专业实验室在课余时间对学生开放,引导学生在课余时间多到实验室进行编程练习。为了解决学生在上机时的无组织的状态,在全校范围内,利用学生会组织,专门对学生的上机进行管理。同时,利用“扩展练习题”内容供同学练习使用,引导学生有序地练习,解决了学生在上机时“不知干什么”的问题。
3.开放实验流程
以往实验时,都是实验老师收取纸质的实验报告,实验报告的评阅结果对学生、理论教师都没有进行反馈。为此课程组为C语言实验教学设计开发了“C语言网络实验平台”。该网络实验平台主要功能包括:展示实验内容辅导资料供学生下载、实验教师上机时间、学生提交实验内容、实验教师批阅实验报告、理论教师点评实验、评定学生成绩实验、实验内容查重、在线网络答疑等。通过该平台,学生可以及时查阅每次上机的时间和实验内容,可以使用平台提供的教学资源,提前对实验内容预习,了解实验时需要使用的编程方法等。
学生完成实验后,以Web的方式,将编写的程序代码上传服务器,实验教师可以在线批阅学生提交的程序,避免在实验过程中教师和学生来来回回地收取实验报告,并且实验教师批阅实验时可以在学生提交的程序上“书写评语”,指出学生在实验中存在的不足和值得肯定的地方。实验教师的评阅结果,学生可以在线浏览到。理论教师也可以查看学生提交的程序和教师批阅的情况,使理论教师可以及时地了解学生的学习状况。
基于网络实验平台的实验教学,一方面可以使学生自主学习成为可能,提高了实验室的开放程度;也使得实验教学过程成为一个以学生实验内容为纽带,将学生、实验教师、理论教师拧为一个整体的“闭环”过程,最大限度地发挥教师的主导作用。更为重要的是网络实验平台提供了实验内容查重功能,给学生起到了“警示”的作用,可以有效降低学生抄袭的现象。
(四)开放实验辅导机制
在学生实验过程中都是会碰到问题的,有些同学在实验过程遇到问题后如果得不到及时解决,会伤害到他们学习的兴趣。因此必须加强对学生实验的辅导。
1.强调实验之前的预习,学生在进入实验室之前,要求学生必须预习本次实验的内容;并建立教师的答疑制度,组织教师每天在C语言网络实验平台中负责给学生进行网络答疑;同时每周还组织教师在教研室对学生进行公开答疑,给同学们进行答疑解惑。
2.建立实验助手制度。选拔一些学习优秀的高年级学生作为教师的实验助手,辅导学生实验。尤其是在实验室的课余开放时间,由这些实验助手,对上机的同学统一管理,引导同学进一步地练习。
3.建立教师“助教”制度,由课程组教师相互之间进行“助课”。一方面教师之间可以取长补短,改进相互的教学方法;另一方面“助教”教师要参与学生的实验辅导,进一步增强实验的辅导力量。
五、结束语
我校C语言课程组,结合C语言教学的实际情况,对实验过程进行了改革,建立了一套开放的实验体系,改善了实验过程,提高了C语言课程的教学效果:学生在上机实验时打游戏、上网的少了,认真编写程序的同学多了;抄袭别人程序代码的同学少了,爱思考、主动学习的同学多了,实验效果得到了显著的提高。
经过C语言课程的学习,同学们的动手能力得到了提高,许多同学能使用C语言独立开发较综合型的程序;在学校内也涌现了一批优秀的学生,他们在省内外的各种竞赛中取得了良好的成绩。
实验教学过程对C语言教学影响非常大,在教学过程中需要不断地发现问题,分析问题,从学生的角度去解决问题,只有这样才能提高教学质量,为社会输送高素质的优秀人才。
[ 参 考 文 献 ]
[1] 王晓娜.提高学习能力为导向的开放式实验教学[J].实验室研究与探索,2010(7).
[2] 白云.强开放式实验教学培养学生的创新能力[J].实验室研究与探索,2010(8).
[3] 梁桂英.放式实验教学改革的实践与研究[J].实验科学与技术,2012(6).
[4] 卢艳军.开放式实验教学模式的探讨[J].实验室科学,2009(6).
[5] 王金发.放式实验教学的创新性及实践效果[J].高等理科教育,2003(6).
[责任编辑:钟 岚]