C语言程序设计的实践教学改革与探索
2014-09-01曾庆尚高慧梁振军武秀川
曾庆尚 高慧 梁振军 武秀川
[摘要]分析了C语言程序设计实践教学中存在的问题,提出了切实可行的改进措施,包括选择合理的实验教材、培养学习兴趣、运用多种教学方法、增加上机考试等具有针对性的方法,实践证明我们取得了较好的效果。
[关键词]C语言实践教学上机考试
[中图分类号]G642[文献标识码]A[文章编号]2095-3437(2014)12-0116-02
一、引言
C语言程序设计课程是我院计算机、自动化、电子、通信专业的必修基础理论课,在C 语言程序设计课程教学中,许多教师和同学都认为,该门课程实践教学尤其重要,该门课程的实践教学对于提高学生的编程能力、思维能力,培养学生的实际动手能力和创新能力有很大帮助,并且对学生日后深入学习计算机或相关专业知识有很大的帮助,但是目前的实践教学大部分还是停留在对程序的运行和验证,这虽然可以使学生进一步理解各种语句、语法等细节,但大部分学生仍旧不能真正理解程序设计的思想,也就无法培养学生分析问题和解决问题的能力。针对本门课程当前在实践教学过程中存在的问题,本人及课程组在多年的C语言程序设计教学的基础上,总结经验,逐渐探索出一些行之有效的实践教学改革措施,取得了一定的效果。
二、实践教学中存在的问题
(一)对语句语法的理解不够深刻
学生初学时,对于一些基本的语句格式、语法规则,掌握不够深刻,新的名词术语太多,难以理解和记忆,伴随着学习的深入,把新知识掌握了却把旧知识遗忘了。比如,少数学生对于使用频率高的自定义函数仍不能正确的定义与调用;学生完成了难度较大的贪食蛇,再做通讯录时,却不能正确运用标准的输入输出函数;离开教材很难独立完成一段程序代码的编写等。
(二)对教师的依赖性很大
C语言强调的是模块化的思想,而学生习惯于顺序编程的思维方式。而有的学生比较依赖老师,老师讲多少就学习多少,上机时一有错误就找老师,总觉得老师的解题思路是最好的,总想让老师先讲一下解题思路,这样减少了学生的思考机会,难以培养学生独立思考和分析解决问题的能力。
(三)编程兴趣难以培养
学生在学习C语言时,开始时积极性很高,有部分学生甚至觉得C语言很简单,但随着知识的积累,实验题目越来越繁琐,有的内容需要记忆、思考,需要掌握的细节较多,难度增大了,再加上没有什么思路,调动不起积极性,慢慢兴趣就减退了,就会觉得学习C语言很难。
(四)实践教学在考试中没有明确的体现
以往关于C语言的上机实验的考核,都是根据学生上机题目的完成情况来定的,在现实中,很多学生都是拷贝别人的,并不自己完成考试内容,而教师在验收时很难识别,因为时间问题又难于提问,所以考核就很笼统,并不能真正考核出学生的实际能力及我们的教学成果。
三、实践教学的改进措施
针对以上问题,本人在近年的实践教学过程中,不断地改进自己方式方法,吸取本课程组内其他成员的优秀教学方法,并在此基础上进行了一些改进,具体措施总结如下:
(一)制定实验计划,编写实验指导材料
根据C语言程序设计理论教学大纲和实验教学大纲的要求,根据我院学生的特点,经课程组研究讨论,制定详细规范的实验计划,提出“以主要知识点为主线设计实验题目、实验程序兼具趣味和实用特点、以循序渐进的任务驱动方式,指导学生从一个代码较短的程序开始逐渐完成一个代码较长的实验程序的设计”为实验教学和实验题目设计的指导思想。在制定实验题目时,分必做题和选做题两类,每次实验的必做题学生务必保质保量完成并由教师验收才可拿到本次实验的分数,而选做题一般都是本次实验知识点的外延,可由学生根据自己的情况进行选择,做完后经实验老师检查后可得一定的加分。在实验的编排上,课程组进一步优化了验证性、设计性和综合性实验的比例,在保证在验证课堂理论知识、加深理解和规范使用的基础上,对实验验证性题目进一步精简,并增加设计性和综合性实验题目的数目。
(二)运用各种教学方法,提高实践教学效果
为了使学生在C语言程序设计实验过程中体会并掌握本课程的理论知识和程序设计思想,在指导学生进行C语言程序设计实验时,以问题为中心,广泛采用师生互动式、案例分析式、师生协作式、专题讨论式、陷阱式等实践教学方法,理论联系实际,让每个学生尽可能的参与到实验中,鼓励分组讨论,激发程序设计思维,扩展对程序设计的认识。对于难度较大的题目或学生没有任何设计思路的题目,点出解题的思路与建议性方法,让学生自己独立地思考和设计。在分析项目,设计算法的过程中,适当地让学生尝试困难,甚至是错误,进而培养学生正确的思维方式,让学生在自己探索解决问题的过程中,全面、有效地掌握知识;在讲授具体的知识点时,一定要加强前后知识的连贯性,对重点知识要从多角度、多侧面去阐述,扩大学生的思维空间。启发引导学生去主动思考问题,使学生逐渐从被动学习转向主动学习,从而加强学生思考能力和创新能力的培养,从重知识目标转向重能力目标。
(三)精心选择设计例子,激发学生的学习兴趣
C语言程序设计是一门理论性较强的课程,知识点较多、名词术语难记、涉及面较广,对于刚开始学习的学生来说,常常感到内容枯燥难学,从而产生畏难情绪,导致理论知识掌握不好,而影响了上机实验。因此,为了激发学生的学习兴趣,寓学于"乐",精心挑选例子作为在C语言程序设计的上机实验题目,例如多选择一些具有趣味性和实用性的例子,如猪八戒吃人参果问题、兔子生兔子问题、一元二次方程的求解问题、歌手大赛计分问题等,这些充满乐趣且实用的问题,有利于学生轻松愉快地学习,积极主动地思考问题,结合现实实际解决问题而掌握的知识也很难被忘记。
(四)开展互动讨论,营造活跃的学习气氛
以前在实验教学过程中以“老师讲、学生听”为主,课堂气氛沉闷,不利于激发学生学习积极性。现在每次实验都要求开展师生互动、学生分组讨论,进而激发思维,增强学生学习的积极性、主动性。在实验过程中,鼓励同学大胆设想,大胆发表见解。通过互动讨论,对不同学生设计方法、设计方案的优劣进行比较,这样有利于学生对实验过程和实验原理的掌握,达到较好的教学效果。
(五)有选择的回答学生问题
对于上机实验过程中出现的一般问题,只是提示学生错误的类型和位置,鼓励学生努力解决;对于一些学生确实不能解决的问题,提示相关知识点,再给予解答,也鼓励学生之间相互帮助找错、改错,这样既培养了学生自主学习、合作学习、解决问题的能力,也教给他们学习和调试程序的方法,要让他们学会学习,发掘自身潜能,提高学生设计程序和调试程序的能力,减少对教师的依赖。
(六)改革考试方法,增加上机考试
以前,我院的C语言考试只有闭卷笔试,同时在平时成绩里体现上机实践的成绩,学生最终成绩的计算方法为:期末成绩=卷面成绩×70%+平时成绩×30%,其中平时成绩包括考勤情况、作业完成情况以及实验的完成情况。从去年开始,经过课程组的不断努力,C语言程序设计课程加入了上机考试环节,更加强调对学生实际编程能力和程序调试能力的测试,学生最终成绩的计算方法为:期末成绩=卷面成绩×60%+上机考试成绩×20%+平时成绩×20%。同时采用上机考试使得学生把注意力集中到提高实际的程序设计能力上面而不像以前采取笔试的时候,学生只靠死记硬背和考前突击就可以得高分,不能真实有效地考查学生的实际编程能力和程序调试能力,而采用上机考试,将上机实验和考试有机地结合在一起,重点考核学生实际动手编程能力和程序调试能力。加强了实践环节,有利于培养和提高学生的职业胜任能力。以后,课程组会根据实际情况加大上机考试的比重。
(七)增强校企合作,拓展学生视野
学完本门课程,课程组安排学生和我院的烟台加中实习基地进行为期一周的程序设计基础课程设计,由企业安排行业资深教师对学生进行讲解和指导,利用本课程所学内容结合行业发展做一些小型的系统,进一步开阔了学生的视野,提高了学生的程序设计能力。
四、结束语
实践证明, 通过这些方面的改革,学生学习的主动性和兴趣有了很大的提高,实验的效果也有了明显的改善。根据近几年我院学生参加的专业相关的学科竞赛如C语言大赛、齐鲁软件设计大赛、全国大学生电子设计大赛以及数学建模竞赛等,在全省的独立学院中,我院所获得奖项都名列前茅,课程组对该门课程的实践改革取得了一定的效果。今后课程组将进一步完善实验教材,制定科学合理的实验考核标准以及完善上机考试题库等方面下工夫,以期取得更大的效果。
[参考文献]
[1]谭浩强.C程序设计第3版[M].北京:清华大学出版社,2005.
[2]邱建林.C语言程序设计教学的研究与实践[J].电气电子教学学报,2003,(8).
[责任编辑:左芸]