谭生龙
(湖北经济学院 信息管理学院,湖北 武汉 430205)
程序设计类课程的实验教学方法探讨
谭生龙
(湖北经济学院 信息管理学院,湖北 武汉 430205)
实验教学是程序设计类课程的重要组成部分,本文详细分析了程序设计类课程中实验教学所面临的突出问题,结合作者多年的教学经验,提出了一些有效的实验教学方法;这些方法能较好的提高实验教学质量,培养学生的程序设计和创新能力。
实验教学;程序设计;教学方法;实验组织
高等学校里的程序设计类课程是一类培养学生程序设计能力和创新素质的实践性课程。这类课程既要注重理论教学又要求培养学生实践创新能力,但该类课程的教学质量却依赖于确实可行的教学方法。高效的实验教学方法能显著的提高程序设计类课程的理论教学效果,培养学生解决实际问题的能力,使理论教学所学的知识得到实际的训练和应用。合理设计实验教学过程能衔接各个知识点,培养学生解决复杂程序设计问题的能力。好的实验教学方法能加深学生对程序设计理念和知识点的理解,激发学生学习程序设计的兴趣,提高学生的编程能力,提高学生的专业素质,也是培养创新性人才的有效手段。
但是,随着高等教育的改革和选修课的教学课时的减少,程序设计类课程的实验教学易被忽视,从而使实验教学不能很好地支撑程序设计类课程的理论教学,这样引起的一个普遍现象是很多学生学了多门程序设计课程,却没有一门课程能学精学深,对于一些简单的编程问题他们却不能任选一门编程语言去实现。由此,作者结合多年的教学经验来探讨实验教学中存在的问题及有效的解决办法。
2.1 很多课程的实验教学没有配有配套的实验教材
实验教学应该征订与理论教学相匹配的实验教材,但很多教师仅仔细挑选程序设计类课程的教材却易忽视实验教材,没有合适的实验教材就不能安排与理论教学紧密配合的实验任务,实验教学质量也得不到保证。教师应该根据学生的层次和实验教学课时,仔细挑选实验教材,其中国家和省级级精品课程所采用的推荐教材是首选。
2.2 实验教学的教学模式较陈旧,实验教学体系较落后
在程序设计类课程的教学过程中,实验教学的教学模式一般都比较陈旧,一般是教师布置实验作业,学生提交实验程序的老模式;实验教学的开设一般按照实验大纲中的实验课时、实验项目、实验步骤来进行,教师们很少根据学生情况和具体的实验教材来调节,这样易造成学生完成实验效果不好、实验项目零散、实验内容空洞、实验缺乏综合性和实用性。
2.3 实验教学的教学方法需要改进
实验教学的内容安排一般按照实验大纲来进行,很少提及完成这些实验教学目标的具体实验步骤和实验方法,任课教师也较少探讨一些有效提高学生编程能力的教学方法;其实,在实验教学过程中,教师采用一些辅助软件来改进教学方法,便能极大的提高教师实验辅导的效率,很好地提高教学质量。
2.4 缺乏激励机制和适当的监管机制
在实验课上,学生们很少有正规课堂的紧张氛围和应有的纪律约束,实验环节变成了学生们的“网上灌水”和QQ聊天的消遣时光,很少有教师采用有效的约束机制来限制与教学无关的活动,以保证实验课堂确实用来编程和程序调试。如果教师能给出严格的课堂约束和激励机制,并以课时为单位来提交实验作业和评定成绩,学生实验课的“低效率”现象一定会显著减少。
2.5 缺乏有效的实验评价体系和惩罚措施
程序设计类课程的实验课一般要求学生完成编程任务,有些学生会选择拷贝他人程序来交差,因此实验作业雷同现象较普遍。老师们也很少逐个检查学生的程序正确性,这样,学生们往往敷衍实验任务,也有些教师没有把实验成绩计入期末成绩评定范围,这样易导致实验教学效果较差,因此教师应该采用恰当的实验评价体系和惩罚措施防止该类现象的发生。
3.1 精选程序设计类课程的实验教材
实验教材的选择是上好程序设计类课程的第一关。对于教材的选择应该选择著名出版社近三年出版的国家级规划教材。例如,就程序设计类教材而言,比较优秀的出版社有清华大学出版社、高等教育出版社、电子工业出版社和人民邮电出版社等;他们出版的计算机类图书一般质量比较高,特别是那些出版过好几版的教材。另外,一些国家级或者省级的精品课程所选用的教材也很有参考性,一门精品课程一般有一群出众的教师,经他们选用的教材可信度高,还可以从他们的网站上获得一些配套教学资源。
3.2 转变实验教学观念,把实验教学摆在程序设计类课程的突出位置
实验教学虽然在程序设计类课程中所占的课时比例在1/3到1/2左右,但是实验教学的作用却非常重要,教师应该把实验教学看作程序设计类课程重要的教学活动,应规范实验课的纪律,重视实验课的作业质量并保证学生能按时按量按要求完成作业(程序),并把各次实验成绩计入最终成绩评定中去,且占有较大权值。
3.3 实验作业的整体设计
对实验课的各次作业应该整体规划,对实验教学的内容体系进行详细设计,按层次合理安排不同难度的实验内容,把基础必做实验,提高型实验,综合性实验,应用设计及创新型实验进行合理分配。在单次实验作业中分多个部分,分别包括参考例程示范,基础编程练习,中等难度实验题,挑战型实验题及精简的实际项目题;根据学生的编程能力安排必做题和选做题相搭配、不同难度的实验方案;对挑战较难实验题的学生给予实验成绩额外加分。在实验的设计过程中,应注重基础知识点,同时强调不同知识点间的综合应用,实验应该从简单基础题逐渐过渡到应用设计性项目开发题。
3.4 积极实用IT资源提高学生的自学和编程能力
在实验课的教学过程中,教师应该采用一些有效的辅助教学方法和工具软件来帮助学生提高编程能力,具体来说:
(1)充分利用来自网络的辅助教学资料
利用网络上的编程资源来帮助学生提高编程能力,例如:程 序 员 社 区 有:http://community.csdn.net/,http://www. programfan.com/,http://www.programbbs.com/bbs;教育类视频分享网站包括 http://www.verycd.com/,http://www.youku.com/,http://open.163.com/等,这些网站上有众多程序设计类课程的视频教程,对学生自学非常有益。
(2)多参考来自网络的例程
学生在实验过程中一定会遇到困难,教师指导学生带着问题用搜索工具查找答案,对网络上众多参考例程进行辨别参考,综合分析同一问题的不同解决方案,排错择优,由此可快速提高编程能力;特别在项目开发过程中,对于按功能从网络搜索来的程序段进行分析、理解、修改后加入到自己的程序中,便可快速提高编码效率。
(3)利用QQ群邮件共享编程思想
关于实验作业提交,任课老师可以通过使用QQ群邮件来布置实验作业,学生通过回复群邮件并添加附件来提交作业,通过该方式,学生都可以在一封群邮件中看全班的作业提交顺序及作业内容;由此,学生们可以相互借鉴编程方法,参考其他同学对同一个实验题目不同的设计思想,达到相互借鉴和激励学习的目的。
(4)利用NETMEETING提高实验课的教学辅导效果
在程序设计类课程的实验教学过程中,建议教师使用Netmeeting组织网络会议来辅助在机房上课的实验教学。在实验课授课过程中,教师需演示例程并分步讲解实验思路,学生也要求自主编程并会遇到各种程序错误,通过网络会议模式,学生可以共享教师的屏幕,教师和学生可以共同调试学生端机器上程序,相互聊天和传送文件,轻松实现教师一对多的程序辅导和程序调试;教师的辅导和学生的实践相互独立,互不影响,学生一边听课一边实践,遇到困难时可通过网络会议请求教师单独辅导,这种教学模式能很好的提高实验教学效果。
(5)利用实验项目锻炼学生的程序开发能力
根据课程大纲恰当安排课程内实验项目,要求学生用软件工程的思想来分析和设计项目,强化软件项目的过程化开发和工程化管理,由此来提高学生对实际项目的实战经验。
3.5 灵活的实验教学考核制度
对于实验成绩的评定必须从实验的各个环节加以控制,包括实验准备环节的成绩,实验项目检查记载的成绩,实验报告评分成绩,实验调试过程中的评定成绩,实验演示及陈述获得的成绩等。对实验课的各次成绩依照加权计入期末的综合考评。
在实验作业提交的过程中,学生常有迟交和不交的情况发生,教师可以用带有截止日期及迟交惩罚的规定来约束,对晚交和不交实验作业的学生给予相应的扣分和拒收的惩罚措施,确实把各次实验成绩作为学生期末成绩的重要评价依据。
严格控制实验教学的考核过程,能有效提高学生完成实验任务的积极性和主动性,变被动完成实验为主动设计实验,同时也能帮助教师改变教学方法和完善教学内容。
本文结合作者多年的实验教学经验,对程序设计类课程的实验教学方法进行了探讨。作者分别从实验教学的课程体系建设,实验教学观念的转变,学生实验作业的设计,综合实验项目的设计,实验教学中的IT辅助方法以及实验考核制度等方面进行了讨论,并提出了一些高效的教学方法,对提高实验教学质量具有显著的效果。
[1]朱金秀.电气信息类人才实践创新能力培养体系[J].实验室研究与探索,2011.
[2]张云秋.计算机程序设计实验教学的探讨与实践 [J].科技信息,2011.
[3]于力.基于趣味案例驱动的C语言实验教学设计[J].教育教学论坛,2011.
[4]刘红保.计算机多媒体辅助实验教学改革的研究[J].科学大众(科学教育),2011.
[5]姜爱民.实验教学管理体系几个重要环节的改革与实践[J].实验室科学,2011.
[6]艾鸿.Visual Basic程序设计语言实验教学方法[J].计算机教育,2011.