高校非计算机专业C语言实验教学探讨

2014-04-14 03:54关婷婷
中国信息技术教育 2014年6期
关键词:C语言程序设计实验教学

关婷婷

摘 要:《C语言程序设计》是一门实践操作性极强的课程。要想学好C语言,不仅需要掌握良好的理论知识,实验环节更能检验学生的掌握程度及逻辑思维能力。笔者结合自己几年来的教学经验,针对非计算机专业学生在学习C语言实验过程中遇到的诸多问题,初步探讨了关于C语言实验的教学方法。

关键词:C语言 实验教学 程序设计

中图分类号:G642 文献标识码:A 文章编号:1674-2117(2014)06-0017-02

1 引言

C语言是一种功能强大、编程灵活的计算机语言。全国计算机等级考试、全国计算机应用技术证书考试、全国计算机软件专业技术资格及水平考试等都将C语言纳入了考试范围。所以,很多高校不仅为计算机专业的学生,而且为相关非计算机专业的学生也开设了《C语言程序设计》课程。要想很好地学习运用C语言,不仅需要掌握坚实的理论基础,实验操作更是必不可少的。因为实验操作不仅仅是为了验证理论知识的正确与否,更重要的是培养学生分析问题、解决问题的能力。针对当前三本院校非计算机专业《C语言程序设计》在实验教学过程中遇到的诸多问题,笔者根据自己多年来的教学经验,初步探讨了关于《C语言程序设计》实验教学的一些行之有效的教学改革方案。

2 学生在实验操作过程中存在的问题

目前,在非计算机专业的C语言实验教学过程中,一般存在以下问题:

第一,C语言的编译系统VC++环境,在程序输入及调试过程中,基本都是英文状态。而三本院校的学生英语能力略差,学生往往在调试程序的过程中,不能准确了解程序错误,导致不能及时查找错误,易丧失信心。

第二,对于非计算机专业的学生而言,《C语言程序设计》属于一门计算机公共课。有些学生没有充分认识该课程的重要性,认为C语言编程已经不再具有实用性,不值得花费时间和精力去学习,因此会产生惰性或带有抵触情绪。并且,C语言理论知识比较枯燥,内容点比较多,不容易掌握,所以部分学生失去了学习的兴趣。在实验环节,不愿意去学习、动手编写一个自己的程序。因此作业上就存在抄袭现象,甚至有些程序根本就没上机调试,交作业只是为了应付检查。

第三,由于本校非计算机专业C语言课时的限制,实验课中不宜设置大型综合实验。所以学生在学习的过程中,实验只是验证性的、机械的,没有很好的和理论、知识点结合起来,效果不明显。学生在实验过程中,只是简单模仿书本中的案例,“知其然而不知其所以然”。似懂非懂的状况并不能很好地学习《C语言程序设计》。

3实验教学改进方案

基于学生在实验过程中所反映出来的以上问题,现提出以下几种改进方案:

3.1 培养学生第一堂课的兴趣

爱因斯坦曾经说过:“兴趣是最好的老师”。作为一名教师,不能对学生进行“填鸭式”的传统教学方法,而应首先培养学生学习C语言的兴趣与热情。例如,在第一堂课的教学过程中,首先应让学生知道C语言的强大功能,可向学生展示各种C语言编写的游戏画面,从而激发学生学习C语言的兴趣。另外,也可向学生讲授现阶段社会中计算机程序编程人员的重要性及薪资待遇,让有意从事编程工作的学生更加坚定自己的目标。而在第一次实验课中,通过理论知识的学习,要求学生独立完成自己的第一个实验。该实验要求设置简单,如printf(“Hello world”);学生在第一次上机时就能独立完成实验,会很有成就感,从而激发了学生进一步探索C语言的兴趣。

3.2 培养学生自己调试程序的能力

学生在刚开始接触并编写程序时,肯定会遇到很多的错误。这时就需要教师耐心并细心地加以指导。但“授人以鱼,不如授人以渔”,一定要让学生自己掌握调试程序的能力,不能一味地依赖教师。

针对学生在实验过程中遇到的常见错误,如,学生不熟悉或不认识英文单词,教师则进行集中讲解,认真、耐心地分析英文错误提示,要求学生理解并记录该错误。鼓励学生多多尝试,不要被简单的英文单词给震慑。像“missing、before等”这些简单的英文单词其实学生都懂,只不过没有和程序改错有效地结合起来。一段时间后,学生就能认识到一些常见错误,并且能有效地去改正它。很多学生甚至在积累一定的调试经验之后,不仅能够快速、有效地解决自己的实验问题,还能主动帮助其他同学调试程序,极大地提高了自身调试程序的能力。

