关于本书

《我在牛津读计算机科学——知乎刘洋作品》/刘洋

出品人 周源

策划编辑  张瑶

设计 刘奕含

联系我们 publish@zhihu.com

本电子书版权为北京智者天下科技有限公司所有，未经书面授权，不得在任何地区以任何方式反编译或节录本书内容。

ZHI-BN:8-0111-0000170531-1

DNA-BN：ECFD-N000000670111

最后修订：2017 年 05 月 31 日

出版：浙江出版集团数字传媒有限公司

浙江 杭州 体育场路 347 号

互联网出版许可证：新出网证（浙）字 10 号

电子邮箱： cb@bookdna.cn

网址： www.bookdna.cn  

本书电子版如有错讹，祈识者指正，以便新版修订。

Zhejiang Publishing United Group Media CO., LTD, 2013

No.347 Tiyuchang Road, Hangzhou 310006 P.R.C.

service@bookdna.net

www.bookdna.net

「一小时」电子书出版序

知乎创始人 周源

感谢你阅读知乎推出的「一小时」系列电子书。

「一小时」系列是什么？

这是一系列短小精炼的电子书。我们邀请了知乎各专业领域的知友在书中分享他们的知识、经验和见解。如果你足够认真，便可以在一个小时内读完一本书。

这里既有日常经济分析，也有人文历史，既有职场经验，也有生活中的科学。这些作者，都是我们精心为你寻找，在各个领域拥有独到见解的专业人士。而我们出版的每一本书，都会解释一个问题，分享一种思路，展开一个视角。

地铁上，入睡前，在这些细碎的时间里，挤出一小时的时间，静下心，读下去。

你很忙，但知识不慌张。

愿你从「一小时」开始，对这个世界，又多了一分认识。

作者序

你好，我是刘洋。1988 年生人，今年，嗯，马上 29 岁。目前在牛津大学计算机系攻读博士，三年级，国家公派奖学金，研究方向为数据安全及隐私保护。

终于看到了这本书完成的一天，感慨莫名——我一度以为这本书会胎死于我的末期拖延症。

在各位读者老爷阅读正文之前，我还是想借这一亩三分地儿跟大家聊聊，写这本书到底想跟大家交流点什么。

其实我这个人，本身就有点矛盾综合体的意思。

老师、同学和工作伙伴经常用这些词评价我：谦虚，明达，细心，反应快，沉默寡言，待人和善，工作狂。

然而，家人和朋友对我却总是喜欢这么形容：自负，固执，马虎，傻愣愣，刺刺不休，唯我独尊，游戏迷。

这边厢，因为办过一场 Live（知乎 Live：《从国内三本到牛津博士》）的缘故，在知乎我最为人熟知的可能还是：「三本逆袭」「北京大学研究生」「牛津大学在读博士」之类的毒鸡汤标签。

我儿童时代酷爱电子游戏，小学接触电脑后开始丧心病狂地收集和游玩各类单机游戏。后来经历了[玩游戏]→[修改游戏]→[修改得内存溢出]→[研究啥是内存]→[胡搞十六位内存地址]→[走上折腾计算机的不归路]这一系列历程。

2006 年我在山东参加高考，算是接近正常发挥，分数勉强够上个三本院校，一志愿理所当然选择了跟「搞电脑」相关的计算机科学与技术专业。

初入大学乍得自由，一心沉醉于恋爱、社团、学生会活动。大一各种游乐各种挂科，大二痛定思痛边玩边学，大三找准目标决定考研，毕业考入北大，就读软件工程硕士研究生。

北大读研期间无心科研，学习之余不喜研读论文而专注于工程实践：早先意图参加 IBM 主机比赛，后因团队选题磨叽，未遂；为某创业团队担任技术顾问，后因人员四散，未遂；自己挑担子跟朋友和同学创业，遂，然从业三年，未见显著成果，「感觉身体被掏空」。

毕业一年后决定留学，于是开始慢吞吞复习雅思，其间慢吞吞结婚成家，此后慢吞吞提交申请，最终慢吞吞来到牛津。

根据我的个人经历和体会，在这本书中，您预计会看到：

「九十一天考研指南：三本学渣逆袭北大研究生」

「百分之九十的人都不知道：零 paper 申请全奖公派牛津大学博士秘籍」

「不转不是好爹妈：大英帝国留学申请四十八手」

……

然而，读者老爷们，很抱歉，本书并不能提供上述服务。读篇文章看个 Live 就成功神马的，如果别家真有这么神奇的产品，请务必推荐我试试。

虽然大家都知道做成大事没什么捷径，但看到某些个例却还免不了内心悸动，希望真能打探到速成诀窍，这也算人之常情。

就我个人而言，如果真要我在学业方面理出一个支持我慢慢提升的诀窍，那大概就是保持对自己专业的喜爱。

说实话，刚收到知乎「一小时」系列的约稿时，看到要求介绍专业学习的时候我是超级惶恐的。毕竟我的啰唆+拖延症也是小有名气，一篇两万字的稿子可以从去年 11 月硬生生拖到今天（感谢策划编辑 @张瑶 不杀之恩）。久疏战阵后的文笔也是烂得一塌糊涂，不留神就分分钟变成学术写作。到底有没有干货拿得出来，究竟能不能让读者耐着性子读完，在我来看这些都是未知之数。

然而「我在××读××」系列选题的主旨却与我的想法不谋而合，毕竟能在自己感兴趣的方向自由发挥的机会也是不常有的，这大概也是支持我完成书稿的动力之一。

在这本书里，读者老爷们看不到励志故事，看不到考研经验，看不到留学申请秘籍。你即将阅读到的是从我个人角度，对计算机科学（Computer Science, CS）这个专业不完美但尽量客观的分析和描述；是我所了解到的牛津大学在 CS 这个专业上的课程安排和职业发展方向；是我个人在牛津大学学习 CS 专业时的经历和见闻。

希望这本书能帮助将来的硕士生和博士生们了解牛津大学，预估在牛津大学 CS 专业的体验。也希望这本书能帮助即将进入大学的读者了解 CS 专业，为他们选择专业提供更多的信息。另外书中关于牛津大学计算机系本硕博项目的学制、课程安排和录取率信息的介绍，大概也能让这本书成为牛津 CS 的半个申请指南。

拖拖拉拉，时至今日，终于成稿。

还是老话，个人观点仅供参考，勿忘独立思索、独立判断。Enjoy!

第一章：如果你决定要学 CS

从初中到博士，光我自己就被同一个问题纠缠了近百遍：「你不是学电脑的么，我电脑反应好慢，给我修修呗？」

长久以来大众似乎一直对 CS 专业有着各种各样的误解：写代码的、组装电脑的、 安装系统的、打反恐精英的（什么鬼）……

不仅普通大众对 CS 的理解千奇百怪，甚至很多 CS 专业的同学直到本科毕业也无法介绍清楚自己的专业学科，无法找到自己在行业里的准确定位。当然，问题也并不全在于学 CS 的同学们，实在是因为 CS 涵盖的范围广阔得像科尔沁草原，威武雄壮如我一般的套马汉子尚揽不到其中骏马的千分之一。

在全书的开篇一章，让我们先简单探索一下 CS 这个专业。CS 到底是研究啥的？什么样的同学适合学习这个专业？这些问题也许我并不能完整解答，但我会试着给出一些客观信息供大家自行思考。

1.1 CS 专业到底研究啥？

Computer Science（CS），直译为计算机科学。作为一个学科，它的研究内容涉及各类与计算机系统有关的数学原理、科学原理以及工程原理。这里所说的「各类计算机系统」涵盖非常广泛，从智能手机、互联网、人工智能和自然语言处理系统，到银行处理金融业务的大型主机，再到用来预测天气、模拟疾病影响的超级计算机都属于 CS 这个学科的研究范畴。

