《C语言程序设计》课程改革与实践

2015-01-06 08:13孙晶方英兰刘高军宋威
电脑知识与技术 2014年34期
关键词:机考C语言程序设计C语言

孙晶 方英兰 刘高军 宋威

摘要:《C语言程序设计》课程是计算机专业重要的基础课,学生的理解和掌握程度,直接影响到后续课程的学习,进一步会影响到毕业设计和就业质量。为了提高教学质量,在对考试进行由纸质变为机考改革的基础上,又实施了分层教学,尽可能地给予学生有效的施教。学生对本门课程的重视程度逐渐提高,算法设计能力、编程能力和应变能力都得到逐步提升。

关键词:C语言;程序设计;机考;分层教学;课程改革

中图分类号:G642 文献标识码:A 文章编号:1009-3044(2014)34-8225-02

《C语言程序设计》课程的授课对象是计算机专业本科学生,为专业基础(必修)课,是学好后续各软件课程必要的基础。有别于已经掌握的汉语、英语语言,作为人与计算机交流的语言,C语言不但概念多、符号多、语法多、规则多,而且抽象、难懂,再加上需要有一定的理解力以及解决问题的清晰思路,有些学生在学习过程中会感觉到枯燥、繁杂、无趣。因此培养学生的学习兴趣、加强对课程的重视、提高实际编程能力、将理论与实际相结合,是教师必须解决的问题。

为了提高学习质量,从2010年秋季学期开始对《C语言程序设计》课程的教学过程、成绩考核进行了改革,由原来的纸质试卷考试变成全程上机考试。改革实施多年来,大部分学生增加了学习兴趣,有了编写程序的主动性和积极性,增加了专业学习的信心,提升了程序设计的能力。

考虑到学生在基础知识、智力因素、学习能力上的差异,为了更有效地实施“因材施教”,从2013年秋季学期开始实施分层教学。在讲完C语言基础知识、程序基本设计方法之后进行分层。通过考核,外加自愿的原则,将原来的教学班打乱,重新组合成两种班型——高层次、低层次班。分层之后,每个学生个体获取的知识趋于最大化,极大地提高了课堂学习效率。

1 传统教学与纸质考试存在的问题

传统的教学是按照指定教材,在课上将重点内容进行讲解,典型的问题、方法在TC/VC环境中进行演示,课后留给学生一定的纸质作业和上机编程作业。同样的讲授,理解力强的学生一听就懂;理解力弱的学生,老师需要讲多遍才有可能懂。传统的教学中,老师只能顾及大多数中等学生,照顾不到特殊的学生。降低了课堂效率,也可以说浪费了某一部分学生的时间。

由于期末考核采用的是纸质考试,只是从纸面上考核学生对C语言理论、编程方法的理解、掌握程度,更对学生的学习产生误导。部分学生也只重视理论,不重视实际动手编程。他们只满足于“纸上谈兵”,不考虑结果。因此,实际应用时,对上机环境不熟悉、编写的程序不能顺利通过,导致很多学生高分低能,在解决实际问题时,茫然无措。

2 机考及分层教学改革的探索

计算机专业课程的特点是实践性强,学生在掌握了基本语法后重点是上机实践,即在计算机上解决实际问题,这里包括问题的分析与抽象、程序的编写与调试。

常言道:“实践是检验真理的标准”。在学习C语言过程中,上机实践是巩固理论知识、增加理解力、提升编程能力的重要途径。为了提高教学质量,让学生真正打好专业基础,授课教师在教学内容、教学方法、教学组织、考试方式等多方面上进行了调整。

2.1 教学方法以及教学组织上的改革

为了使教学效果更好,将两个自然班作为一个授课班,教学内容统一要求。讲授时,由浅入深、循序渐进。在语言的基础上,重点放在程序设计的思想、方法、技巧的讲解,结合典型例题,培养学生分析、设计、解决问题的能力。通过精心设计实验题目、课后作业、调整考核比例、增加课后上机机时、多方位提供答疑指导等环节培养学生学习兴趣,使学生重视上机编程。

对学生作业题目进行精心设计,既覆盖知识点,又有趣味性,每个题目都像在讲一个故事,把要解决的问题融在故事中,学生在读故事的同时,不自觉地就会去想解决办法,增加了兴趣,提高了自主性,也锻炼了思维。

调整平时考核内容。平时考核的环节包括:上机小测试、期中机考、上机作业、考勤,每一个环节的成绩都会反映到平时成绩中。平时成绩的取得完全依赖自己的学习态度。

增加课后上机机时。由于考核重点是对实际动手能力的考核,光靠课内安排的上机时间显然不够,所以需增加学生课外自主上机实验时间,并配有指定人员辅导。

多方位提供答疑指导。所有任课教师把答疑时间错开,这样每周学生可以有多次答疑时间,对比原来教师只给自己学生答疑的做法,学生增加了学习解疑的机会。

2.2加强上机实验过程控制,促进考试改革

借助于“课程自动评测与抄袭检测系统”,老师和学生有了C语言作业部署、学习、检测的平台。通过这个平台,老师可以布置上机实验、安排考试、检查学生提交的作业。根据知识点,每章布置4-5道题,限定学生在规定时间内独立提交。老师可以随时查看学生提交的程序,及时与学生沟通、反馈。学生可以随时把自己编写的程序提交,系统对提交到服务器的程序自动判断对错,学生可以及时了解自己程序存在的问题,不断进行修改,直到能够顺利通过所有测试。

这一环节起到了巩固课本知识、增加独立思考、加强动手能力的作用。期末就是利用这个平台进行全程两个小时的考试,要求学生既有编程的能力,又有时间的紧迫感。

