为此我们计划采用发放到学生手中,让学生采用自主学习模式掌握平台的开发,最终使学生以此为基础完成接口技术、简单嵌入式系统构架和各种单片机应用系统的实验。这个经验是学习清华大学主动学习模式的做法,充分利用网上教学资源为学生提供所需要的教案、课件、实验指导书及实验案例,再由学生主动选择题目或提出创意,和教师双向交互来完成实验计划。
因此我们利用网络资源的优势,创建了“创新意识与实践技能培训”的教学网站。设计并实施了以学生自主学习为目的的教学引导、兴趣启发、课题选择、技能培训、方法讨论和信息发布及课题检查的教师与学生多功能可互动的网络资源,用来吸引各年级的大学生了解、参与和提高创新实践的活动,同时也是广大教师特别是青年教师了解、引导和培训学生参与创新实践和科研能力培训的一个大平台。
三、创新实践教学与特殊人才的培养
通过连续几年来辅导学生科研小组活动和指导学生参加创意设计大赛,我感到这种模式对学生来说好处真是太大了,我在2004年所带的5位大二本科生,到现在有3位因获奖而保研,一位考研成功,另一位出国深造,大都有了较好的出路。这些学生的确在综合能力方面得到了较大的提高,比如,有位学生的毕设任务是安排他参加工程设计项目,他在短短的几十天里,就能深入项目的底层,找到了半年多的时间里一直困惑我们的故障隐患,现已成为我们的项目骨干。
综合素质不仅体现在疑难、紧急问题的处理,而且在一些小事和待人接物的作风上也能映射出来。能否主动和善地同他人交流;遇到疑难问题时,分析、解决问题的方法是否得当;从大事能上手,小事会处理到具有预见性、有组织性的处理问题的方式,都是我们应在大学生培养中应充分重视的因素。
在2006年我在大三“硬件综合实践”的选修课中,就发现了一位对新技术和动手实践非常感兴趣的同学,他不仅对课程实验平台着迷,而且能执着地完成我分配给他的每一个综合性和研究性实验,最后,就以他自己创意的系统实验取得了本课程优秀的成绩。之后又因他的兴趣,不仅承担了我每次课程的辅导助教,而且组队参加了当年的北京市电子设计大赛和全国嵌入式系统设计大赛,均取得了三等奖的名次。现在他已获得保研资格,利用毕设机会参加全国NOKIA 和INTEL 杯的大赛,应该会有不俗的成绩。像这样的研究生入学起点,我们哪个导师会不喜欢呢! 所以,建议学校、学院要将这种培养学生的模式经验认真总结一下,使我们今后培养出更多的人才!
参考文献
[1]沈海澜,陈志刚.由就业现状谈IT 类专业学生实践能力的培养[J].计算机教育,2007(19).
依托程序设计竞赛的大学生创新实践教育新思路
李清勇,杨晓晖,于双元
(北京交通大学计算机与信息技术学院,100044)
摘要:在教育部提出的“质量工程”体系中,将理论与实践有机结合,有效推进创新型人才培养是新时期信息技术相关领域教育面临的新课题。本文根据作者近年来在ACM 国际大学生程序设计竞赛组织和培养方面的经验,结合北京交通大学“大学生创新实践”教育的实施经验,探讨了程序设计竞赛对于推进大学生创新实践教育的重要意义,总结了程序设计竞赛的有效组织机制和新型教学模式,为大学生创新实践教育提供了新思路。
关键词:ACM 国际大学生程序设计竞赛 质量工程 创新实践教育
一、引言
当前,大学生创新实践教育在全国各高校正蓬勃展开,这是社会需求对高等教育提出的新课题,是科学技术高速发展的必然结果。目前大学生中普遍存在被动接受知识能力较强,但是主动学习能力、创新能力、实践动手能力比较弱的现象。多年的教育实践成果表明,学科竞赛是激励学生树立创新意识,提高动手能力的有效途径。近年来,各高校越来越重视学科竞赛在教学改革实践中的重要性,分别组织和参加了诸如程序设计竞赛、数学建模竞赛、电子设计大赛和机器人设计大赛等多项学科竞赛,并在调整教学课程体系、培养科研创新型人才上取得了显着成效。结合大学生创新实践教育的要求,北京交通大学多年来一直不遗余力地培养和组织学生参加ACM 国际大学生程序设计竞赛,不仅在2008年晋级全球总决赛,取得了优异的比赛成绩,而且在创新型人才培养方面也取得了较为显着的效果。本文以大学生创新实践教育为目标,以程序设计竞赛为平台,探讨了程序设计竞赛在信息领域相关专业创新实践教育中的重要意义,探索了程序设计竞赛的有效管理机制和教学模式等相关问题。
二、ACM 国际大学生程序设计竞赛简介
由美国计算机协会(Association for ComPuting Machinery,ACM)于1977年发起并组织的ACM 国际大学生程序设计竞赛(ACM International Collegiate Programming Contest,ACMICPC)是世界上历史最悠久、规模最大、影响最深远的全球性程序设计竞赛,其基本宗旨是为高校的大学生提供一个展示自己在计算机编程解题方面才能的机会,并为信息学科的发展不断注入新的活力。ACM-ICPC 的比赛方式有其独到的特点:采取3人一组共用一台计算机在连续5小时内求解若干道难题。因此,此项比赛不仅能培养参赛选手的创造力和程序开发过程中的创新思维,而且对于选手的团队合作精神和压力承受能力有非常高的要求。
这项每年一届的赛事吸引了世界上几乎所有知名的高等学府。在2007年的ACM-ICPC赛事中,来自6大洲83个国家1813所大学的6700支队伍参加了各个阶段的比赛。我校自2004年参加第29届ACM 国际大学生程序设计竞赛以来,逐步摸索,形成了一套与程序设计竞赛和创新实践教育相关的机制,并取得显着成效,尤其是去年取得了重大的突破,获得一枚金牌、一枚银牌、一枚铜牌,而且晋级全球总决赛(中国内地共14所大学晋级全球总决赛)。
三、开展程序设计竞赛,培养创新实践能力
(一)程序设计竞赛对大学生创新实践教育的重要意义程序设计竞赛除了在计算机程序设计教学方面具有深远的意义,同时也是一个很好的教学和教育平台。程序设计竞赛体现了创新实践教育的方方面面,通过它可以让学生将理论与实践紧密地结合起来,提高大学生的动手能力、创造能力和综合素质。
1.培养大学生创新能力
程序设计竞赛是综合运用计算机和其他学科知识的竞赛。竞赛试题从现实生活中抽象出来,涉及数据结构、人工智能、组合数学、计算几何、算法复杂性等多学科领域的理论和方法。竞赛试题往往包含对不同书本知识的高度综合与凝练,有些题目更是极具挑战性的世界难题,需要灵活运用多门学科知识,在已有工作基础上进行创新思维和求解。程序设计竞赛是对学生综合素质特别是创新能力的激励和培养。
2.培养大学生动手能力
程序设计竞赛是大学生(尤其是信息技术相关专业学生)动手能力培养的一个理想平台。参加程序设计竞赛的学生都是以极大的兴趣和爱好自觉参加,他们主动查阅各类资料,自主学习相关领域的知识。在训练过程中他们需要综合运用多门学科知识并且编写程序求解上千道难题,极大地提高了自己的问题分析能力和编程动手能力。比如在暑假集训中,每个学生平均需要练习500道题,编写程序代码超过10000行。这对于大学生动手能力的提高具有非常重要的作用。
程序设计竞赛题目由于无固定解题模式,几百条苛刻的测试数据使得失误在所难免,选手需要不断修改错误、完善程序。这个过程可以让学生体会科学研究的复杂性和严谨性,培养其科学研究的实践能力。
3.培养大学生团队协作能力
程序设计竞赛以组队形式参加,3个人一组共用一台计算机在5小时内和其他参赛队伍同台竞技。这种在有限时间、有限资源下的比赛需要3人分工合作、积极配合,把学生自身的个性发展和团队合作攻关有机结合。可以说,程序设计竞赛是对大学生团队协作能力的一种有效锻炼途径。
(二)程序设计竞赛的管理机制和教学模式
学科竞赛不属于常规教学范围,是学生自愿参加,有组织的教学活动。合理组织“赛课结合”的第二课堂教学是学科竞赛顺利开展的有效途径。由于第二课堂教学的特殊性,对于学校的教学管理和教师的教学方法提出了新的要求。
1.建立有效的程序设计竞赛管理机制
程序设计竞赛和创新实践教育的顺利开展离不开一套完善的管理机制。其中软/硬件教学环境的建设,高素质人才的选拔,以及配套指导教师队伍的建设等环节是程序设计竞赛管理的关键和重点。
(1)建立创新实践实验室、制订竞赛激励机制,为大学生创新实践教育提供良好环境努力创建以学科竞赛为中心的大学生创新实践实验室(以下简称实验室),让实验室成为学生独立思考、自主学习、深入交流的场所。参加程序设计竞赛的学生一般是计算机算法与程序设计方面的佼佼者,通过集训和参赛前后的接触,这些学生构成了志趣一致的“智力群体”。他们需要一个空间进行相互交流和切磋,形成一种相互竞争、相互学习的氛围。
同时,实验室优越的软件和硬件环境也会吸引着越来越多的学生参与到这种创新实践活动中。
另外,我们还要根据各学科特点,制订一整套相对合理和完整的竞赛激励措施和奖励制度,拟订详细的培训计划,形成良好的竞赛运转机制。为鼓励学生积极参与到程序设计竞赛中,我们应将竞赛活动成绩与学生日常综合测评、创新学分认定等结合起来,并给予相应的物质奖励,使参赛者能集中精力投入到竞赛中去。
(2)开设第二课堂教学、选拔优秀高素质人才,为大学生创新实践教育提供源泉和动力
程序设计竞赛的教学活动因为其授课对象来自不同专业,同时他们都具有特定的兴趣和较好的基础,我们应该因材施教,开设第二课堂。教学内容以新领域新知识为主体,开阔学生的眼界;教学方法以教师授课为辅,学生自学、互学为主。为了避免对正常教学的影响,第二课堂开设时间以周末和寒暑假期为宜,让学有余力的学生在第二课堂中得到提高。
选拔优秀人才是搞好程序设计竞赛的关键。程序设计竞赛要早做准备、早选苗子,要分阶段进行梯队建设。在培养兴趣期,可面向全校低年级理工类学生开设第二课堂教学,吸引一批有开拓精神、创新能力强、综合素质好的学生参加到程序设计活动中。在集中培训期,可在全校范围内选拔精通计算机知识、具备团队协作精神的高年级学生组成竞赛集训队伍,根据各自性格上的互异性,取长补短,在彼此切磋的过程中形成参赛队伍,在竞赛中努力发挥优势,争取最佳成绩。
(3)组建一支业务过硬、甘于奉献的指导教师队伍,为大学生创新实践教育提供智力支持
良好的指导教师队伍是搞好学科竞赛的关键,要将具有扎实专业功底和过硬数学知识、吃苦耐劳、具有奉献精神的教师吸收到指导教师队伍中。由于程序设计涉及多个学科领域的知识,需利用各专业优势联合组建相对固定的指导教师队伍。学校要把学科竞赛培训工作纳入到教学整体规划和管理中,要选派青年教师参加各类学科竞赛辅导教师培训活动,及时为竞赛指导教师队伍补充新鲜血液。同时,要承认指导教师的教学成果,支持教学方法改革,在教学评优、岗位聘任、职称晋升等工作中给予重视,让更多的高学历、高职称、高水平教师加入到学科竞赛指导教师队伍中来。
2.探索新型的程序设计竞赛教学模式
程序设计竞赛不属于常规教学范围,合理组织“赛课结合”的第二课堂教学是程序设计竞赛教学的有效模式。由于程序设计竞赛教学的特殊性,要求教师在教学上改变原有的教学方法,用先进的教学理念培养具有创新能力的人才,让学生在师生互动过程中构建自身的知识结构,并成为教学的主体。
(1)设计科学的第二课堂教学体系
针对程序设计竞赛的第二课堂教学是保证程序设计竞赛健康发展的关键。第二课堂教学体系在教学时间和教学内容上具有其特殊的要求。
第二课堂教学从时间上可以分为两种类型:周末普及培训和假期集中培训。周末普及培训教学安排在周末;授课对象比较广,任何对程序设计竞赛感兴趣的学生都可以参与;授课内容以基础理论和基本知识为主,同时兼顾培养学生的实践能力。假期集中培训安排在寒暑假;授课对象比较专一,只有满足程序设计竞赛要求的特殊群体才可以参加;授课教师会针对集训学生的特点进行因材施教,着重培养学生的创新能力、动手能力及团队合作能力。
第二课堂教学从内容上也可以分为两种类型:基础训练和专题训练。基础训练阶段,教师根据程序设计竞赛要求讲解计算机、数学等相关知识,适当拓宽学生知识面,教学形式以自学和课堂辅导为主;专题训练阶段,教师按不同专题进行算法设计和实践分类指导,教学形式以解题报告和小组讨论为主。