李辉+刘放美+蔡增玉+马琳琳
DOI:10.16644/j.cnki.cn33-1094/tp.2016.09.023
摘 要: 根据“卓越工程师教育培养计划”的精神和我校网络工程河南省“专业综合改革试点”项目的实际需求,分析了当前C语言程序设计在教学过程中的一些不足,提出了教学中亟待解决的问题。提出面向卓越工程师培养的C语言程序设计教学改革方案,包括理论教学、实践教学、考核方式、师资队伍建设等。实践表明,该方案能有效提高C语言程序设计的教学效果。
关键词: 卓越工程师; C语言; 教学改革; 教育
中图分类号:G642.0 文献标志码:A 文章编号:1006-8228(2016)09-80-03
Teaching reform of C language programming for outstanding engineers training
Li Hui, Liu Fangmei, Cai Zengyu, Ma Linlin
(School of Computer and Communication Engineering, Zhengzhou University of Light Industry, Zhengzhou, Henan 450002, China)
Abstract: According to the spirit of "the plan for educating and training outstanding engineers" and the practical requirement of the Henan Province "professional comprehension reform pilot" project of network engineering in our university, the disadvantages in current teaching process of C language programming are analyzed, and problems to be urgently solved in teaching are put forward. The C language programming teaching reform program for outstanding engineers training is proposed which includes theoretical teaching, practical teaching, assessment method, and teaching staff construction and so on. Practice shows that the program can effectively improve the teaching effect of C language programming course.
Key words: outstanding engineers; C language programming; teaching reform; education
0 引言
C语言程序设计课程是信息类专业最重要的课程之一,它是学生进入编程课堂的敲门砖。该课程包含了C语言基本的语法和程序设计的基本思想。学好C语言,不仅学习其他语言会更容易,还能建立起学习编程的信心。
C语言程序设计课程在信息类专业教学中具有关键地位,很多专家学者对该课程的教学改革方案进行了探索,并取得了很多成果[1-5]。本文以“卓越工程师教育培养计划”为指导,结合我校的河南省“专业综合改革试点”项目,以培养学生能独立编程为目标,提出了C语言程序设计的改革方案,并进行了实践。实践表明,本文提出的面向卓越工程师培养的C语言程序设计教学改革能够很好的提高该课程的教学效果。
1 C语言程序设计教学中存在的问题
目前C语言程序设计课程的教学主要分两个部分:课堂上教师讲授理论知识;实验课练习已学习的内容。随着学习的深入,学生越来越能感觉到C语言程序设计与编程的重要性。很多学生反映,如果大一学习C语言程序设计时能更精通些,在学习其他语言或技术时,就更容易上手。C语言程序设计学习的目标不仅仅是了解语法,更多的是把学到的语法应用到实际问题中,得心应手地运用这知识。虽然现在C语言程序设计的教学比十年前已经在很多方面有了改进,但仍存在一些亟待解决的问题。
1.1 理论教学中的问题
传统课堂讲授模式就是照本宣科,按照PPT上的语法一步一步讲。但是,语法结构比较抽象和枯燥,需要一定的想象力。有些学生可能还不怎么熟悉计算机,直接讲这么抽象的东西可能接受不了。这种讲法不仅不能培养学生编程的兴趣,而且程序一复杂就跟不上进度,打击了学生对编程的信心。
另外,C语言程序设计教学内容比较多,包括循环,数组,函数,指针,结构体,文件等[6-7]。学生往往在学到函数的时候就感到力不从心,现要不断巩固之前的知识,又要学习新的内容。
1.2 实验教学中的问题
上机实验时,程序运行错误,学生往往检查不出语法错误,就常常问教师。结果却发现自己犯的都是低级错误,有些逻辑上不通顺,有些少了些符号。但是,这些貌似小错误,自己却检查不出来,在教师的提醒下才恍然大悟。
平时实验课的内容往往是练习课堂上讲的语法,只会对题做题,在具体的项目中却得不到很好的实践,练习效果不是很理想。
1.3 考核方式不够合理
C语言程序设计的考核成绩由平时成绩和期末笔试成绩两部分组成,而忽略了动手能力及实际编程能力。
2 面向卓越工程培养的多媒体技术教学改革方案
2.1 理论教学改革
⑴ 授课方式
我们探索授课方式改为讲语法和实际操作并行,讲到一个重要语法时,在电脑上模拟一下程序,让学生更直观地看到语法运行的结果。这样不仅能使学生印象深刻,更能使他们对编程产生兴趣。严谨而科学的授课方式往往能使学生们更加容易接受,学生在课堂上能看到语法的运行,也更容易在课下实践出来。
⑵ 讲授内容
将讲授内容的重点放在算法上,重点讲循环,数组和函数。指针应该了解即可,因为在以后的学习当中,指针确实不太常用,具体的项目工程中,也很少用到关于“指针”的知识。一味地学习语法细节,容易忽略算法的练习和巩固,一个没有算法支撑着的语法框架是没有意义的。
2.2 实践教学改革
⑴ 课堂实验方式
一个好的程序员,要会写程序,也要会找程序中的bug。实验课上,调试程序是重要内容,教师要注重引导学生学会怎样寻找程序中的bug,学生掌握了纠错的方法,不仅能提高编程的独立性,更能培养他们的创新精神。即使一个程序花了一个小时调试才得以解决,而收获到的可能比没出错还要多。
⑵ 创新性实验
上机课的实验可以选择几个具体项目的程序,让同学感受一下学习的语法在实践中的具体应用。在具体的项目中更能开发学生的智慧,激发他们的创造力。学生们学习语法,往往体会不到自己学到的知识该怎么用,该在实际项目中起到什么作用。这时,如果能加以正确的引导和激励,必然更能使他们信心得到提高。
2.3 考核方式改革
传统的C语言程序设计考核方式,就是平时成绩(30%)加上期末的笔试成绩(70%)。忽略了学生动手能力和实际应用能力考核,这不能激发学生的主观的能动性,也会降低他们以后学习编程的积极性。为改变这种现状,首先把笔试部分改成上机考试,这样既能锻炼学生实际动手能力,更能考验他们独自编程调试能力;另外增加创新性实验和项目,作为总成绩的重要组成部分。
⑴ 以往平时成绩包括:出勤率,课后作业的上交量和课堂回答问题的情况。在此基础上,我们增加了学生完成并上交程序的质量和效率。
⑵ 创新性实验目的是培养能独自编写程序的优秀工程师。据此,我们上机课期末考试的标准是观察一个学生能否编写并运行出完整的程序。根据其编写程序的运行形况、编写用时,以及程序出错率来给定分数。
⑶ 为了鼓励学生积极编程,需考虑各种程序竞赛参与程度及获奖情况,并在期末成绩中给予加分。适当的鼓励不仅能增加学生对编程的热爱,更能营造出学习的氛围,有利于学校的学风建设。
2.4 师资队伍建设
⑴ 校内教师队伍
根据我校C语言程序设计任课教师的情况,我们组建了固定的教师队伍。教师队伍在每个学期的结尾都会全面总结,并规划出下一个学期的教学计划和实训计划。
同时我们也正在加强教师们的思想交流,定期举办交流会,总结问题,进行学术研究和交流。将教师队伍为为几个小组,每个组都有一个资深和经验丰富的骨干教师带领。通过开展课程建设、教学示范、教材编写、课题研究、教学指导等工作,带领新的教师入门。
从目前的发展来看,我们教师队伍更倾向于接纳年轻的教师,他们的加入为教师队伍注入了活力,同时有利于培养骨干教师,造就拔尖人才。通过不断的改进,整个队伍的年龄结构,学历结构,学缘结构逐年优化,正在形成一支整体水平较高、充满活力、适应学校事业发展需要的师资队伍。
⑵ 外聘企业工程人员
在整个计划执行中,我们也聘请了企业工程技术人才进入我们教学改革的环节。邀请他们参与并改进我们的创新性实验环节。他们通过具体项目来给学生答疑解惑,丰富学生的知识,让学生了解到所学知识该怎么在实际项目中运用。外聘工程师根据公司中的项目经验,在每节实验课上都提出几个比较适合学生解答的问题。学生通过解决这些程序问题,提升了积极性,激发了学习编程的欲望。同时,他们还充当着我们教学改革顾问的角色,为我们学术改革提供了许多宝贵的意见。
3 执行情况与效果
C语言程序设计教师队伍经过多年的理论教学、实践教学和考核方式探索,使教学模式逐渐完善。在2013-2015年期,面向卓越工程培养的C语言程序设计教学改革方案在郑州轻工业学院的计算机与通信工程学院网络工程等多个专业执行。教师队伍每年都根据教学经验改进教材和实验内容,参考外聘企业工程人员的意见,引进一些基于C语言程序设计的创新项目和实践,大大提高了学生学习编程的积极性,培养了他们理论和实践结合的能力。
几年的教学实践证明,该方案的实施提高了学生对编程的兴趣和主动性,也促进了学生对独立编程能力的掌握,大部分学生都掌握了编程的技巧,为他们学习其他编程语言奠下基石。C语言程序设计和其他编程语言学科的不及格率都有了一定的下降,学校的学风有了一定的提高。这证明了我们多年来的教学改革取得了很大的成果。
4 结束语
C语言程序设计是我校计算机与通信工程学院多个专业的专业基础课,在多年的教学过程中,已形成了一支成熟的教学队伍。近年来在学校“卓越工程师培养教育计划”的指导下,对C语言程序设计课程进行了较大的改革,改善了教学体系和实践体系,提高了教学质量,不仅提高了学生们学习编程的自信心,更有利于学校的学风建设。本文提出的C语言程序设计教学改革方案也为我校网络工程河南省“专业综合改革试点”项目课程改革提供了宝贵的经验。培养出一批骨干教师,组建一支强大的师资队伍,把该改革方案推广到全校所有专业的C语言程序课程将是我们下一步的计划。
参考文献(References):
[1] 沈高峰,马欢.高校《C语言程序设计》教学改革的探索与实践[J].
河南教育(高教),2015.4:60-61
[2] 张丽华,叶利华.基于微课程的C语言程序设计教学改革探
索[J].计算机教育,2014.6:48-49,52
[3] 薛冰冰,李敏.基于问题导向的C语言程序设计教学改革与
探索[J].教育教学论坛,2014.45:142-144
[4] 万李,杨杰.基于实践能力培养的C语言程序设计教学改革
与探索[J].湖北经济学院学报(人文社会科学版),2013.7:188-189
[5] 王重英.C语言程序设计教学改革与实践[J].软件,2012.5:
111-112,118
[6] 彭治国.基于“卓越计划”C语言程序设计实验教改研究[J].装
备制造技术,2012.7:225-227
[7] 金华.“C语言程序设计”教学研究[J].计算机教育,2012.14:
60-62