加强过程考核,增加平时机考次数。为了缓解期末机考时的紧张情绪,之前会安排1-2次的上机考试,成绩记入期评,其中期中考试的考试形式与期末一样,为全程两个小时的机考,随机组卷。学生可以尽早了解考试模式,并更加重视对本门课程实际动手能力的训练,学会调整心态。

为了满足不同层次学生的要求,在平台上配备了大量不同难度的习题,不受提交时间的限制。学生可以根据自身需求,随时编程测试。

2.3分层教学,提升学习效率

分层教学是根据学生不同基础、不同学习需求而实施教学的一种手段。是在承认学生差异、考虑学生兴趣的前提下,以发展的眼光看待学生,给每个学生提供符合他们发展的教学目标与方法,是同时提高所有学生能力的理想状态。经过调研,从三个方面进行分层教学。endprint

1)学生分层。对学生能力考核的一个重要标准就是学生的学习成绩,但是在学习这门课之初,没有可依据的成绩。分层安排在讲完两周课,即学完了简单程序设计之后进行。学生根据自己当前对C语言的理解和接受程度,选择不同层次。在分层教学的实施过程中,这样的分层是暂时的、动态的。过一段时间,视学生的后期学习成绩、学生的具体情况,可递进或降层。这样更有利于学生个性化发展。

2)讲课分层。对不同层次的学生,采取不同课堂。在讲授编程思想、必备知识基础上,对高层次学生,拓宽和加深问题的难度,做到拔尖提高;对普通学生,在达到大纲要求的同时,考虑他们的接受能力,适度增加和加深知识,做到稳步推进。

3)实验分层。练习是对所学知识的巩固和消化。按照作业、实验题目的难易,对不同层次的学生提出不同要求。对普通学生布置基础题,进行强化训练;对高层次学生,以综合运用知识进行练习。要求学生多编程解决问题,以提高应用知识的能力。这样使得不同层次的学生得到不同程度的提高。

3 教学改革实践效果

实行考试改革后,学生的学习积极性有了明显提高。由于考试时间的有限性,增加了学生的紧迫感、主动性,在程序编写、调试程序的实际动手能力方面得到了重视并有所提高,为后续课程学习奠定了良好的基础。经过分层教学,满足了不同层次学生学习的需要,激励了各层次学生朝着有利于自己的方向努力,有利于学生个性能力的张扬,有利于学生综合素质的提高,更有利于优秀学生综合能力的发挥、较低层次学生潜在能力的开发。

3.1带动学风,促进后续课程的学习

大部分学生能够按时到课,勤于思考,互相研究,答疑的同学增多了。改变了不良学风,营造了良好学习氛围。由于课程期间比较重视学生结构化程序设计的方法,要求编写程序之前理清解题思路、做好算法设计,经过训练后,在后续的“程序设计专题训练”中,面对稍难一些的问题,学生也能逐步找到解决办法,编出程序,顺利通过测试。在小学期“学术工程实践”课程中,要求完成一个小型管理系统,有一定的难度。大部分学生能够顺利编写由多个结构体、多个文件、几十个函数组成的、2000-4000行代码的程序,并调试成功,完成管理。

3.2提升学生的程序设计能力和创新能力

竞赛是考核学生全面素质的一个平台,它要求学生具有扎实的理论基础、清晰的算法设计能力、娴熟的编程能力、良好的心理素质和快速的临场应变能力。

随着知识的积累,学生的能力和自信心不断增强。学生们更加渴求知识,渴望展示自己,参加竞赛的积极性提高了,人数也不断增多。在大二阶段,报名参加全国软件设计大赛的人数由09级的16人次(占09级学生人数14.04%)、10级的33人次(占10级学生人数26.19%),增加到11级的66人次(占11级学生人数51.56%)。全国获奖人数由09级的1人次(占09级学生人数0.88%),到10级的12人次(占10级学生人数9.52%),再到11级的17人次(占11级学生人数13.28%),获奖人数同比增多。

4 结论

总之,学习“高级程序设计语言”不仅要使得学生在程序表达和设计上得到培养,更重要的是在掌握解决问题的思想、方法和手段的同时,实际动手编程能力有所提高,从而增长设计程序的能力。因而,将“C程序设计”课程的考试改为上机考试是很有益的,可以改变不良的学风,营造良好学习氛围;可以加强学生对课程的重视,提高学生程序编写、调试等实际动手能力,提升学生的程序设计能力和创新能力,为后续课程学习、为培养合格的专业人才奠定良好的基础。

对“C程序设计”课程实施分层次教学也是必要的,可以针对不同层次学生的需求给予相应的学习指导,以达到学生全面发展的教学目标;可以激发不同层次学生学习的欲望,向着更高更深的知识海洋探索;可以鞭策任课教师积极思考、合理取舍,做到充分了解学生、合理安排进度,能够极大地提升老师的组织与应变能力。

参考文献:

[1] 李学会.C程序设计教学改革与实践[J].实验室科学,2010(4)33-34.

[2] 肖潇,贺细平.C语言程序设计教学探索[J].计算机教育,2011(5):65-68.

[3] 李文新,梅宏,陈徐宗.北京大学计算机学科的教学体系改革[J].中国大学教学,2008(4):14-16.endprint

猜你喜欢
机考C语言程序设计C语言
中国注册会计师协会关于更新注册会计师考试机考练习网站的公告
基于Visual Studio Code的C语言程序设计实践教学探索
雅思机考落地中国大陆半年这些问题你应该心中有数
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
ACT将于2017年在所有国际考试中心推行机考
论子函数在C语言数据格式输出中的应用
四级机考背景下的大学英语听说教学初探