杨亚会,张友兵,张吴波
(1.湖北汽车工业学院电气与信息工程学院;2.湖北汽车工业学院教务处,湖北十堰,442002)
全国软件专业人才设计与开发大赛是由工业和信息化部人才交流中心主办,北京大学软件与微电子学院承办,中国软件行业协会、教育部高等学校高职高专计算机类专业教学指导委员会协办,面向全国高校在校大学生举办的年度赛事[1]。大赛包括JAVA软件开发和C语言程序设计两个比赛项目,每个项目又分成本科组和高职高专组两个组别[1]。大赛的宗旨是推动软件开发技术的发展,进一步促进软件专业技术人才培养,向软件行业输送具有创新能力和实践能力的高端人才,提升高校毕业生的就业竞争力,全面推动行业发展及人才培养进程[1]。2010年举办首届大赛,来自全国约300所院校的5 000余名选手参加了本次大赛在24个省市组织的分赛区选拔赛[2]。2010年8月,600余名选手代表226所院校参加了在北京举行的总决赛[2]。
湖北汽车工业学院在校内C语言程序设计大赛的基础上,选拔出15名同学,参加了2010“国信蓝点杯”首届全国软件专业人才设计与开发大赛选拔赛(湖北赛区)本科组C语言程序设计的比赛。其中获选拔赛一等奖1名并进入了总决赛,三等奖10名,优秀奖2名;在总决赛中获得优胜奖1名。
在整个全国软件专业人才设计与开发大赛的培训及参赛过程中,需要逐步培养学生的自学能力,激发参赛同学的学习积极性、自觉性和主动性。由于大学的学习模式跟基础教育阶段不同,在进入大学之前,同学们习惯了老师领着学习,很多学生不会自学。绝大多数学生在课程的实验或是课程设计等实践教学过程中,遇到问题时,要么问老师,要么避开甚至置之不理,而现在在参赛同学的带动下,能通过其他渠道如同学间相互交流、查阅相关资料等来逐步解决一知半解或不懂的难题。在这次参赛培训过程中,参赛指导团队的教师要求学生在遇到问题时,要主动查看相关教材、图书资料或通过网络搜索等方式,试着自己慢慢解决,若问题仍未解决,再通过同学间的小组讨论或请教参赛指导团队的老师。采用“授之以鱼,莫若授之以渔”的这一参赛培训理念,既让学生的自学能力逐步得到了提高,又增进了同学之间的友谊,同时,团队协作能力和沟通能力也随之得到提高。
由于全国软件专业人才设计与开发大赛题目由来自微软、IBM等知名IT公司的专家学者根据企业的实际应用进行出题,注重考察学生的创新和实践动手能力。所涉及的内容很可能是学生在书本或课堂上从未接触过的全新知识。为了应对这次大赛,培训指导教师根据大赛官方提供的比赛大纲和样题,归纳出所涉及的知识领域,并在短短的培训学习中要求学生查阅大量文献资料,鼓励学生发挥自己的主观能动性和聪明智慧,通过不断的实践来消化和掌握相关知识。经历了大赛培训和参加了大赛的学生,在实践动手和创造性思维等方面将会得到较大的提高。
全国软件专业人才设计与开发大赛的结果会有很大的不确定性,参赛学生对题意理解稍有偏差或一时马虎大意都会导致最终失败,因此需要参赛学生具有严谨的态度和良好的心理素质,无论是在平时培训,还是在比赛过程中,始终应保持张弛有度、精力集中、不轻言放弃和毫不懈怠的良好状态来对待整个培训和参赛过程。
参赛同学还需要具备较强的查阅文献资料的能力、利用互联网络进行有效信息检索的能力、表达能力、团结协作能力等诸多方面的综合能力。通过参与大赛赛前培训和竞赛,绝大多数同学的这些能力均有了较大的提高。
全国软件专业人才设计与开发大赛对学生编程能力的要求,给高校C语言程序设计课程教学内容的组织有一定启示,过去多年沿袭的以讲授语法知识为主要内容的授课方式会使学生失去对课程的兴趣和学习动力,觉得课程枯燥无味,除了死记硬背了一些呆板的语法和语句外,收获甚微,学生的编程水平、分析和解决实际问题的能力均未得到提高。结合全国软件专业人才设计与开发大赛,课程组的教师经过反复研讨,一致认为,C语言程序设计课程开设的本质意义在于逐步培养学生的编程能力,因此,在授课过程中,首先应让学生明确程序的两个基本要素是算法和数据结构。众所周知,包括C语言程序设计在内的所有计算机语言主要包括算法设计和数据结构设计两个方面的内容[3-5]。算法设计是指描述从分析问题直至一步一步地解决问题的全过程,并清晰准确地定义每个解题步骤;数据结构设计是指在具体的问题求解过程中,计算机处理的数据以及数据之间联系的表示方法[3-5]。所以,C语言程序设计的授课重点应是算法和数据结构,而不单纯在具体的语法和语句上纠缠,语法只是为描述算法服务的;注重培养学生对算法精准描述能力,并强调学生实际编程能力的提高才是C语言程序设计课程追求的目标。
在教学模式上,不再一味地采用教师讲、学生听的填鸭式教学,而要积极采用启发式、引导式、讨论式、案例式、基于问题教学等先进的教学方法引导学生学习[6]。如在进行算法概念的教学过程中,采用基于问题教学的一个典型的事例来进行,如可提问:若你是班长,每学期末对班级所有同学所学课程成绩进行汇总并综合排名,你该如何操作?让学生理解算法其实就是分析问题并形成解决办法的步骤。通过引入精心巧妙设计的问题,充分利用比喻和类比,启发学生积极思维,把单纯的传授知识变为开拓学生的思维,挖掘学生的潜力,逐步培养学生主动思考问题的能力和激励学生勇于创新上来。同时,教师在教学过程中,要有意识、有计划地培养学生的主动学习能力。授课教师应多提供相关的教学网站以及网络中同类课程网站资源给学生。将教学从课堂延伸到课外,这样学生可通过网络环境较为便利地实现课后的自主学习和教与学的互动。
为适应全国软件专业人才设计与开发大赛采用机考的需求,C语言程序设计课程考核方式由原来的卷面考试改变为现在的机考,增设了客观题、程序设计题目。考试考核方式的改革更有利于学生运用知识能力、实践能力、实际工作能力和创新能力的培养,对推动教师教学内容和方法的改革起到了较大的促进作用,对学生学习方法的改变也具有正面效果,从而使整个教学工作的重点真正落到学生能力的培养和素质的提高上来。同时,考试考核方式的改革使学生在掌握基本理论知识和基本技能的基础上,增强了学生的职业素养和专业技能,提高了学生分析问题和解决问题的能力,最终为培养具有较强创新意识和实践动手能力的高技能工程应用型人才打下坚实的基础。
为选拔优秀选手参加全国软件专业人才设计与开发大赛,C语言程序设计大赛主办单位——学院科技处、教务处、学工部及承办单位电气与信息工程学院对此项全校性单科赛事更加重视。在2010年9月至11月举办的第六届校C语言程序设计大赛中,共有249名同学报名参加了比赛,比前几届每届参赛人数翻了三倍多。C语言程序设计大赛组委会通过板报、校园广播、校园网等多种形式对学生获奖比赛作品进行展示,不仅调动了学生对本课程的学习积极性,而且激发了学生的创作甚至是创新的欲望,还让学生在学习中体验到成就感;同时,对学生的学习方法和努力方向有了明确的引导作用;既为参加全国软件专业人才设计与开发大赛湖北赛区选拔赛及全国大赛选拔了人才,又丰富了广大同学的校园文化生活。
综上所述,通过参加首届全国软件专业人才设计与开发大赛,得到了一些有益的启示,对进一步促进C语言程序设计课程的教学改革会起到一定的引领和导向作用;同时对培养学生的自学能力、创新精神和实践能力等方面会有所帮助。同时希望大学生参与大赛的规模不断扩大,使更多学生从中受益,进一步提升学生的实践动手能力和就业竞争力。
[1]“国信蓝点杯”全国软件专业人才设计与开发大赛2010年参赛须知[EB/OL].[2010-01-24]http://www.miit-nstc.org.
[2]2010“国信蓝点杯”全国软件专业人才设计与开发大赛决赛暨颁奖典礼在北大成功举办[EB/OL].[2010-08-21]http://www.miit-nstc.org.
[3]谭浩强.C语言程序设计:第4版[M].北京:清华大学出版社,2010:16-26.
[4]张 磊.C语言程序设计:第2版[M].北京:高等教育出版社,2009:2-4.
[5]严蔚敏,吴伟民.数据结构:C语言版[M].北京:清华大学出版社,2000:1-10.
[6]林 健.注重卓越工程教育本质创新工程人才培养模式[J].中国高等教育,2011(6):19-21.