这个学科到底有多少分支呢，我们快速套用一下维基百科列出的 CS 分支领域， 这样可以给大家形成一些计算机科学研究内容的基础印象。这里要说的一点是维基百科上的分类也并不完整，某些领域的类型划分也有待商榷，但作为对 CS 专业的尝鲜或一览还是很合适的。

数学基础：数理逻辑、数论、图论、博弈论、编码理论

计算理论：自动机理论、可计算性理论、计算复杂性理论、量子计算机理论

算法及数据结构：算法、数据结构

编程语言及编译器：编译理论、编程语言、编程语言理论

并行、并发及分布式系统：并行计算、分布式计算、并发计算

软件工程：形式方法、软件工程、逆向工程、算法设计、程序设计

系统结构：系统结构、操作系统

通信及安全：计算机网络、计算机安全、密码学

数据库：关系数据库、数据挖掘

人工智能：人工智能、自动推理、机器人学、计算机视觉、机器学习

计算机图形学： 计算机图形学、图像处理、人机交互

科学计算：数值分析、符号计算、计算机物理学、计算化学、生物信息学、计算神经科学

Computer Science 的分支领域（部分）

CS 专业超级多的分支领域也导致了五花八门的课程安排、学位设置和教学策略。

以国内的清华大学计算机科学与技术系为例，该系设有计算机科学与技术、软件工程、网络空间安全三个国家一级学科。其中计算机科学与技术这一学科又细分为计算机系统结构、计算机软件与理论、计算机应用技术三个二级学科。

与之对比，英国牛津大学的计算机科学系将学科划分为计算机科学、数学和计算机科学、计算机科学和哲学这三类。可以看出在学科的划分依据和划分策略方面，同为世界顶尖大学，清华的 CS 与牛津的 CS 是完全不同的。国家和学校对 CS 的理解尚且不同，那么个人理解中有一些分歧就更是理所当然了。

看到这么奇葩的学科划分，想要学习 CS 的同学们可能会有些头大：「阿尔法狗（AlphaGo）好牛啊我要学人工智能该咋办？」「写代码好帅我要当程序猿（默哀三分钟）要怎么选专业？」

其实不管是国内还是国外，多数 CS 专业的本科生都是要从软件、硬件、理论、应用等各个方面着手进行学习的。不管你最终想学人工智能还是想学编程语言，在进入本科的前一两年要接受的教育并不会相差太多。所以即将进入本科的同学们并不用过早担忧方向的选择——多数本科生的专业名称都还是一模一样「计算机科学与技术」，而不是具体的研究方向。

虽然这看起来就是我们常说的「啥都会，啥都不精」，但另一方面来看这也为 CS 的学生们在将来向任意一个方向专精学习打下了基础，对于塑造一专多能的人才还是很有帮助的。

1.2 什么样的同学适合学习 CS？

那么到底什么样的同学适合学习 CS 这个专业，在选择了 CS 这个专业以后又该如何找到适合自己的方向？

个人觉得，这个专业适合所有对事物运行的原理抱有好奇心，并且愿意利用数学知识去创造性地解决问题的同学。

当今社会，计算机技术几乎已经被应用在我们生活的所有方面：手机、手表、电影、电子游戏、汽车、空调乃至我们厨房里的微波炉和电饭煲，每一样都跟计算机沾亲带故。掌握一些不同维度上的计算机知识甚至已经变成了 21 世纪好少年的基本要求。从另一个角度看，不管你的爱好和兴趣是什么，几乎都有机会将其与计算机科学结合起来，形成一门新技术或新学科。

所以我个人的观点是，并不一定是对计算机感兴趣，只要计算机能辅助你发展自己的兴趣点，都可以考虑选择 CS 专业或将 CS 专业作为二学位学习。喜欢外语的可以考虑计算机辅助翻译方向，喜欢美术的有数字艺术方向，喜欢心理学的有人机交互与人工智能方向，喜欢物理化学生物的还有各种相关的计算机交叉学科。

即使不专门来学习 CS 专业，不管你将来想成为科学家、艺术家、程序员、翻译官，还是别的什么奇形怪状的职业。选修个 CS 当二学位应该也没啥坏处，毕竟 CS 几乎可以跟任意学科形成新的交叉学科。

当然，在进入硕士乃至博士学习阶段之前，CS 可能还是更偏重计算机教学方面（像牛津大学开设的这种「计算机科学与哲学」专业例外），所以学习 CS 专业还是要求一定的数学基础和逻辑分析能力。

至于硕士和博士的研究方向，这里就不展开介绍了。到了真正要攻读硕士博士的阶段，大家对自己研究方向的了解应该远胜于我啦。

最后还想说一句，电脑我们是可以给你修，但跟我们学 CS 专业真的没啥关系啊亲。

第二章：如果你决定来牛津学 CS

牛津大学计算机系提供了多种学制，几乎所有满足硬性学术背景条件的同学都可以根据自己的兴趣方向选择到合适的学位课程。

在这一章里，我会根据本科、硕士和博士的不同阶段，为大家简要介绍一下牛津计算机系的学位课程。其中本科阶段会为大家额外介绍一些牛津大学独有的教学特色。而硕士和博士阶段则额外为大家介绍近些年每个项目的申请/录取比率，为同学们填报申请提供一些支持信息。

2.1 牛津的 CS 本科教育有何可取之处？

独具特色的 3 个细分方向

据我了解，大多数国内大学的 CS 本科生入学时都统一被录取为计算机科学与技术专业。在第二学年后半段或第三学年可根据自身兴趣选择更加具体细致的学习方向，如安全、网络、体系结构、计算机应用等。经过 4 年学习在毕业时统一获得理学学士的学位。

与国内的情况不同，牛津大学的 CS 专业在本科生提交入学申请时就要从以下三个细分学位课程中做出选择，而最终获取的文凭中的学位名称也各不相同。这三个学位课程分别为：

1. BA or Masters in Computer Science

2. BA or Masters in Mathematics and Computer Science

3. BA or Masters in Computer Science and Philosophy

值得一提的是这三个细分方向的学制都为 3 至 4 年：3 年制毕业后学生可获学士学位，而 4 年制毕业后可获硕士学位（类似国内的本硕连读）。学生可以在第二学年结束时选择第三年就毕业结束学习，或者为继续攻读硕士学位而选择在第四年毕业。

这三个细分方向的主要区别体现在课程安排上。顾名思义，Computer Science 的课程主要与计算机系统相关，而 Mathematics and Computer Science 则是数学与计算机课程各占一半。Computer Science and Philosophy 最为特殊，它将理工科的计算机课程与综合学科的哲学课程结合到一起，为学生将来探索人工智能哲学、计算机模型的认识论等计算机科学与哲学的交叉领域打下基础。

下面的三张图表分别列出了这三门课程的课程结构，其中百分比表示学生通常在该部分课程中花费的时间。数据来源于牛津大学计算机系本科生教学信息官方网站。（注：为避免歧义，paper，dissertation，thesis，essay 等词语未做翻译）

为了培养科学技术的创造者

（1）本科生导师制（Oxford Tutorial System）

一对一导师授课（图片摘自牛津计算机系官网）

本科生导师制是牛津大学的核心特征之一。与国内到研究生阶段才开始为学生安排导师的情况不同，进入牛津大学的学生在本科阶段就已经拥有了自己的导师。

通常来讲，相关导师与本科生每周要进行两到三次的面对面小班授课，每次小班授课只有一名导师与两名本科生参加。

