对我而言,上海交大ACM班的故事是一个关于计算、图灵和实习生的故事,当然也是一个关于学生和老师的故事。
尽管叫ACM班,却与ACM这个学会并无任何关系,但和一个叫俞勇的老师有关。在俞勇老师面前,ACM班前面的ACM显得没有出处,叫俞勇班更合适。这个班创办于2002年,一位老师和一群学生由此开始了一段20年不平凡的旅程。
ACM是美国计算机学会(Association of Computing Machinery)的缩写。ACM班尽管和它没有直接联系,但还是非常值说一说。ACM于1947年9月在纽约的哥伦比亚大学成立,当时的全称是东部计算机学会,1948年1月才把东部去掉。成立学会的目的当时表达得非常清楚:加速用于计算、推理和其他信息处理新型机器的科学、开发、建造和应用进程(to advance the science, development, construction, and application of the new machinery for computing, reasoning, and other handling of information)。从中可以看出这种新型机器或机器装置虽然很重要但是什么还未完全成型,在那个时代与computing machinery一起用的还有digital calculating machinery (相对于analog computing machinery)以及electronic computing machinery(相对于mechanical computation)。
这台机器自然也是众多学者关注的焦点。图灵(A.M.Turing)于1950在 Mind:A Quarterly Review Of Psychology And Philosophy上发表了Computing Machinery and Intelligence 一文,专门讨论了这台新型机器与智能的关系。尽管在论文的标题中用了computing machinery一词,但在论文的正文里图灵用到了数字计算机(digital computer)一词。
在计算机大行其道的今天,这个简短而又重要的过程很容易被人忽视。1966年,ACM设立了图灵奖,主要授予在计算机技术领域做出突出贡献并产生长远而重要影响的个人。这一切现在看来都显得很自然。
与ACM班直接相关的却是ACM国际大学生程序设计竞赛(ACM International Collegiate Programming Contest),简称ACM-ICPC或ICPC,大家更愿意直接叫ACM比赛,这导致了ICPC就没有像ACM这三个字母那样被大家熟悉。参加竞赛的同学有时会很自豪称自己为ACMer,当然ACM比赛必须组队参加而不是个人,这与国际信息学奥林匹克竞赛(IOI)非常不同。
2000年,上海交大组队参加ACM比赛,得第九名,国内也有其他高校获得了更好的名次。但在2002年3月,上海交大ACM队获得了ACM-ICPC比赛的首个冠军,打破亚洲ICPC零冠军的历史。6月上海交大批准成立ACM班,当年9月ACM班首届学生入学。
ACM班、ACM队和Apex实验室(成立于1996年)是我和上海交大的全部交集,这三个A性质非常不同,但都是由俞勇老师一手操办的,以至于后来有了AAA校友会这一说法。大概是在2004年前后,当时我还在微软亚洲研究院工作,我的部门有一位来自Apex实验室的实习生,正在攻读博士学位,我也就自然结识了俞勇老师。没想到的是我与ACM班的关系也是开始于实习(internship)。
让实习在国内成为学生研究经历的重要组成部分,微软亚洲研究院(MSRA)功不可没。对国内的大部分学生而言,当时具备中国最令人神往的实习生群体非MSRA莫属。得益于俞勇老师开放的学生培养理念,我安排ACM班的本科学生在暑期成建制地到微软亚洲研究院实习,在当时非常不多见,现在看来对学生的帮助是很大的,也算是开了先河。上海交大ACM班的同学们反复提到在MSRA的实习是他们求学经历中很重要的一部分。
2005年,有ACM队的同学(包括冠军在内)加入我的部门,来到微软亚洲研究院工作。他们和我详细讲述了上海交大首个ACM比赛冠军队是如何成长为一个真正的团队。这是我听到过的最好的有关团队的故事,而且一个来自学生团队的故事,其精彩程度远超过很多商业教科书里的故事。
历史也总有它的不经意之处。微软亚洲研究院在1999年第一次举办“二十一世纪的计算”学术研讨会,有意识地、比较系统地把图灵奖获得者介绍给了国内的学术界。当年就有图灵奖获得者Butler Lampson和CMU的Raj Reddy教授参加了活动;Jim Gray参加了2000年的活动,不幸的是,2007年1月,喜爱帆船航海的Jim Gray独自驾船从旧金山出发,后在海上失踪。他生前的最后一次演讲是关于“第四范式”,专门讨论了密集数据驱动的科学发现。2001年另一位图灵奖获得者John Hopcroft博士也参加了当年的“二十一世纪的计算”学术研讨会,John后来(大约2011年)成了ACM班所在交大致远学院的教授。2002年那年的“二十一世纪的计算”请来的是姚期智(Andrew Yao)先生,无独有偶姚先生于2005年在清华创办了“软件科学实验班”,简称姚班。巧合的是在姚班中ACMer也扮演着极其重要的作用。
这一切看起来都是巧合,却是非常有意义的巧合,就像上海交大ACM班的一位同学后来创办一家名叫“第四范式”公司。只能说这是一个时代的巧合。2021年上海交通大学致远学院成立了“约翰·霍普克罗夫特班”,简称“John班”,在这之前的2017年北京大学成立了“图灵班”。从中可以看得出上海交大ACM班的创办是有远见的,也非常有借鉴意义。
我也是ACM班这种创新培养模式的受益者,无论我在微软亚洲研究院、还是创办阿里云,直到现在探索用公益的方式进行科技创新,总有来自ACM班、ACM队或Apex实验室的同学人和我在一起,这也是我人生的经历中非常独特的部分。在创办阿里云时,同时有来自ACM班、ACM队以及Apex实验室和我一起工作,很有可能就是受了他们的影响,当时我写下了“梦想永在,代码成就”,后来一位同事完成后半句:“梦想永在凌云意意气风华,代码成就万事基积沙填海”,这句话依旧表达了我今天的状态。
20年很久,但也很短。ACM班的20年反映了一个时代的变化,ACM班一定还会有以后另一个20年,一定会反映另一个时代的变化。
向一位老师和一群学生致敬!
阿里云创始人
前微软亚洲研究院常务副院长
中国工程院院士