文 | 恩宁
这是一个令毕业生感到“寒冷”的夏天。2022年,全国共有1076万高校毕业生,为历年最多,他们面临严峻的就业形势。
在这样的背景下,深圳大学计算机与软件学院的腾班,是一个特殊的班级。它在这个毕业季有傲人的成绩——在距离毕业还有半年时,就有九成的学生确定了毕业去向。全班28人,一半学生直接就业,进入腾讯、字节跳动等知名企业;另一半人继续深造,或是保送国内名校,或是全奖去国外读博。
作为全国第一批人工智能实验班、校企联合办学的结果,腾班招收全校最高分的学生,给他们上的是最“疼”最苦的课,真正把课堂与产业和现实结合,最后当然也结出了很好的果,甚至可以说,是培养出了一批顶尖的学生——他们拿到过美国大学生数学建模大赛的特等奖提名,拿到过国际大学生程序设计竞赛的银牌,有学生大二就已经在SCI期刊上发表论文。
这也是一个关于一群教育者如何从无到有,在纠结和试错中,教育一群计算机少年的故事。这群“00后”,又如何在这段未知的旅程中,探索并找到自我。
在很多人印象里,这是一次艰难的选拔。
2019年夏初,大一学年快要结束了,某个午后,深圳大学计算机与软件学院的两间机房里坐得满满当当。五六十位同学,正对着电脑答题,都是算法题,所有人都在低头沉思,敲代码。
一个细节,就可以看出这次题目有多难——这个答题平台可以看到所有答题者的解题进度,原来考试,一般十分钟后就会看到有人已经搞定了第一题。但这次,半小时过去了,还有人一题都没解出来。通过了笔试,还有一轮面试。面试官来自学校和产业界。除了计算机基础知识,面试官们还重点考察了他们的反应能力、思维、创造力,以及对人工智能的兴趣和热情——这将是一段枯燥的旅程,需要兴趣支撑。
两轮考试后,20多位入选的同学一起组成了这个深圳大学历史上从未有过的班级——腾班。所谓“腾班”,全名是腾讯云人工智能特色班,由深圳大学计算机与软件学院和腾讯协同创办。创办这个班级的目的,是与时代共振,培养人工智能人才。
腾班的产生,来自时代的召唤。在腾班创办的2019年,有一个不可忽视的背景——人工智能看似蓬勃发展,但其实人才相当紧缺。一个最主要的原因是,产学研之间有落差甚至脱离。一位毕业于上海交大、研究人工智能,后来入职了腾讯的工程师告诉我们,在高校和在产业界,大家本质要解决的问题并不一致:学院的核心产出是学术研究成果,很多时候大家会追求一个模型的准确率能不能达到99.9%,而并不关注它是否对现实产生影响。但在现实生活中,没有放之四海而皆准的算法,在任何一个场景,它都需要修改,需要因地制宜。从校园到产业,每个人都要经过一段艰难的学习期。弥合这种缝隙,是他们的必修课。
在产业这一侧,也有很深的痛感。腾讯教育校企合作华南区的负责人王才荣记得,在当时,像云计算、人工智能、大数据、信息安全、区块链这些业务,有数百万的人才缺口。公司从高校招的毕业生,在大学所学和工作的真实需求之间有很大的鸿沟,“他们可能要花一年时间,才能慢慢进入角色”。
而他们所在的深圳,这座发展速度最快、也最敏锐的城市,当时也已经感受到这种缝隙,开始大力推进产学研的融合。一个最典型的例子是,在深圳粤海街道,所谓的“宇宙中心”深圳建了一个产学研基地,里面入驻了清华、北大、南大、华科、港科大等67所知名高校。而深圳大学在2018年已和腾讯共建了腾讯云人工智能学院,打下了合作的基础。
到了9月末,一路过关斩将的同学们,在新班级相遇了。
第一届腾班第一次开班会的时候,一切都是全新的。学生们不知道,在他们彼此见面之前,有漫长的筹备与思索,建造与推翻。
2018年11月,深圳大学腾讯云人工智能学院揭牌,随后,学院决定办一个人工智能实验班。副教授冯禹洪接下了为这个班写培养方案的任务。从2018年12月到2019年5月,她整整花了五个月,才和同事们想得稍微清楚了一些——他们到底要办一个怎样的班级,教什么知识,培养怎样的人。
从无到有搭建一个方案并非易事。冯禹洪几乎看遍了国内外高校人工智能专业的培养方案,每两周跟教务团队讨论一次,用两个月完成了初稿。但递交上去之后,院长们提出了意见:腾班的培养方案,要有本院的特色,而非千篇一律。比如,AI里的哪个部分,学院更擅长、更有特点?这份培养方案必须向所有人回答一些真问题:既然已经有了计算机专业,有了软件工程专业,为什么还要办人工智能班,它能提供什么不同的东西?
冯禹洪的设想里,在前两年,它首先肯定要提供所有计算机专业学生都会学习的基础课程,比如系统设计、程序设计、数据结构。另一块,就是腾班的特色课,包括脑与认知科学、最优化方法、人工智能导论、机器学习、自然语言处理、计算机视觉等,贯穿人工智能理论、技术和应用,这是一个全面的知识体系。
同样重要的还有实践,这一点就由腾讯来补足——在6门人工智能的课程里,都有专门的腾讯工程师,针对课程需求给学生们开发企业案例、提供实践实操的云环境。另外,他们还共建深圳大学—腾讯公司大学生校外实践教学基地,除了通常的实习岗位外,还为腾班学生提供特定的实习岗位、AI Lab 冬令营、智慧养鹅等多种实践实习形式,都可以提升学生的实践能力和就业竞争力。
13页的人才培养方案,修改了十余稿,无数次会议讨论,业界的深度参与,终稿才最后落定。要教授给学生的6门特色课程全是新的,课程大纲、实验大纲、课件等都需要从0建设且持续优化。第一届腾班的第一学期,所有的老师和学生,都是艰难度过的。
在学院里,腾班是特别的存在,它有个外号叫“疼班”。所谓疼,指的是课难,“炼狱模式”,考核严格,学生压力大。疼还指他们也受到了很多疼爱。
一个典型的例子是,他们大二有门课叫《机器学习》,这门课学的是最前沿的科学,任课老师要求读完50篇英文论文,最后独立构思一篇相关的算法论文,作为学习成果。
这个任务有多难?本科二年级学生读论文的经验本就不足,再加上论文都是英文,有相当多生词。一位老师说,很多研究生第一个半年也未必能读这么多论文。学生们也说,读第一篇的时候几乎完全看不懂,要从第一句话开始翻译,进度很慢。有时候从早到晚,一周也看不完一篇。
当时正是疫情之初,远程授课,阻隔了交流,学生的压力有了一次大爆发——有学生找老师哭诉,甚至有人想要退班。大家吐槽说,这门课是“鸡泣学习”。
为此,学院专门召开了一次三个半小时的班会,参会的有11位老师,包括当时的教学副院长、人工智能系正副主任、视觉所所长等,还有腾讯的工程师和产品经理。大家跟学生们解释培养方案、课程设置,听学生的“吐槽”。腾讯云的黄成琳经理把腾讯作为例子,给大家介绍了行业、产业对人工智能人才的需求。这个会开完,学生们感觉:“好像打了鸡血,充满了希望。”
后来,时间一长,大家都慢慢掌握了读论文的方法,老师也感觉到了学生们的改变:“学生讲东西讲得真好,那种‘炼狱模式’,提升是看得见的。”期末,学生们给这门课打了很高的评价分。
这样一个看重实践的专业,学生的动手操作能力、与业界的接触同样重要。曾在微信工作、后来在腾讯公司部分控股的微众银行工作的工程师邹雨晗,从2019年开始,带了三届腾班,为他们上了四年的实验课。他想为学生们上课的初衷,是在带实习生的过程中,发现与自己刚上大学时相比,现在大学有了更多应用类的课程,方便学生找工作,但那些非常基础的、可以让学生有沉淀、厚积薄发的课程,反而变少了。他想做点什么,改变这种现状。
腾班分给他的课是数据结构实验指导。数据结构是计算机领域最基础的课程,在大二开设。邹雨晗打了个比方,“就像数学的加减乘除”。数据结构描述的是一个数据或信息怎么在计算机里存储,用什么方式能让它存储更快,读取的方式怎么做到更优。如果这门课学不好,之后所有的编程工作都会受限。但如果学得好,它将帮学生到达一个很高的高度。
出身业界,邹雨晗带来的是全然不同的实验和作业设计与指导方式——以他工作多年中遇到的典型项目实践案例为蓝本,凝练出许多个实验和大作业项目,如数据库、检索系统、微信聊天记录存储等设计与编程实现,学生根据兴趣按要求自选,然后用12周的实验课时间实现它。在这个过程里,学生们会经历一位真正的程序员在工作中经历的全程——比如做存储系统,学生要在12周的时间里,完成数个版本,每周迭代、优化。上课时,每个人都要上台去做code review(代码评审),做介绍,也接受质疑。这就是在公司里写代码的习惯——所有人评审所有人的代码,看有没有问题,有没有改进空间。
这门课不容易,全班28人,一般只有10个人能坚持下来,最后真的能完成项目的,可能只有两三位。但那些真正坚持下来、从中找到了乐趣的学生,很多都在毕业季找到了理想的工作,成了真正的工程师。
这样一门精深的学科,一个本科的班级到底能学到多少东西?
2018级腾班的毕业生詹卓欣,可能是很有发言权的一位——在毕业前5个月,他拿到了加拿大计算机专业排名第四的西蒙菲莎大学的全额奖学金博士offer,攻读推荐系统方向。在本科期间,他发表了三篇论文,大二一篇SCI、大三一篇EI、大四一篇SCI。对本科生来说,这是罕见的成绩。
詹卓欣说,他取得的成绩,得益于腾班的培养机制。他大二就加入了学校老师的实验室,开始做研究(他也并非孤例,有许多腾班学生在大二就加入了实验室)。做科研的过程里,他也受益于腾班的教学模式:大量的英文论文阅读训练,专门的人工智能课程,再加上大量实训……这是一个有机循环,完成一篇论文所需要的过程:了解原理和模型、编写代码、验证、英文写作,他在课堂上都已经掌握了。腾班为他打下了很好的基础。
班长莫子泓告诉我们,在四年里,他经历过心理上的落差。在真正开始学习前,他对人工智能的印象来自炫酷的三维动画,但学了一段时间之后他意识到,“人工智能靠的是一行行的代码,靠的是数学的推导公式,实际情况要比想象的枯燥得多”。但在高强度的学习里,他觉得自己同样获得了一些很珍贵的东西,“比如压力的排解、自我心理的调整、与同学之间合作互助的能力”。这或许会影响他终身,同时也让他在这个艰难的毕业季,拿到了银行的offer。
陈书涵今年入职了腾讯,成为一名开发工程师。入职之前,陈书涵在腾讯实习了一年,从校园到职场,他适应得很好。他也明显意识到,腾班的课程,尤其是邹雨晗的数据结构课,给了他很深的影响。他在大二的数据结构课上,发现了做开发、写代码的乐趣,之后选定了人生方向,一直在做自己喜欢的事。还有什么比一个人在年轻的时候就找到自己的人生追求更美妙?
第一届腾班的影响,也是一种涟漪,逐渐扩散到了更宽广的地方去。在深大之外,腾班的这种合作模式,也已经在全国多地生根发芽。目前已经在广东工业大学、深圳技术大学有了相似的班级存在。甚至一些高职院校也已经有了量身定制的“腾飞班”。在几年后,或许成百上千的学子,可以在这样的班级里,探索和发展自我,找到某种确定的未来。