如此小规模高频率的小班授课机会，对于一般学校的研究生而言都是无法想象的待遇。更令人震撼（xiànmù, jídù, hèn）的是，牛津大学的本科生导师均为世界知名的行业专家和学科教授。作为普通本科生，跟你讨论问题的导师可能就是你们正在讨论的科目的知名教科书作者或者专业领头羊。这种由一流教授为本科生提供的一对一辅导，也是牛津大学（以及剑桥大学）的精英教育理念的一种表现形式。

想要了解具体授课形式的同学可以观看一下这个 5 分钟的短视频，An example of an English Tutorial, University of Oxford. 

（2）传授有延续力的知识

「我喜欢牛津大学传授计算机科学相关知识的方式。当很多其他大学只专注于教导多种多样的编程语言的时候，牛津大学却专注于教导我们为何要使用这些语言。此外，牛津教给我们如何用总体思路去创造计算机程序，而不是简单地用某一种特定的语言去编写计算机程序。」牛津大学数学与计算机科学专业本科生 Josh Peaker 如是说。

传授有延续力的知识，这是牛津大学计算机系的一个显著特征。要知道计算机科技演变的速度异常快速，某一特定的技术很可能经受不住时间的考验而被快速淘汰。

牛津计算机系的课程专注于教导学生隐藏在计算机技术背后的基础原理，而非计算机技术本身。对基础原理的掌握使得学生可以快速地获得利用技术解决问题的能力。更重要的是，这也使得他们培养出了快速适应新技术乃至创造新技术的能力。

以编程语言的学习为例，牛津计算机系不会浪费时间在传授那些你可以自己学习到的知识上。比如系里并不会开设诸如 JavaScript，Objective-C，或者 Swift 之类的语言课程。你在这里能够获取到的可能是关于指针、闭包、堆、垃圾回收等机制和概念的了解。这样当你真正想要去学习某一项程序语言时，你会发现你已经了解到所有关于这门语言的基础知识和概念，可以通过自学高效快速地掌握这门语言。

从一位牛津大学本科师妹那里听到过的一个故事，也可以作为这个知识传授方针被应用的典型事例。这位师妹在上数据库这门课程的时候，授课老师说道：「咱们这个课程不学 SQL 的语句语法，因为这些东西你们随便找本书或者 Google 一下就能找到很详细的教程。我们要学的是数据库的核心内容，学习这些内容的目的是为了将来去设计下一代更好更高效的数据库。」

并非单纯作为科学技术的使用者，更要成为科学技术的创造者。牛津大学对知识传授质量的要求由此可见一斑。

从零开始的计算机专业课程

牛津大学计算机系，听起来似乎高深莫测。一般人可能会猜测想要来这里读书的学生一定要程序写得足够好、计算机知识足够精深，甚至计算机方面的竞赛拿过若干奖项才能跟得上这里的教学速度。

实际上牛津大学计算机系对本科生的教学是完全从零开始的。一般来讲，本科课程会假设你完全没有计算机相关的知识，从最基本的原理开始进行教学。甚至第一学年的课程设计还会从数学原理开始帮学生打牢未来研究计算机理论的基础。

这一定程度上也为那些对计算机科学感兴趣，但在高中阶段没有机会积累足够基础知识的同学减轻了压力。

此外，很多本专业的课程都没有指定的教科书。授课教师在上课前会下发自己编纂的讲义，讲义的内容也多数都处在相关科目的技术前沿。比起几年才更新一版的教科书，这类讲义更能跟上计算机行业的技术发展速度。

从基础内容的教学，到科技前沿的探索，计算机系的本科课程的安排为学生未来发展的多样化奠定了良好的基础。

2.2 牛津的 CS 硕士有哪些项目可以申请？

找到适合你的全日制项目

（1）MSc in Computer Science （学制 1 年）

这门课程就是一般意义上我们所说的英国授课制硕士。在一个学年内修满足够的课程，完成毕业论文并通过答辩可获得 MSc in Computer Science 学位。

它有着一般英国授课制硕士的典型优缺点：节省时间的一年制授课模式，较低的学费和生活费消耗（相对于两年到三年制的课程），课程压力大，考试难度较高，没有时间享受留学生活，在校时间太短跟导师混不熟……基本上你在网上能找到的关于英国授课硕士的讨论都能跟它沾点边。

这里值得一提的是 MSc in Computer Science 接受来自各种背景的入学人员。官方介绍这样描写道：

你可能是一名来自工业界或商业界的有经验的程序员，如果你需要学习形式化方法来解决各类软件问题，或者希望通过研究新的编程和开发方法来扩展你对于计算机科学的理解，那么你适合并且可以申请这项课程。

你可能是刚刚毕业不久的计算机专业的本科生，如果你想要补充或拓展一些在本科阶段难以接触到的计算机或者数学知识，那么你也适合申请这项课程。

你可能是数学专业、科学专业，或者工程专业的毕业生，如果你想要将你已经获取的知识和能力应用于计算机科学的环境中，那么这项课程也适合你。

「我已经工作好多年了，还能再去读硕士吗？」

「我本科的专业不是计算机，能跨专业去申请计算机硕士吗？」

「我只懂数学，计算机知识为零，可以申请计算机硕士吗？」

问过我这些问题的朋友们，现在应该已经得到答案了。

最后说一下这个课程的录取率。近三年平均申请人数为 386 人/年，2017—2018 年预计录取人数为 51 人，报录比约为 13.2%。

顺带一提我稍微查了一下北京大学的计算机专业考研报录比，放在一起可以大概做个难度参考。2015 年北京大学计算机软件与理论和计算机应用技术报考总人数 47 人，录取人数 17 人，报录比约为 36.2%。

（2）MSc in Mathematics and Foundations of Computer Science（学制 1 年）

同样是一年制的授课型硕士，不过这项课程是计算机与数学系合办的，主要研究纯数学和理论计算机科学的交互（如计算复杂性，并发和量子计算等方向）。比较适合希望研究纯数学（特别是代数、数论、组合、通用拓扑等内容）、数学逻辑或理论计算机科学的同学们申请。另外，希望进入工业界又需要理解数学和逻辑设计以及并发等知识的同学也适合申请。

该课程录取率为：近三年平均申请人数 103 人/年，2017—2018 学年预计录取 17 人。

（3）Oxford 1+1 Programme （学制 2 年）

这个课程比较神奇，是之前介绍过的 1 年制 MSc in Computer Science 课程再加 1 年制 MBA 课程。 

这门课程需要分别提交两份入学申请，一份向计算机系申请普通的 MSc in Computer Science，另一份向商学院申请 Oxford MBA。录取后在计算机系和商学院各参加一年的学习，毕业后可获计算机硕士+工商管理硕士的双学位。

由于 MBA 方面我不太了解，与 CS 的相关度也（看起来）不大，此处就不再展开了。

在职课程除了贵还有缺点吗

(1) Software Engineering MSc（学制年限灵活）

(2) Software and Systems Security MSc（学制年限灵活）

以上两门在职课程都属于 Software Engineering Programme，在学制和课程安排上都比较类似，只是在选课时有若干必选课程不同，故合并介绍。

由于并非全日制课程，所以学制的安排比较灵活。要求学生在 4 个学年之内，从 30 余门课程中选修 10 门，通过每门课程的考试并完成毕业论文答辩方可毕业。毕业后可获得相关硕士学位。

比较特殊的是这些课程的授课时间都很紧凑：从周一至周五，从上午 9 点至下午 5 点（其中周五是到中午 12 点 30 分）为一个教学周，一个教学周内集中教授一门课程。也就是说理论上讲使用 10 周时间可上完这个项目的所有课程。我曾经见过一位来自美国的同学每年请年假从美国飞到英国来上三周课，上完就飞回去，三年修完课程毕业。应该说作为在职课程，这两个项目的时间安排非常灵活。

