创新一代从这里诞生
接到IBM东京基础研究所观摩第31届ACM国际大学生程序设计大赛总决赛的观摩邀请时,第一感受是中国大学ACM国际大学生程序设计大赛参赛队伍实力强劲。在88支进入总决赛的全球各地队伍中,中国(含台湾、香港地区)拥有15支队伍。而在与ACM国际大学生程序设计大赛三天的亲密接触中,最大的体会是,创新型的程序设计人才正从这里走向世界。
创新压力与快感
近年来,ACM国际大学生程序设计大赛在试题设置上越来越紧扣现实生活,此次年度总决赛的试题,第一道就是关于血型基因组合方面的问题,第二道则是关于港口货船装运如何实现最优化的问题。这些题目让大学生在学校学习基础理论知识之后,获得尝试解决实际生活问题的机会,并锻炼他们实际动手能力。
正如一位来自麻省理工学院的大赛选手所说,ACM国际大学生程序设计大赛对于众多大学生来讲,具备着无穷的魔力,为了一道题的破解,许多学生甚至连做梦都在研究数据结构、算法、组合数学和数论等等。通过解决实际问题体验编程的乐趣。
其实,动手解决ACM设置的实际生活中试题,对于生活在校园内的大学生来讲,是一种很好提前面对社会工程项目的锻炼机会。将ACM率先引入中国的上海大学周维民教授表示,真是由于看到了这点,他才积极地将ACM国际大学生程序设计大赛引入中国。他认为参加ACM大赛对于自己的学生有很多创新意义上挑战。
在比赛中,ACM不仅要求学生具备完成指定任务的程序,还要求学生在完成程序功能的基础之上保证程序的运行效率与空间占用率。也就是说,参见竞赛的学生并不是完成解决问题的程序设计就行了,而且要保证程序的短小精悍,在最短时间内运算出结果。
一位浙江大学ACM在线测试组成员在参加竞赛试题测试时,最深体会就是学生必须时时刻刻都去考虑如何去最大限度的优化,改善其程序结构,以期达到用最小的空间,最优的算法实现程序的功能。
这次在东京举办的ACM国际大学生程序设计大赛总决赛上,获得总成绩第二名的清华大学与获得第一名的华沙大学,在解题数量上仅差一道题,而且清华大学队员们也已经寻找到另外一道题的解决方案,并实现程序设计。但是在提交程序时,先后三次因为程序运行无法在组委会规定时间之内完成,使他们与总冠军失之交臂。
由此可见,ACM国际大学生程序设计大赛对学生的挑战意义是前所未有的。来自国防科学技术大学的参赛选手张钊宁坦言,参加ACM国际大学生程序设计大赛的最重要原因就来源于,该项赛事能给他带来更多的创新挑战。他表示,如果他花费同样精力在国际数学建模大赛上,或许通过取得国际数学建模大赛的名次,他这位大四的学生已经可以保送研究生。但他选择了ACM和考研。
致力于让大学生能通过计算机充分展示自己分析问题和解决问题能力的ACM国际大学生程序设计大赛,正在让具备创新精神的学生竞赛压力下脱颖而出,源源不断地“制造出”创新的一代。
培养开源精神
作为ACM国际大学生程序设计大赛总决赛的赞助商,IBM为竞赛队伍提供了Eclipse开源开发环境,让学生在该环境下实现C/C++或Java程序设计。对此,来自中山大学的队员张钊宁兴奋地告诉记者,通过参加ACM国际大学生程序设计大赛,让他由衷地体会到了在Eclipse环境下,实现Java程序开发的便捷。
张钊宁也表示,在Eclipse环境下开发Java程序,比以前他在其它非开源环境下开发大幅缩短了开发时间。但是他也表示,由于之前在学校练习时,都是将Eclipse移植到Windows下实施开发。当抵达东京参加总决赛时,他们发现以往在移植的Eclipse下实施程序开发经常出现的Bug,在Linux下的Eclipse环境中开发不翼而飞。而为了考虑以往他们经常碰到的Bug,使他们在设计程序时浪费了一定时间。
正如IBM的一位技术经理所说,开源的Eclipse环境为程序员提供了很好的便捷开发途径。但是由于习惯思维和为真正体验过等原因,许多工程师不以为然,但是越来越多体验过Eclipse的工程师正在有力促进着Eclipse的发展。
在前不久,完全支持SOA的Rational 7.0桌面版发布的当日,Rational大中华区总经理桂荣青也表示,正是由于Eclipse能给工程师带来开发的便捷体验,IBM在花费巨资开发出Eclipse并免费捐赠给开源组织之后,仍然要花费大量人力和物力资助Eclipse。
随着越来越多的大学积极投身ACM国际大学生程序设计大赛,开源环境下的程序设计思想也逐渐在那些具备程序设计天赋的学生中蔓延,开源的精神正在被逐渐培养起来。这也正是ACM所希望看到的,一位ACM官员在接受记采访时如是说。
当然,对于开源精神的培养,仅仅通过国际大学生程序设计大赛显然是不够的。来自上海的复旦大学教务处副处长郑方贤表示,没有参加过国际大学生程序设计大赛的学生仍然甚少有机会接触开源环境程序开发。来自浙江大学的参赛选手也证实了这种说法,他的同学中很少有人接触过Eclipse等开源开发环境。
但是对于开源精神,ACM国际大学生程序设计大赛的贡献不可小瞧。得益于ACM组织的全球性影响,越来越多的内地高校积极组队参与该项赛事。周维民介绍,2006年度国际大学生程序设计大赛期间,先后有800多支内地队伍参与了区域预赛,预计2007年地区赛将有千余支队伍报名参加。
与此同时,更有许多学校积极申办国际大学生程序设计大赛的区域比赛承办权,乃至总决赛的承办权。在今年的总决赛现场,哈尔滨工程大学校长甚至亲自率队前来东京向ACM提交2008年国际大学生程序设计大赛总决赛的承办申请。
在高校积极参与与带动下,开源精神将不断地在以大学生为代表的这批新生力量中开花,并
在不久将来结果。
谁来策动技术
对于ACM国际大学生程序设计大赛总决赛赞助商IBM来讲,每年在此方面的投资。用IBM软件集团官员Margaret Ashida的话来讲,很多人力物力的投资是无法用准确的金钱数量来衡量的。国防科技大学的领队老师向记者这样形容IBM的热情。国防科技大学竞赛队伍在东京的吃住,甚至连迪斯尼乐园观光的费用IBM都提供了。而此次参加总决赛的有来自全球各地88支队伍。
对此,国内许多参赛队伍的教练认为,国际大学生程序设计大赛对于IBM来说意义深远,甚至类似于IBM在为自己“选秀”,期望通过竞赛来发掘优秀人才,并为IBM所用。刚从加州访问归来的北京航空航天大学软件学院宋友博士却认为,对于许多美国公司而言,从公司的营收中分离出一部分资金投资于推动社会技术进步已成为一个传统。
在面对广州的ACM国际大学生程序设计大赛中山大学队总教练郭嵩山提及的,很多学生在ACM国际大学生程序设计大赛中锻炼出非凡的能力,甚至走向成功。但当他们毕业时却经常选择Google、微软等公司而非IBM时。IBM负责研究的研究的高级副总裁Paul M.Horn告诉记者,IBM最看重的一定是通过国际大学生程序设计大赛真正推动技术的进步与创新,而非简单地得到一些为己所用的人才。
负责IBM亚太去高校事务的Margo Robertson也表示,对于一些学生而言,可能Google宽松而随意的研发氛围更适合于他们,因此IBM尊重他们的选择。但是作为一家IT领域重要公司,积极通过与高校合作,培养未来技术领域的创新人才,是IBM一贯的宗旨。
其实,不难从很多IBM赞助的活动中看到Paul M.Horn所说的IBM的理念。在2006年中国杰出数据库工程师评选过程中,IBM最看重的是通过评选在业界真正寻找到一批优秀的数据库工程师,通过分享他们的项目经验与创新技术推动中国数据库事业的发展。在获奖工程师中不乏精通Oracle数据库的优秀数据库工程师身影。
同样,在2006年“IBM杯”SOA校园大赛中,帮助学生培养实际项目应用SOA实施开发的能力,是大赛的唯一宗旨。IBM SOA中国设计中心技术主管毛新生曾表示,IBM期望通过提前培养学生的这种能力,有力推动未来SOA领域技术的发展。
在东京,来自美国麻省理工学院的一名参赛选手告诉记者,他们有很多同学非常热衷于ACM国际大学生程序设计大赛,认为此项赛事是对个人、团队等各方面能力的极大锻炼。但在整个参与竞赛过程中,他们从未觉得需要为活动赞助方IBM去做什么。在他们看来IBM赞助这样的活动理所当然,因为技术发展需要IBM这样的公司来推动。
技术应用在日本
在日本,二维码已经成为日本产品上不可或缺的东西,用IBM东京基础研究所所长丸山宏的话来讲,日本人的生活已经离不开二维码。
面对无人值守的日本邮政局,以及局内冷冰冰的自动柜员机,在让发展中国家游客大看眼界的同时,也让想投寄包裹的各位游客无可适从。
日本的许多交通收费场所,都使用了RFID技术。从机场到酒店,巴士经过所有收费站时,只需降低一下速度,“嘀”的一声后便可边扬长而去。
链 接
ACM国际大学生程序设计竞赛
ACM国际大学生程序设计大赛(ACM International Collegiate Programming Contest – ACM-ICPC)由美国计算机协会(Association for Computer Machinery)主办,一项旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛。经过近 30 多年的发展,ACM国际大学生程序设计竞赛已经发展成为最具影响力的大学生计算机竞赛。赛事总决赛目前由IBM公司赞助。
大赛的历史可以上溯到 1970年,当时在美国德克萨斯 A&M大学举办了首届比赛。当时的主办方是 the Alpha Chapter of the UPE Computer Science Honor Society。作为一种全新的发现和培养计算机科学顶尖学生的方式,竞赛很快得到美国和加拿大各大学的积极响应。1977 年,在ACM计算机科学会议期间举办了首次总决赛,并演变成为目前的一年一届的多国参与的国际性比赛。迄今已经举办了31届。
最初几届比赛的参赛队伍主要来自美国和加拿大,后来逐渐发展成为一项世界范围内的竞赛。特别是自1997年IBM开始赞助赛事之后,赛事规模增长迅速。到2004年,已有840所大学的4109支队伍并以每年10~20%的速度在增长。
1980年,ACM将竞赛的总部设在位于美国德克萨斯州的贝勒大学。在赛事的早期,冠军多为美国和加拿大的大学获得。来自中国的上海交通大学代表队则在2002年美国夏威夷第26届和2005年上海举行的第29届全球总决赛上两夺冠军。这也是目前为止亚洲大学在该竞赛上取得的最好成绩。赛事的竞争格局已经由最初的北美大学一枝独秀演变成目前的亚欧对抗的局面。