3.3 加强教学管理,杜绝抄袭

在每一节实验课之前,给学生一个具体的实验内容量化指标。在实验过程中,采取“课后检查+随机抽查”的方式检查学生的作业情况。实验内容的布置与检查可充分利用本校计算机基础课程网络教学平台。利用该平台,教师可以及时掌握学生的作业情况,在下一次上课之前将自己的解题思路传达给学生,作为参考依据。若作业检查中出现抄袭情况,则本堂课程没有平时成绩。在抽查的过程中,随机提问。通过这种方式,学生无论是理论课还是实验课,都会用心学习、作业,不然就可能无法完成实验课的内容。

3.4 提升学生的综合实践能力

每次实验课若只是单纯地验证理论课的知识点,很容易马上遗忘,不能形成良好的记忆。所以还是应该在适当地时候通过综合性作业来提高学生的逻辑思维能力。当C语言三大基本结构讲解完后,可适当布置一个综合型案例。例如,ATM取款实例,模拟实际生活中的ATM取款实验。学生在编程过程中,也表现出了浓厚的兴趣。课后很多学生积极思考,展开讨论,在规定时间内顺利地完成了任务。甚至有很多学生深入分析,提出了更多行之有效的建议。通过这种方式,不仅可以提升学生的综合实践能力,而且还让学生感觉能用所学知识解决实际问题,从而调动了学生学习的主动性。

3.5 鼓励学生开阔思维

编写程序不仅仅是为了检验最终的答案,更重要的是培养学生分析问题、解决问题的能力。因此,要多鼓励学生开阔思维。在课程讲解过程中,要求学生能够举一反三,学会用同一原理去解决各种类似的问题。而针对同一个问题,也要学会从不同的角度去思考,发散思维,用不同的方法去求解。例如,求某个数m是否为素数。通过展开讨论的方式,学生至少提出了3种不同的解决方案,最终尝试用不同的循环语句while、do-while、for解决。当学习了函数之后,还可以编写一个函数来实现。对于实验课中的内容,教师会在下次上课之前选择一些优秀的学生作业进行展示,并讨论其思路、答案,供其他学生参考。

3.6 利用网络平台及时交流

课堂上的时间毕竟是有限的。为了及时、有效的解决学生在课后遇到的各种问题,可借助网络平台实现“课堂外的课堂”,即通过建立网络QQ群,将所有爱好编程的学生聚集在一起,可随时讨论解决棘手问题。也可建立一个专用学习的电子邮箱,可通过网络邮件解决学生的问题。那么,C语言的编程学习就不会局限在实验课堂上了。

4 总结

利用以上教学方案,在具体的实验教学环节中,学生不仅能够自己编写并调试程序,部分学生还能主动帮其他同学调试程序,形成了互帮互助的良好学习氛围。这样不仅极大地树立了学生的自信心,更提高了实验的教学效率。另外,笔者以往所任教的班级中在全国计算机二级等级考试(C语言)都取得了较好的成绩。实践证明,本文所提到的几种实验教学改进方案能有助于改善学生积极性不高、教学效果差等不足,有利于培养学生分析问题、解决问题的能力,进而提高学生学习的主动性和积极性。

虽然我们在该课程的教学改革中取得了一定的成绩,但是如何更好地组织并教学好这门课程,还有很多方面需要我们去努力探索。只有不断地努力,认真地组织教学,才能不断地进步,从而使得这门课程的教学工作取得更长远的发展。

(武汉大学珞珈学院,湖北 武汉 430064)

参考文献:

[1]陈国英.提高计算机语言课上机实践教学的改革与实践[J].洛阳农业高等专科学校学报,2002.

[2]房媛,赵秀岩.高校非计算机专业C语言课程教学方法的研究[J].计算机教育,2011.

[3]伊华伟.高校非计算机专业C语言程序设计教学的探讨与实践[J].辽宁工业大学学报,2010.endprint

猜你喜欢
C语言程序设计实验教学
基于OBE的Java程序设计个性化教学研究
基于科学探究的高中生物实验教学探索
项目化教学在Python程序设计课程中的应用
C++程序设计课程教学改革研究
网络与云技术在实验教学中的应用
医学专业“Python程序设计”课程教学改革总结与思考
“C语言程序设计”课程混合教学探索
基于C语言的计算机软件编程技术探究
中职C语言单片机课堂教学中的趣味性探讨
初中化学实验教学中“微课”教学模式的探讨