另外要着重指出的是这两门课程的硕士学位含金量都不低。以此硕士学位为基础，可以继续在牛津大学计算机系进行博士阶段的深造。此外也享有 BCS，IEE 和 IAP 等组织的文凭豁免或作为外部评价加成。

借着导师的关系我在博士生第一年也曾到 Software Engineering 项目中去蹭了三门课。总体来说上课的体验还是非常好的：

（1）学生多为在职，行业背景各不相同，在进行课程内容讨论时可以了解到同样的技术在不同行业不同领域内的具体实践。

（2）课程讲师多数是牛津的教授，少数是来自企业的技术专家，课程内容清晰实用。

（3）每天上课固定时间朝九晚五，一门课程上一周，一周上完一门课。时隔十几年仿佛重新体验了初中生活。

（4）课程提供的免费午餐真的很好吃……

要说缺点，大概就是学费太贵。由于是在职硕士，基本没有奖学金机会。作为海外学生修完 10 门课程的完整费用大概为 31140 英镑（2017—2018 学年），相对于全日制 MSc in Computer Science 的 22356 英镑（2017—2018 学年）需要花费更多资金。

2.3 宽进严出的博士学制

（1）DPhil in Computer Science （PhD，学制 3 至 4 年）

DPhil 是 Doctor of Philosophy 的缩写，直译为哲学博士。Doctor of Philosophy 通常缩写为 PhD，不过牛津大学保留了 DPhil 的说法。其实除了听起来（貌似）格调高了一点以外，没有什么显著区别。

DPhil 的标准学制为 3 年到 4 年，每年 3 个学期。虽然允许 3 年毕业，但除了若干大神以外，多数同学都选择用 4 年时间完成博士课程的学习。这样不但科研压力较小，还能有更多时间享受在牛津的生活。

其中第一学年需要完成 3 份可供评估的作业：第一份作业为参加某项教学课程并通过考试，第二份作业为完成一篇 Term Paper 的写作，第三份作业可以是参加另一门教学课程或者是参加导师为学生特别设计的文献阅读课程。

在前 4 个学期之内（一般为第一学年结束后），学生要参加名为 Transfer 的评估和答辩，评估通过后学生的身份由 Probationer Research Students (PRS)转换为正式的博士生（通过率 65%）。一般来讲如果评估未通过则要在一学期内重新提交申请进行二次评估，若二次评估也未通过则博士肄业或由博士生转为研究型硕士生。

在前 9 个学期之内（通常在临近第三学年结束时），要参加名为 Confirm 的另一次评估和答辩，评估通过后可准备毕业论文的提交。若评估未通过，则跟 Transfer 未通过结果一样：给予第二次尝试机会，再次尝试未通过则博士肄业或者转为研究型硕士生。

在 12 个学期之内要进行论文的提交。论文提交完成后，还需进行最后一次毕业答辩，答辩通过可授予博士学位。

总体来讲还是能看出牛津博士学制宽进严出的影子，虽然在博士阶段没有要求具体的论文发表数量，但学校在整个学习过程中安插了若干个检查点。每一个检查点上的松懈都可能导致无法顺利完成博士阶段的学习。

（博士生学习进度流程图（摘自牛津计算机系博士新生指导材料））

另外有些朋友比较担心年龄问题，觉得年纪太大不能读博。实际上在牛津读博士的同学年龄跨度是非常巨大的：既有十五六岁的天才少年，也有五十多岁儿女成群的「大叔大妈」。只要有做科研的热情和探究事物原理的好奇心，导师一般是不会因为年龄问题拒绝学生的申请的。

最后按惯例说一下 DPhil 博士生的录取率，近三年平均申请人数为 177 人/年，2017—2018 年预计录取人数为 26 人。

（2）CDT in Cyber Security （4 年制）

CDT 即 Centre for Doctoral Training。CDT in Cyber Security 是一个四年制的博士课程。课程研究的核心方向为 cyber-physical security, real-time security, assurance and big-data security。

某种程度上看 CDT 比较类似国内的硕博连读：本科生就可以申请入学，入学后第一年集中进行 Cyber Security 核心课程的学习，后三年与普通博士生（DPhil）一样进行科研工作。

CDT 的录取率如下：近三年平均申请人数 89 人/年，2017—2018 年预计录取 16 人。要特别指出的是 CDT 由 Engineering and Physical Sciences Research Council (EPSRC)提供资金支持，在这预计录取的 16 人中有 12 人可获奖学金资助，属于奖学金资助多，但竞争压力也相对较大的项目。

2.4 小结

本章介绍了牛津大学计算机系的学制划分、课程安排和教学特色等内容。希望能从学校的角度，在一定程度上解答「在 CS 这个专业上，牛津大学是怎样要求，怎样教授课程？」这样一个问题。

对于希望在海外的其他院校或者国内的高校中学习 CS 专业的同学，也可以将牛津大学本科阶段注重计算机原理的学习策略，硕士阶段交叉创新的学科融合，博士阶段步步为营的研究进度安排等内容作为参考，结合到自己具体的学习活动中。

第三章：来牛津学 CS，这些学术供养不容错过

作为英语世界中最古老的大学，享有顶尖世界声誉的牛津大学理所应当地为学生们提供了顶尖的学术环境。这一章，咱们就来聊一聊牛津的校园文化和各种软硬条件如何为 CS 专业的学习提供营养。

3.1 研讨会（Seminars）

在授课学期内，计算机系会定期举办各种类型的研讨会。这些研讨会并不是教学课程的一部分，但是所有计算机系的相关人员都可以随意参加。

有些热门系列的研讨会（如网络安全、信息系统等）每周至少会举办一次，来自世界各地的知名学者会在相关研讨会上介绍自身专业领域内的最新成果。

此外还有午餐时间行业讨论会（Lunchtime Industry Seminars）：来自各个企业的牛津计算机系合作伙伴会提供一系列的技术讨论。这些讨论会旨在为本科生和研究生提供使用计算机科学解决现实生活问题的方法概览。参与的公司包括了谷歌、亚马逊、瑞士信贷、彭博等知名企业。

牛津计算机系的这些研讨会资源为学生提供了一个独特的机会去深化和丰富他们对计算机科学的理解，并且为他们未来的职业生涯提供了指导。

嗯，当然也提供了与诸多业界大牛合影自拍的机会。

3.2 校企合作

强大的行业联系和牛津计算机系卓越的国际声誉使得这里的毕业生非常受追捧。

计算机系的研究人员以及教师与一系列优秀的行业、学术和政府合作伙伴达成了合作，他们共同分享知识和贡献能力以解决现实生活中的重要问题。与牛津计算机系合作的机构包括英特尔、微软、英国电信、政府和公共资助机构（如英国贸易和工业部，英国国家卫生部门），以及其他的著名大学。

在计算机系每年还会举办行业招聘会，每年有三四十家公司参会并给予牛津计算机系的毕业生特权，希望招聘他们到企业就业或实习。思科、谷歌、IBM、瑞士信贷、彭博、富士通和沃达丰等大型全球公司都包含在内。

这些合作伙伴不但为牛津计算机系带来了实践技术方面的最新成果，也为学术界和企业界的合作奠定了基础。大量的企业奖学金、企业实习和毕业推荐等资源都为想从学术界转向工业界的毕业生提供了机会。

嗯，此外也有不定期去著名公司企业游览、听报告、蹭吃蹭喝的机会。

3.3 全英第二大图书馆

（哈利波特与博德利图书馆）

每位牛津的同学都有权利进入英国第二大图书馆——博德利图书馆借阅图书。博德利图书馆是一所版权图书馆，也就是说任何一本在英国出版的图书或期刊都会在此图书馆存留一份副本。在超过 153 英里的书架中，你几乎可以找到任何你想要的书。

