论文部分内容阅读
摘要:程序设计是工科院校的重要基础课程,现就“C程序设计”课程教学提出了“以能力为导向”的指导思想,并在课堂教学、课程实验、评定考核以及创新实践等诸多方面进行了积极的探索与改革,其目的在于培养创新能力强且具有较强工程意识和较高工程设计能力的实用型软件技术人才,以达到“卓越工程师教育培养计划”的培养目标。
关键词:卓越计划;C程序设计;工程实践
作者简介:段蓉(1962-),女,湖北汉川人,河海大学计算机与信息学院,实验师;陈慧萍(1964-),女,江苏无锡人,河海大学计算机与信息学院,副教授。(江苏?常州?213022)
基金项目:本文系河海大学“十二五”高等教育科学研究立项课题(编号:20111206)的研究成果。
中图分类号:G642.0?????文献标识码:A?????文章编号:1007-0079(2012)29-0072-01
遵照“卓越工程师教育培养计划”(以下简称“卓越计划”)的培养目标及培养方案,高等工科院校培养应用型工程人才重在培养学生社会适应性,提升知识转化能力,提高学生的工程意识、工程素质及工程实践能力,着眼于未来经济社会发展对计算机应用人才的需求。[1]
“C程序设计”是计算机专业学生重要的专业基础课程之一,其教与学的质量直接影响到后续相关专业课程的学习效果,同时也会影响到学生解决工程问题能力的培养及继续深造等方面的问题。在“C程序设计”教学改革中,不仅要注重传授基础知识,掌握编程技巧,更要注重培养学生的开发研究能力,解决实际问题的能力,使学生毕业进入社会后,能够做到学以致用,且很快适应社会工作环境。这就对“C程序设计”课程的教学提出了更高的要求。在这个意义上而言,就必须对传统的教学模式与方式及考核方法等多方面进行必要的改革。
一、传统程序设计课程教学存在的一些缺陷
1.重语法、轻算法
程序设计是一门融知识性与技能性于一体,逻辑分析和实践操作性都比较强的课程,但在实际教学过程中,往往由于教学内容枯燥、难懂,学生学习起来比较困难。在教学中,一般教师大多采用传统的重语法、轻算法的教学模式,语法结构是课堂讲授的主线,讲授模式千篇一律:“概念—分析概念—例题佐证”;教学中运用到的案例则是根据课堂内容的需要总结出来的,教师只是告诉学生语言中有些什么命令,语句要遵循哪些语句结构、语法规则。显然这种方式过于注重语法规则,不能突出算法思维的传统教育模式,忽视了对学生逻辑思维能力的培养和主观能动性的发挥,不利于调动学生学习语言设计的兴趣和积极性。
2.过于教条的理论验证型实验
在课程教学中大多采用一次实验验证一两个知识点,这种验证所做的实验往往也是根据课堂内容及教材上公式定律的需要而做的;各实验之间的联系不强,相互独立的实验难以保证实验的系统性,且这种实验所采用的案例也是远离生活实际,学生只是生硬、被动地接受,对课程也毫無感性认识,难以在理解的基础上去掌握知识,缺乏对所学课程的整体把握和运用,形成了学生课堂上一听就懂,一旦上机操作就犯难,调试运行就不通的尴尬场面,且极易形成不良循环,以致七、八章内容学完后,尚不能编制一个完整实用的程序。[2,3]
3.“C程序设计”课程教学安排得不合理性
“C程序设计”基础课程知识点繁多,内容抽象,而授课学时仅2.5学分,一般情况下教师在讲授时都是“填鸭式”满堂灌,不可能留有充足的时间让学生在课堂上去思考、消化;[3]上机时间不够用,在具体的编程应用时往往会出现无从下手、不会调试等情况。现在大多数老师已经意识到这一点,学校也纠正了以往将“C程序设计”和“C语言”课程设计分开在二个学期内进行的做法。应该将这二门课安排在一学期内前后连贯进行学习,既有利于教师综合安排课程实践,也有利于学生及时巩固所学知识,避免实践脱节。
二、以能力为导向的“C程序设计”教学改革
1.课堂教学改革
(1)在教学内容上,尝试打破一般程序设计教学中“先讲语句语法、再编程”的常规教学方法,重视算法的分析、讲解,以实例为引导,推理过程直观形象,帮助学生分析问题、写出算法步骤,然后再基于语法规则进行程序代码编写。以常用语法知识在具体程序中实际应用为前提,注重于学生分析问题、解决问题能力的培养,防止死记硬背语法规则而不会灵活应用,同时增加了学生的学习兴趣,[4]提高设计、编程的积极性。
(2)在教学过程中,注重培养学生养成良好程序设计风格和编程规范,强调程序的可行性、可读性、可移植性及可测试性,强调关键变量加注释,函数功能有描述,学会调试程序,组织好测试数据,能推测和判断运行结果的正确与否。
(3)采取由浅入深的启发式教学,将抽象概念形象化,启发学生积极思考,提高主动性探究问题的能力,并逐步推进问题型、案例型、项目型、研究型等教学方式。
2.强化上机操作的案例分析型实验教学改革
“C程序设计”是一门实践性很强的课程,在实验中应尽可能多选取设计型案例进行分析、实践。[4]案例分析型实验实践教学法,是一种对实证(紧扣学生现实生活的个案和实例)的描述引入情景,启发学生分析、演绎、推断、归纳、解决实际问题的方法。例如,二维数组的实验,以学生成绩分析系统为例,需要统计N门课程的平均成绩和每个学生平均成绩;单个学生可选N门课程,那么对应于M个学生N门课程的成绩表可用二维数组来描述,对此,可计算统计出M个学生每门课的成绩。类似这种贴近生活的实际事例引起了学生很大的学习兴趣。在做上机调试前,还要求学生在课前先进行分析、设计算法、编写好代码,在上机调试中可以讨论、协商,教师只做辅助性的引导和辅导。[5]
3.评定考核方法的改革
传统的教学评价常常以期末考试成绩作为唯一的评价标准,这种忽视过程的考核评定方法很难完整评价学生学习、掌握知识的水平和能力,特别对“卓越工程师教育培养计划”的学生,必须在考核评定方法中体现工程实践的设计、运用能力,因此,对C程序设计的考核,采用平时考核占40%(考核内容包括平常听课及独立完成作业、小测试等),期末测验占60%(理论测验占40%、上机操作占60%),上机操作测试采用网络案例试题库方式(尚在建设中,已试运行)。实践证明,这种考核评定方法能有效激发学生做实验的兴趣,使他们主动积极想做实验、要做实验。近年来,在计算机等级考试已经不与学位挂勾的情况下,二级优秀通过率明显提高。 4.重视课程设计
“C程序设计”设计是学生从理论学习走向解决问题的非常重要的关键环节。在该课程后紧接着是二周的C语言课程设计,这时老师都是选择工程实践项目作为课程设计的题目,如学生成绩分析查询系统、大学生运动会竞赛项目中的检录系统、计分系统、地磅称重系统等。根据项目设计需要进行分组,各自承担不同的设计部分,培养学生的团队意识和创新能力。
独立开设的实践环节课程设计,是在训练学生基本实践技能基础上,为了巩固基本性实验,增加综合性、设计性实验而开设的,根据项目选题的不同阶段,使学生从文献查询、程序模块设计做起,再到编制业务流程、设计源代码、上机调试运行、总结测试报告、详细设计说明书等,进行全过程的训练,直到完成该项目课題的试验研究工作,并提交试验研究分析报告及相关过程文件。[6]目的在于培养学生综合实践能力、工程意识和工程设计能力,并为全面提高教学质量奠定良好基础。
5.参加软件设计竞赛,提升创新能力空间
引导学有余力的学生参加全国大学生软件设计竞赛、大学生创新实验项目等科研活动。学生只有通过参加各种科技竞赛、企业项目实践,才能掌握项目的分析、运用、设计的能力,才能做到利用掌握的理论知识、公式、定理和算法分析去解决实际工程问题,[4]以培养学生掌握并应用标准规范的能力;培养学生的创新能力和团队精神,树立良好的学术思想和工作作风。
实践证明,经过多途径的科技活动,锻炼和提升了学生解决实际问题的能力和科研能力,使学生实践创新和研究分析能力得到提高,为他们的就业和继续深造打下了良好的基础。
三、结束语
通过改革教学内容、改进教学和考核评定方法,使“C程序设计”教学质量得到了大力提高,也更能使学生循序渐进地学习相关知识和技能,大大激发了学生的求知欲。在近二年的“蓝桥杯”全国软件专业人才设计与创业大赛总决赛中,多人次获得C/C#程序设计一、二、三等奖的好成绩。总之,改革为培养学生独立探索、开拓、进取的工程素质奠定了基础。
参考文献:
[1]教育部.卓越工程师教育培养计划[G]//“卓越工程师教育培养计划”启动会会议手册.2010.
[2]张道好.“C语言程序设计”课程教学方法的研究与实践[J].安庆师范学院学报(自然科学版),2008,(11):94-96.
[3]段蓉,朱昌平,张亚新,等.创新型实验教学体系的探索[J].实验技术与管理,2010,(10):156-158.
[4]易虹,徐振强,张红梅.程序设计基础教学改革实践与创新[J].计算机教育,2010,(8):46-49.
[5]丁海军.程序设计基础[M].北京:北京航空航天大学出版社,2009.
[6]谢东,王敏.基于“卓越计划”的电类专业电子技术基础课程教学研究[J].中国电力教育,2011,(28):86-88.
(责任编辑:刘辉)
关键词:卓越计划;C程序设计;工程实践
作者简介:段蓉(1962-),女,湖北汉川人,河海大学计算机与信息学院,实验师;陈慧萍(1964-),女,江苏无锡人,河海大学计算机与信息学院,副教授。(江苏?常州?213022)
基金项目:本文系河海大学“十二五”高等教育科学研究立项课题(编号:20111206)的研究成果。
中图分类号:G642.0?????文献标识码:A?????文章编号:1007-0079(2012)29-0072-01
遵照“卓越工程师教育培养计划”(以下简称“卓越计划”)的培养目标及培养方案,高等工科院校培养应用型工程人才重在培养学生社会适应性,提升知识转化能力,提高学生的工程意识、工程素质及工程实践能力,着眼于未来经济社会发展对计算机应用人才的需求。[1]
“C程序设计”是计算机专业学生重要的专业基础课程之一,其教与学的质量直接影响到后续相关专业课程的学习效果,同时也会影响到学生解决工程问题能力的培养及继续深造等方面的问题。在“C程序设计”教学改革中,不仅要注重传授基础知识,掌握编程技巧,更要注重培养学生的开发研究能力,解决实际问题的能力,使学生毕业进入社会后,能够做到学以致用,且很快适应社会工作环境。这就对“C程序设计”课程的教学提出了更高的要求。在这个意义上而言,就必须对传统的教学模式与方式及考核方法等多方面进行必要的改革。
一、传统程序设计课程教学存在的一些缺陷
1.重语法、轻算法
程序设计是一门融知识性与技能性于一体,逻辑分析和实践操作性都比较强的课程,但在实际教学过程中,往往由于教学内容枯燥、难懂,学生学习起来比较困难。在教学中,一般教师大多采用传统的重语法、轻算法的教学模式,语法结构是课堂讲授的主线,讲授模式千篇一律:“概念—分析概念—例题佐证”;教学中运用到的案例则是根据课堂内容的需要总结出来的,教师只是告诉学生语言中有些什么命令,语句要遵循哪些语句结构、语法规则。显然这种方式过于注重语法规则,不能突出算法思维的传统教育模式,忽视了对学生逻辑思维能力的培养和主观能动性的发挥,不利于调动学生学习语言设计的兴趣和积极性。
2.过于教条的理论验证型实验
在课程教学中大多采用一次实验验证一两个知识点,这种验证所做的实验往往也是根据课堂内容及教材上公式定律的需要而做的;各实验之间的联系不强,相互独立的实验难以保证实验的系统性,且这种实验所采用的案例也是远离生活实际,学生只是生硬、被动地接受,对课程也毫無感性认识,难以在理解的基础上去掌握知识,缺乏对所学课程的整体把握和运用,形成了学生课堂上一听就懂,一旦上机操作就犯难,调试运行就不通的尴尬场面,且极易形成不良循环,以致七、八章内容学完后,尚不能编制一个完整实用的程序。[2,3]
3.“C程序设计”课程教学安排得不合理性
“C程序设计”基础课程知识点繁多,内容抽象,而授课学时仅2.5学分,一般情况下教师在讲授时都是“填鸭式”满堂灌,不可能留有充足的时间让学生在课堂上去思考、消化;[3]上机时间不够用,在具体的编程应用时往往会出现无从下手、不会调试等情况。现在大多数老师已经意识到这一点,学校也纠正了以往将“C程序设计”和“C语言”课程设计分开在二个学期内进行的做法。应该将这二门课安排在一学期内前后连贯进行学习,既有利于教师综合安排课程实践,也有利于学生及时巩固所学知识,避免实践脱节。
二、以能力为导向的“C程序设计”教学改革
1.课堂教学改革
(1)在教学内容上,尝试打破一般程序设计教学中“先讲语句语法、再编程”的常规教学方法,重视算法的分析、讲解,以实例为引导,推理过程直观形象,帮助学生分析问题、写出算法步骤,然后再基于语法规则进行程序代码编写。以常用语法知识在具体程序中实际应用为前提,注重于学生分析问题、解决问题能力的培养,防止死记硬背语法规则而不会灵活应用,同时增加了学生的学习兴趣,[4]提高设计、编程的积极性。
(2)在教学过程中,注重培养学生养成良好程序设计风格和编程规范,强调程序的可行性、可读性、可移植性及可测试性,强调关键变量加注释,函数功能有描述,学会调试程序,组织好测试数据,能推测和判断运行结果的正确与否。
(3)采取由浅入深的启发式教学,将抽象概念形象化,启发学生积极思考,提高主动性探究问题的能力,并逐步推进问题型、案例型、项目型、研究型等教学方式。
2.强化上机操作的案例分析型实验教学改革
“C程序设计”是一门实践性很强的课程,在实验中应尽可能多选取设计型案例进行分析、实践。[4]案例分析型实验实践教学法,是一种对实证(紧扣学生现实生活的个案和实例)的描述引入情景,启发学生分析、演绎、推断、归纳、解决实际问题的方法。例如,二维数组的实验,以学生成绩分析系统为例,需要统计N门课程的平均成绩和每个学生平均成绩;单个学生可选N门课程,那么对应于M个学生N门课程的成绩表可用二维数组来描述,对此,可计算统计出M个学生每门课的成绩。类似这种贴近生活的实际事例引起了学生很大的学习兴趣。在做上机调试前,还要求学生在课前先进行分析、设计算法、编写好代码,在上机调试中可以讨论、协商,教师只做辅助性的引导和辅导。[5]
3.评定考核方法的改革
传统的教学评价常常以期末考试成绩作为唯一的评价标准,这种忽视过程的考核评定方法很难完整评价学生学习、掌握知识的水平和能力,特别对“卓越工程师教育培养计划”的学生,必须在考核评定方法中体现工程实践的设计、运用能力,因此,对C程序设计的考核,采用平时考核占40%(考核内容包括平常听课及独立完成作业、小测试等),期末测验占60%(理论测验占40%、上机操作占60%),上机操作测试采用网络案例试题库方式(尚在建设中,已试运行)。实践证明,这种考核评定方法能有效激发学生做实验的兴趣,使他们主动积极想做实验、要做实验。近年来,在计算机等级考试已经不与学位挂勾的情况下,二级优秀通过率明显提高。 4.重视课程设计
“C程序设计”设计是学生从理论学习走向解决问题的非常重要的关键环节。在该课程后紧接着是二周的C语言课程设计,这时老师都是选择工程实践项目作为课程设计的题目,如学生成绩分析查询系统、大学生运动会竞赛项目中的检录系统、计分系统、地磅称重系统等。根据项目设计需要进行分组,各自承担不同的设计部分,培养学生的团队意识和创新能力。
独立开设的实践环节课程设计,是在训练学生基本实践技能基础上,为了巩固基本性实验,增加综合性、设计性实验而开设的,根据项目选题的不同阶段,使学生从文献查询、程序模块设计做起,再到编制业务流程、设计源代码、上机调试运行、总结测试报告、详细设计说明书等,进行全过程的训练,直到完成该项目课題的试验研究工作,并提交试验研究分析报告及相关过程文件。[6]目的在于培养学生综合实践能力、工程意识和工程设计能力,并为全面提高教学质量奠定良好基础。
5.参加软件设计竞赛,提升创新能力空间
引导学有余力的学生参加全国大学生软件设计竞赛、大学生创新实验项目等科研活动。学生只有通过参加各种科技竞赛、企业项目实践,才能掌握项目的分析、运用、设计的能力,才能做到利用掌握的理论知识、公式、定理和算法分析去解决实际工程问题,[4]以培养学生掌握并应用标准规范的能力;培养学生的创新能力和团队精神,树立良好的学术思想和工作作风。
实践证明,经过多途径的科技活动,锻炼和提升了学生解决实际问题的能力和科研能力,使学生实践创新和研究分析能力得到提高,为他们的就业和继续深造打下了良好的基础。
三、结束语
通过改革教学内容、改进教学和考核评定方法,使“C程序设计”教学质量得到了大力提高,也更能使学生循序渐进地学习相关知识和技能,大大激发了学生的求知欲。在近二年的“蓝桥杯”全国软件专业人才设计与创业大赛总决赛中,多人次获得C/C#程序设计一、二、三等奖的好成绩。总之,改革为培养学生独立探索、开拓、进取的工程素质奠定了基础。
参考文献:
[1]教育部.卓越工程师教育培养计划[G]//“卓越工程师教育培养计划”启动会会议手册.2010.
[2]张道好.“C语言程序设计”课程教学方法的研究与实践[J].安庆师范学院学报(自然科学版),2008,(11):94-96.
[3]段蓉,朱昌平,张亚新,等.创新型实验教学体系的探索[J].实验技术与管理,2010,(10):156-158.
[4]易虹,徐振强,张红梅.程序设计基础教学改革实践与创新[J].计算机教育,2010,(8):46-49.
[5]丁海军.程序设计基础[M].北京:北京航空航天大学出版社,2009.
[6]谢东,王敏.基于“卓越计划”的电类专业电子技术基础课程教学研究[J].中国电力教育,2011,(28):86-88.
(责任编辑:刘辉)