此外各个学院、各个系所几乎都有自己的独立图书馆。再加上博德利图书馆的在线图书资源，所有专业的学生都可以很方便地找到与自身学科相关的书籍。

这当然，也省下了买教科书的钱。

3.4 机动灵活的时间安排

牛津大学的学期时长非常短，每学期只有八周，一年只有三个学期。对于本科生而言，每年的假期时间都相当长。这样他们就可以利用足够的假期时间去参加实习或短期科研项目。

而对于博士生来讲，虽然没有学期之间的假期，但工作时间可以跟导师商量调整。比如计算机系就有很多夜猫同学，他们往往在晚上六七点钟吃过晚饭后才到系里开始科研工作，经过一夜奋斗又在早上五六点钟回家吃早饭睡觉（超级不健康，好孩子不要学）。

总的来说，除了参与一些需要团队合作的项目，牛津人的时间安排还是具有非常大的自主性的（导师严厉的除外）。所以如何进行时间管理也是一个影响学术成果的课题。

3.5 国际学生

牛津大学是世界上最国际化的大学之一。现今约有三分之一的牛津学生是国际公民，他们来自世界各地的 142 个国家。

顺带一提，现在牛津大学的留学生占比里中国仅次于美国排名第二，牛津大街上的中国人超多的。去年春节同胞们在市中心搞联欢，那满大街的中文让我差点以为华人要揭竿而起占领牛津了。

跑题结束接着说国际化。在这里很容易体验到不同国家不同民族的文化碰撞。举例来说，社区或者学院组织聚餐，最常见的要求之一就是携带一份自己国家的食物。

在日常学习中，也可以很方便地跟同学同事讨论各种技术在不同国家的适用和发展形势。这对了解自己学科内的技术发展和国际化应用也带来了很多机会。当然，交流的前提是你对该技术在自己国家的发展有相当的了解。

上次跟一个美国小哥聊起中国国内打车软件的形势，结果被他掌握的信息完爆。

嗯，这种丢脸的情况，也是有的。

3.6 俱乐部和社团

牛津大学有 400 余个俱乐部或社团。这些团体包括音乐、文献、体育、政治、表演艺术、媒体、信仰、文化团体、科学、志愿服务组织等。无论你的专业水平如何，都可以参与到自己感兴趣的社团中。

话说俱乐部和社团如何为学习提供营养？所谓玩中学，学中玩。一直坚持进行高强度的学习工作就长远来看肯定会影响后期效率。牛津在娱乐活动方面不比伦敦，甚至不比国内的很多二线城市。工作学习之余除了酒吧电影院健身房似乎也没啥别的地方可以减压消遣。这时能与一些有共同爱好的人一起交流娱乐就是难得的休闲机会了。

来到牛津之前我以为只有本科生和少数研究生才有时间和机会参加社团，为此还小遗憾了一把。来到牛津之后才发觉原来各个社团都来者不拒，不仅博士生，连教授都可能出现在社团活动中。

作为冷兵器控的我也终于有机会参加了击剑社和剑道社，后来由于时间和精力等因素仅留守剑道社。很多时候经过激烈的体育活动（被师范痛殴）之后反而能静下心来，别出蹊径地想出研究工作的 idea。

3.7 神奇的学院制

Last but not least，最后我们介绍一下牛津大学神奇的学院制。虽然学院制看似不会直接作用于科研和学习，但隐藏其后的文化底蕴其实一直在潜移默化地影响着牛津的学生们。

学院制是牛津大学（以及剑桥大学）的一项办学特色，整个大学分为 30 多个不同的学院（Colleges and Halls）。与国内大学的「信息科学技术学院」「商学院」等学院不同，牛津大学的学院并不反映某项具体的专业，而是作为一个独立自制的团体为学生提供大家庭的归属感。

举例来说，我是 Mansfield 学院的一员，同时也是计算机系的一员。计算机系负责与我专业相关的教学工作，而 Mansfield 学院负责除此之外关于我生活的一切内容。如果说各个专业系所的目的是培养学生的专业知识技能，那么学院设立的目的大概就是培养学生的健全人格。

在牛津，很多陌生的同学们之间互相搭讪都是三个万金油问题起头：「你是哪个学院的？你从哪国来？你学习什么方向？」

几乎每个学院都会定期举行学术正餐（Formal Dinner），参加正餐学生和导师都要身着正式服装并外罩黑袍（Sub-fusc）。所有人员入座后，院长用拉丁语致辞，并且敲法槌定音宣布正餐开始（妥妥的哈利波特既视感）。

（牛津学术正餐）

每个学院都有供本学院学生居住的宿舍以及俱乐部、公共休息室、图书馆、餐厅乃至酒吧等设施。作为本科生，一对一教学中的导师也是由学院进行安排的。除此之外，学院也会给学生安排各类文体社团以及组织社交活动。

多数同学未到牛津之前都对学院制以及各个学院的状况不甚了解。由于学院高度自治，自负盈亏，所以各个学院的财务状况不一，为学生提供的福利也千差万别。所以每当不同学院的学生碰到一起，多数都要互相交流一下学院的福利待遇。

另外，在每年新生入学的欢迎会上，吐槽学院制也是牛津教授的保留节目。

第四章：CS 系名师秘闻录

作为英国建立时间最久的计算机系之一，牛津大学计算机系的名师实在多得有些过分。

到 2016 年为止，牛津大学计算机系的学术人员已经超过 70 人，研究人员超过 140 人。他们中的大多数都是各自领域内的重要学者——毕竟拿到牛津大学的教学或研究职位并非易事。

挑选几位顶尖的名师，罗列一下他们身兼的各类吓死人的职务，吹一波他们金闪闪的学术成就——倒是不难，然而略显无趣。实际上，有兴趣的同学完全可以从牛津大学计算机系官网上完整地获取到所有讲师和教授的详细信息。

所以在这一章里，我想要换个角度，聊一些通过网络搜索得不到的名师讯息，比如——我在跟这些老师的各类接触中了解到的他们的真实日常。毕竟在我来看，学习交流顺畅，日子过得舒服，比导师的名气更加重要。

介绍的排序不按学术成就，仅按我与老师们的认识顺序。没错，认识我比学术成就更管用，就是这么自信（bù yào liǎn）。

4.1 导师性格合拍很重要：Andrew Simpson

国际惯例，先谢导师。

Andy 是我的导师，也是我在英国生活的这几年里交流最多的人之一。别看我现在喊得这么亲热，刚到英国是真是土鳖到连怎么称呼他都不知道。

记得第一次跟导师正式会面我问的第一个问题就是「我该咋称呼您？Mr. Simpson or Prof. Simpson?」他一脸茫然：「Just Andrew.」

回想我在国内小城市上初中高中那些年，谁不是跟着李雷韩梅梅一起喊「Miss Gao」？进了大学以后周围各种「刘老师」「李博士」「张教授」，我怎么想得到居然可以喊自己的导师「小安迪」？

英国求学的这几年里，Andy 也顺势充当了我半个英语老师。每次读完我的报告都仔细帮我修改各种语法错误，修改完的版本大概都可以拿去当写作补习班的复习资料了。每次想起剑桥某同学在朋友圈分享的导师评语——「你丫改完语法错误再拿给我看」——幸福的小太阳就在我头上冉冉升起。

之前做知乎 Live 的时候也有同学问我，选导师的时候应该选年轻导师还是年长导师，对自己的研究和学术发展分别有啥优势劣势之类的。

我个人的想法是年轻的导师由于处在事业奋斗期，可能非常想要出成果，所以就会大力督促你学习工作，跟他一起进步一起出很多论文之类的。而年长一些的导师，可能已经非常有名气，不急于出新成果。所以会更多地带给学生一些学习思路和人脉资源，让学生自由探索感兴趣的方向。而对我来说，其实比起年龄因素，性格好坏反而是更应该关注的一点。

对于一个博士生来讲，导师的性格和为人可能就直接决定了读博士这几年的体验。在这方面来讲，我算是抽到了上上签——跟导师的性格脾气都很合拍。

Andy 在对博士生的教学方面一直采取的是引导为主的模式，同时他也会积极地帮学生进行知识串联和交际范围拓展。有时研究遇到瓶颈或者涉及的部分知识点超出学生自身的研究范围，他就会指点并引见学生与相关领域的其他研究者进行讨论学习。

Andy 自身的研究领域覆盖面很广，包括数据安全和隐私问题、上下文敏感的访问控制、保护隐私的数据挖掘模型等等。同时他又十分看重学生的个人研究意向，鼓励学生研究自己最感兴趣的内容，这就直接导致了他现役的 9 名学生各自的研究方向都不相同。每周他大概要在每位同学身上花费至少三十分钟的时间进行面对面的指导工作。个人体验来讲，指导过程高效而气氛轻松，基本每次都能在聊天扯淡的过程中把困扰我的问题解决掉。此外，Andy 似乎总能在有限的时间内对每位同学的分支领域都保持及时跟进，这也一直让我感叹不已。

大家知道，基本上博士生也是一种职业，该职业的工作内容是一般是对某学术课题进行研究。作为该职业的老板，很多博士生导师会对学生的工作时间进行较为具体的要求，比如朝九晚五，每天 8 小时之类。在这一方面，Andy 对学生们工作时间的安排是没有要求，只有建议。

Andy 常说一天工作的极限应该是六个小时左右，时间再长就会影响工作效率。所以他给同学们的建议是每天最多工作六个半小时，下班回家后多陪家人、多进行体育活动。至于具体几点上班几点回家，全看个人喜好，不做具体要求。于是懒惰如我经常是上午十点半左右才慢慢挪腾到办公室开工——没人查岗，就是这么任性。

另外，每学期他还会干一件极具中国特色的事——自掏腰包请学生们聚餐。这在情侣出门吃饭都有可能要 AA 制的大腐国也算独树一帜了。

最后再上一段日常对话，拉拉其他博士生的仇恨。

「老板我这篇论文写得好像有点慢……」

「是不是压力太大，你准备啥时候写完？」

「这学期的……第六周？（一个月后）」

「这个太不现实了，我们稍微往后推一下。」

「那？」

「这学年结束前完成就行了（11 个月以后）」

「……」

4.2 我们办公室的第 5 个隐藏成员：Cas Cremers

Cas 是信息安全方向的教授，也是我们办公室的「第五人」。他的主要的研究内容是运用形式化方法和密码学来分析和开发安全系统。

我所在的办公室共有 4 人，都是同年级的博士生。其中两名是 Andy 的学生，另外两名则是 Cas 的学生。与 Andy 每周定期与学生开会的策略不同，Cas 常常「流窜」到我们办公室直接与他的学生进行讨论。久而久之就变成了我们办公室的第五名隐藏成员。

Cas 在研究事业上应该算非常积极的那种类型，对博士生的教学风格也直接明快。比如每周一早晨他会跟自己所有的学生一起开组会，交流各自的研究进展。比如他在上午收到学生的论文，下午就会直接跑到学生的办公室指导学生进行后续修改。再比如他会给自己的学生配备最新顶配的 iMac 作为工作激励，要求学生提供高质量的科研成果。

虽然 Cas 对学生的学术研究有着高要求，但在日常生活中他并不是严肃吓人的类型。有时我们会在办公室讨论最近打折的 PS4 游戏，讨论大家玩《黑暗之魂 3》被虐的各种名场面。中午会经常喊学生一起到学院吃午餐，就餐过程中聊聊各自的家长里短。去年十月邀请办公室的大伙儿一起去他家搞后院 BBQ 并且展现了他的迷之（百分百）劝酒（成功）技能。

4.3 答辩才不是为了为难学生：Andrew Martin 和 Kasper Rasmussen

没错，接下来要同时介绍两位老师。大家应该还记得第二章里我介绍过的 transfer，也就是博士第一年的非正式小答辩，当时作为我答辩老师就是这两位。

Andrew 是系统安全方向的教授，同时也是之前介绍的博士 CDT 项目的主任。他的主要研究内容是分布式系统下的安全，门下的历任博士生加起来得有接近二十名。他的办公室门上常年贴着毛笔楷书的「安德鲁」三个大字，然而貌似他并没有中国学生。

Kasper 来到牛津的时间不长，貌似是 2013 年左右才到牛津任教，在 2015 年成为了英国皇家学院的研究员。他的主要研究兴趣包括无线网络和嵌入式系统安全，同时对工程实践方面也有相当的经验。

话说我去参加小答辩，主要内容是对我的博士研究课题进行介绍。碰巧我的课题中应用到了 Andrew 和他学生（Andrew Paverd）的某项研究成果 TRE(Trustworthy Remote Entity)，而且在课题的后半段还需要进行部分工程实践。

答辩进行到动情之处，Kasper 问起我关于 TRE 的问题。我紧张之下回答得不甚完善，Andrew 主动跑出来替我回答。转过头 Andrew 问起工程实践方面的问题，我思考的方法有些纰漏，Kasper 又冒出来替我补充。答辩到了最后变成了三个人对研究计划的探讨，让我完全忘记了 65% 答辩通过率这个负担。

一段时间之后收到答辩通过的通知书，通知书末尾附上了详尽的研究优化建议。可以说这两位老师用实际行动让我了解到，transfer 答辩的目的并不是为了难为和考验学生，而是为了在博士生阶段的早期帮助学生梳理研究，修正方向。

即使是交情不深甚至只有一面之缘的导师，也会认真负责地在学术研究方面为学生提供帮助。这大概也是我所认识的牛津计算机系导师的共同特征。

4.4 小结

牛津教授们在各自的学术领域都或多或少有些重大发现。他们的学术成就之重要和科研工作之艰辛其实无须赘言。但在学术之外，这些教授老师们也都是活生生的人，他们有着更具人情味的一面。

通过本章描述，希望大家能抛弃对 CS 等理工科的学生和老师的刻板偏见，不要武断地给他们打上负面标签，影响自己未来与他们的相处。须知理工科的老师们并不一定是谢耳朵那样的低情商神智商，也不一定是武林泰斗一般高高在上威严沉稳。相反，我在计算机系认识到的老师们多数都具有风趣幽默的性格特征，并且自带交际花属性。他们独特的个人魅力，也影响着他们的学生以及朋友。

其实本章通篇没说到「牛津计算机系的老师如何影响了计算机行业」这样的问题——个人感觉这个问题其实对学生在个人专业学习的意义不大，除了聊闲天的时候能拿出来跟别人吹个牛。

相比之下，我更希望让大家了解牛津计算机系的老师如何指导学生，又是如何对学生日常的学习和生活产生影响。

嘛，文笔拙劣，不知道讲明白了木有。那么我们休息休息，接下来聊点轻松的。

第五章：学霸们的思维方式

可能很多读者会感兴趣「牛津大学的学生如何进行学习和研究」这个问题，从学霸们的学习方法中，窥见一些可采纳的自我提升锦囊。不过我觉得没啥必要详细介绍。作为普通人，我们多数人在知识接受能力和记忆力、分析力乃至智商等方面跟真正的学霸还是有差距的。别人的方法咱硬学也学不来，最后还有可能坑了自己。

所以我决定在这一章聊一聊学习之外的事情——不谈学习方法，只说思维方式和探索精神。

5.1 脱不脱？叔叔，我们不脱！

分享一个小故事，虽然故事的内容与 CS 的学习无关，却也反映出了一名优秀的牛津计算机系学生在分析和解决问题时所采用的思维方式。

话说英国当地时间 2016 年 6 月 23 日，英国人民进行了声势浩大的「脱欧」公投，而实际上公投战争早在这数月之前就已经开始了。那几个月之间脱欧和留欧两派的各种街头宣讲，各种分发传单，各种城市游行。

两派的活动铺天盖地，但却只挑选对自己有利的统计数据印刷成宣传材料四处分发。普通民众在固有成见之下，很容易就被宣传材料里的某些内容戳中 G 点，盲目做出投票决定。

而我们故事的主角，某牛津计算机系在读博士生，英国土著，理工科的政治无关男是这样做的。他将脱欧、留欧两派分发的各类材料丢在一旁，自己调研了上万条欧盟法规指令以及英国相关立法条文，审查了国家统计局几年内各个方向的百十张电子图表，分析了 20 世纪 70 年代从魏玛共和国到西班牙的涉及统一、外交和移民的历史，最后总结出了三千多字的调研报告。并且根据自己的调研结果得出了结论，参加了投票。

这是一个学习理工科的男生，在科研活动紧张的情况下，用休息时间，自发地进行调研和思考做出的结论，而不是一般民众做的：收到传单一拍脑门「对，投票」。

我想这也反映出了一名优秀的博士生所应具有的素质：摒弃成见，细致调研，独立思考，得出结论。在我看来，这种思考的路径也可以应用到 CS 专业的科研工作和知识学习中。而且可能思维方式的重要程度反而高于具体的学习方法。

5.2 Coffee Time? Battle Time!

计算机系曾经流传过一幅漫画，大概意思是

「我们的论文是由什么构成的？」

「我的血，我的汗，我的脑细胞，以及——咖啡！」

系里学生的一大特征就是无咖啡不欢，各种各样的咖啡产品以及冲泡器具堆满了每一层的厨房。在每周三的下午，系里的类学生会组织 CoGS (Computer Science Graduate Society) 还专门举办 CoGS Coffee 活动，在公共休息室提供免费的水果糕点以及咖啡。

CoGS Coffee 的初衷是在下午茶时间让大家扎个堆，一起抱怨一下天气，互相为对方的研究表示一下怜悯（笑），并且共同为英国垃圾食品的消耗做一下贡献。

问题就出在公共休息室的布局安排。

离大家聚餐的餐桌不远处，亮着一块明晃晃的白板。这块锃光瓦亮的白板在 Coffee Time 之后有时会变得如同鬼画符一般。因为原本还在吃吃喝喝谈天说地的几位同学由于不小心讨论到各自学术研究问题，一言不合之下（其实更多的情况是情投意合之下），各擎出一支油性笔就跑到白板处展开科研论战。

整个下午茶时间结束之后，各自带着因论战胜利而满足，或因论战失败但找到自己研究存在的问题和改进思路而满足的神情拥抱话别。

其实在部分同学的思维中，科研生活中的工作和休息并没有明显的界限。他们可能会抓住一切跟其他研究者交流的机会改进自己的课题，他们可以因为一个突发的点子放弃挚爱的下午茶转入思索状态。对自己研究方向的狂热不断推动着他们产出新的科研成果。

嘛，有时候也确实有点像科研狂人就是了。

5.3 他们凭什么优秀：主动探索+持续投入

之前曾在 Live 中为了向大家展示留学生的某些品质，简要地说起过这两个例子。现在看看放到这一章里讲一下好像也蛮合适。

有这么一位叫 N 的女生，学习的是理工科。她在学习中所有的知识的获取都以提出问题、解决问题作为导向。

比如生物专业的学习中需要记忆某些器官的名称，一般同学可能会死记硬背地把名称记忆下来，考试填空的时候再机械式地填进去。而她就要多问几个关联性问题，比如为何是这个名字，这器官都起到何种作用。

虽然大家拿到的教材都是一样的，但她不是被动地接受知识，而是主动探索主动思考关联信息。这位同学硕士研究生毕业之后，独自经营着一个舞蹈教室。最近又对新的行业产生了兴趣，准备回到大学读一个新的本科专业。这种对自己感兴趣的知识的探索精神，我暂时还也没见到第二个。

还有一位叫 R 的少年，学习的是文科。他在本科毕业之后，曾在牛津生活了一年。在这一年中他一方面是在工作，为自己下一个阶段的读书深造积攒学费。另一方面是给自己定下了在我看来很高难度的学习要求，即每天阅读一本英文书籍，不论厚薄，一天读完一本。

虽然从生活作风上讲这位少年近乎划船不用桨（全靠浪），隔三岔五就喊我去酒吧喝酒或去中餐馆兼营的 KTV 唱歌。然而他给自己定下的学习计划却从来没有因此中断过。当然，每次约会他迟到的理由也都是「在图书馆读书没读完，所以来迟了（笑）」。

他的持续投入也终于产生了结果——去年他申请到了德国某高校的研究生，主攻中国文学方向。现在作为该校的交换生，在北京大学从事着进一步的学习和研究。

主动探索+持续投入，我在这两位同学身上学到的精神似乎在其他专业或行业中也是通用的。

第六章：毕业=失业？拜托，你学的是 CS

很多学习其他专业的同学可能都会有这么一个问题「读完了这个专业，我能做什么？」而作为 CS 专业的学生，我们更应该问自己的似乎是「读完了 CS 专业，我该做什么?」

之前也曾提到，计算机技术几乎已经被应用在我们生活的所有方面。在我刚读本科的 2006 年，信息产业就被称为「朝阳产业」。如今十年过去，IT 相关的高科技行业依然有着巨大的潜力和广阔的发展前景。

CS 不像某些新兴行业，职业定位比较模糊，难以根据专业方向选择职业。CS 专业的毕业生在就业市场上很容易找到明确的职务，只是认真选择起来颇为费神。

比如按技术流派来讲：

走纯技术路线，可能成为程序设计人员、研究人员、信息分析人员、工程师等人才。走技术转管理路线，可能成为研发经理、产品经理之类的复合型人才。走技术转咨询路线，可能从事 IT 咨询顾问、战略与管理分析师之类的职务。

再比如，按业界划分来讲：

可以走学术界，从事计算机科学的教学和科研工作。可以进入工业界，进行具体的工程实践。当然也可以进入商业界或政府部门，哪行哪业用不上计算机科学呢？此外创业也是选择之一，IT 创业大潮下试试身手未尝不可。

最后简单说说我自己的毕业规划和几位校友的发展方向。

我个人来讲毕业后可能会留在学术界一阵子，比如继续从事两年博后的研究工作，比如回国之后在高校中寻找教职。然而距离我毕业还有两年光景，届时信息产业的格局可能又有新的变化。所以另一个选择是毕业后进入工业界，或者根据实时状况进行调整再度创业之类。

学术界的好处是时间灵活、私人空间较大、外界认可度高，自己的科研活动也有比较高的可控感和独立性。工业界的优势是薪水比较高，工作内容可直接转化为实际产品产生影响力。至于创业么，那就是个坑，不提也罢。

我的一位校友加号君（@翻滚吧加号），牛津计算机硕士毕业后取得了英国 T1 毕业生企业家签证，创业搞得红红火火，已然走上人生巅峰就差迎娶白富美。估计这位少年身价已然超过我所有银行卡存款数十倍。加号君你这个骗纸，说好一起读博士被虐到死呢(>_<)，我再也不相信基情了。

办公室的同事 KC-G 君，还没毕业就已经被谷歌翻了牌子，只等交上毕业论文就去谷歌总部上班。曾经在系里从事博后工作的 ZJ 君，前一阵子刚刚拿到了南安普顿大学的教职。北大的好基友 FC 和 LX，在网游行业做了几年技术最近也准备自己创业办游戏工作室。北大的师兄 LYZ、GSW 等少年，在 IBM、银行、滴滴打车之类的地方频繁被猎头带着跳槽。本科的校友 CPC 现在是某大企业的网络工程师，每天跟国际友人开会互相鄙视。本科校友 LZ，在中国农行总行的软件开发中心出卖着脑细胞以及肉体（呃，我想说的是健康的身体）。

总的来说，由于信息产业的高度发达以及信息技术的快速发展，只要保持住对专业的热爱，保持住自己知识的稳步更新，CS 的毕业生还是有足够多的职业路径可以进行选择的。

第七章：CS 最近的学术动态

未来的计算机科学专业将如何发展？

这么大的课题我可不敢乱说，IEEE Computer Society 在 2016 年早期列举过部分计算机科技的发展趋势，所以最后这一节就依着它所涉及的动态，从技术概念的角度来简单聊一聊吧。

(1) 5G。虽然我这辈子到现在就没用上过 4G 网络，不过对 5G 的到来还是挺期待。关于传输速率，三星给出的数据是 7.5Gbps，而诺基亚给的是 10Gbps。嗯，大概是 4G 的 12 倍左右吧。看起来一切都会变得「实时」，也给了 Internet of Things 一个可靠的网络环境保障。

(2) VR 和 AR。很多人目前对 VR （Virtual Reality，虚拟现实） 和 AR （Augmented Reality，增强现实） 傻傻分不清楚。没关系，用不了多久你就懂啦。为啥这么说呢？很多媒体称 2016 年为 VR 元年，各种厂商爆发式地推出了一系列 VR 产品，体验 VR 技术也变得越来越容易。再加上最近支付宝又搞出了 AR 实景红包，依着国内网友对红包活动的热衷，估计不久也都会对 AR 有所了解。所以 VR 和 AR 什么的，离大伙儿都不远啦。

(3) 非易失性存储器。咱不扯那么多学术性的词汇，简单地说目标就是让你的存储器存得越来越多，读得越来越快。在一个游戏或者电影就随随便便几十上百 G 的年代里，对我来讲太有用了。

(4) 网络物理系统（Cyber Physical Systems, CPS）。这是个与物联网类似的概念，它是紧密融合了物理、通信和信息网络的下一代智能系统。随着 CPS 的发展和普及，连接到网络中的物理设备将无处不在。具体实例嘛，看看《钢铁侠》之类的电影就知道了。

(5) 数据科学。通俗的解释就是从各种结构化或非结构化的数据中提取知识并进行分析。统计学啊、数据挖掘啊、预测分析之类的技术在这里都能用得上。嗯，感觉个人隐私离我又远了一步呢。

(6) Capability-based Security。这个我真不会翻译，「基于能力的安全（保障）」？黑客的数量每年都呈指数级增长，在网络世界中，每个公司或个人的数据都受到潜在威胁。作为一种安全技术，基于（硬件）能力的安全，能作为一项有力工具来防御多种攻击。

(7) 高级机器学习。还需要多说什么吗？根据数据进行学习和预测，谷歌的 AlphaGo 以及其背后的「深度学习（Deep Learning）」已经把棋坛搅了个天翻地覆。我就不说话，静静地等创世纪。

(8) 网络功能虚拟化。网络功能虚拟化提供了下一代云服务所使用的虚拟化基础设施，简单地说，云服务将变得更加便利和可靠，价格也会更加低廉。然而好孩子不要用云盘来存那些一两个人就演完的片子。

(9) Containers。直译为「容器」，对于将应用程序迁移到云端的公司，Containers 允许公司更快、更有效地开发和交付应用程序。在 Containers 中运行的程序与其他程序不冲突，并独占 Containers 提供的运算资源。唯一让人担忧的，可能就是安全性问题了。

大概依着 IEEE Computer Society 的套路介绍完了科技发展趋势，然而看起来这些内容还是不够完整（我的研究方向就完全没提到嘛魂淡>_<）。

回到第一章我们说过的话题，CS 的分支领域实在太多，CS 相关技术和概念的发展速度也实在太快。可以预见的是，在未来生活的方方面面我们都离不开计算机科学的支持。

想要从事 CS 专业的朋友们，你们准备好在这广阔的天地里「兴风作浪」一番了吗？

结语

记得之前在 Live 中有位少年（@清天行健）问了我这样一个问题

「求学习的动力。你如何看待只有找到对的喜欢的东西才能走得远、学得好这句话？选专业一定要选自己喜欢且擅长的吗？为前景读一个没啥感觉的是否不建议？」

我当时的回答大致如下：

在选择专业时，个人能力、喜好、志向，乃至家庭的经济条件其实都需要考虑在内。

而且进一步分析的话，「喜欢」和「擅长」其实还是有分别的。比如一位同学个子很高，长到 230 厘米，那么他打篮球就很有优势，可能更擅长从事篮球运动。但他喜欢的运动却偏偏是足球，而他的个子又太高，影响跑动速度，可能从事足球运动反而比较吃力。

做喜欢的事情可能费力，但生活得开心。做擅长的事情可能省力，但要多操心且要忍受这种不喜欢得情感。当无法做到喜欢与擅长兼得的时候，我个人的建议是选择喜欢的专业。

假如你像我一样一直读到博士，并且中途没转专业，那么可能就要在此专业方向上经历将近十年的历程（本科 4 年+硕士 3 年+博士 4 年）。而且毕业后，你从事的工作很有可能还要和你的专业相关，那么毕业之后的二三十年可能也要继续在这个专业上奋斗。

你需要仔细考虑一下，是否真的能在一个你不是很喜欢的专业上投入如此长的时间和精力，并且还能将这个专业上的内容做好。

因为前景好而选择了某个专业，很有可能出现的情况是由于你不够喜欢该专业，所以学不进去相关的内容，那么折腾到最后你的前景也未必会很好。

这本小书跌跌撞撞算是完成了，希望能从一定程度上帮助你来发掘自己对计算机科学的感情。还没有选择 CS 专业的同学，可以以之为参考；正在学习相关专业的同学们，可以慢慢培养对该专业更深的喜好。

嘛，其实我也没什么大志向，从没想过自己能做出什么里程碑式的成就，也没想过要把 CS 这个行当发展得多么金闪闪。

能够每天做着自己喜欢的事情，这不就挺好。

作者说

我是刘洋，知乎 ID 即本名。英国牛津大学计算机系在读博士生，三年级，研究方向为数据安全及隐私保护。同时也是国家公派研究生项目的学费资助奖学金获得者（资助学费的留学人员总额不超过公派研究生总人数的 5%）。

我儿童时代酷爱任天堂的电子游戏。小学在学校机房接触到 286 后兴趣开始转向 PC，丧心病狂地收集和游玩各类单机 PC 游戏。不知不觉间经过了[玩游戏]→[修改游戏]→[修改导致内存溢出]→[研究啥是内存]→[胡搞十六位内存地址]→[走上折腾计算机的不归路]的历程。年纪稍长，又体验了从三本学校考研至北大，创业未果转而 DIY 申请留学到牛津读博的曲折历程。但在本硕博以及创业期间，我学习和奋斗的圈子始终没有离开计算机科学这一领域。

如果你也对计算机科学（或者考研留学玩游戏>_<）感兴趣，欢迎来知乎与我交流。我的知乎主页是：https://www.zhihu.com/people/yangliu-117