在卡内基梅隆大学(CMU)学习计算机是怎样的体验?

首先我们需要明确一点,那就是在CMU读本科,硕士,博士是完全不一样的体验。本科侧重于全面而有有深度的基础教育,硕士侧重专业能力,而博士测重研究。在我们开始描述体验之前有必要先描述一下猴子学校的教学体系。CMU,如大家所见是Carnegie Mellon,有Carnegie和Mellon两个学校并校而来,实际上这两个学校本身也并了很多学校,造成的结果就是CMU里面学院林立,不像大多数美国大学有一个大文理学院下设各大专业。本科一共7个学院: Carnegie Institute of Technology(没错CIT是CMU下属的学院,加州理工叫CalTech,不要想当然), Mellon College of Science, Dietrich College of Humanities and Social Sciences, Tepper School of Business, College of Fine Arts, School of Computer Science, Information Systems Program. 研究生多了一个Heinz公共政策与管理。各学院之间转起来其实没那么简单。最近CMU终于意识到了自己根本没有通识教育的问题,于是在MCS和DC之间越来越多有合作而且转起来越来越容易了,不过工程院,和本科一个系成院的SCS和Tepper转起来就蛋疼得要死了,基本都是个位数的人能转进来。所以如果题主听到有人说:“啊我现在是XXX但是要转进计算机辣!” “啊我当时录的不是但我学的是啊”请你回给他们一个狐疑的眼神,因为他们很有可能是“double major”的人,最后到手的不是SCS文凭,甚至说他们根本就是在吹牛逼,因为中国人总觉得只有CS才牛逼,挤破了头想去转,然而哪有那么简单。。。(如果他们不是大二下的那一定是假的无误,要上5门专业课才给转呢)在此也给题主一个建议,CMU好专业很多,许多都是全美顶尖,除非真心喜欢何必吊死在CS一棵树上。如果喜欢就请不要曲线救国直接申,申不到也没必要老是想着要转进来,随遇而安呗。。。

然而,什么算是"学计算机"呢? 对于本科来说相关专业有如下两个: BS in Electric and Computer Engineering(CIT), BS in Computer Science(SCS). 不管大家信不信,其实Information System是人文学院的下属独立项目。。。就和在国内该专业配属经管学院一个道理。那么到了硕士博士这个就比较复杂了,首先ECE和CS分别设有graduate degree, 但是SCS下属除了一个Computer Science Department以外众多院系,比如Machine Learning Dept, Robotics Institute, Human Computer Interaction Institute就都有自己的项目。 我在这里不知道题主“计算机”究竟指的是什么,因为在CMU这个分得还是很细的。

既然说到了院系的问题那么稍微解释一下:Computer Science在CMU是一门与其他计算机相关专业不一样的学科,学了许多理论,逻辑,数学,但是并没有特别面向industry。相比之下,由工程学院提供的ECE就有很明显的software Engineering倾向了,不过这个系也很奇葩,下属许多不同的分支,偏软的software engineering, 硬件的circuit design,signal processing还有experimental physics都属于这个部门。所以我在此暂且理解题主的“计算机”指Computer Science。

CMU本科的Computer Science是极其有特色的。有无数的中国和美国计算机学生觉得学校里的课然并卵,自己在外面写写代码才是王道,这样想的同学们在大猴子校是要挂科的。首先从课程编排上CMU走大综合路线,第一年主线基础课程十分简洁明了:

15-112 Introduction to Programming 据说是神课,而且很难,然而并没有什么CS专业的人在上,带过不叙

15-122 Principles of Imperative Programming 大多数专业生的第一门课,讲C顺带解决一大堆基本算法实现大多数简单数据结构,然后会接触很多低层细节,因为1.这玩意是C 2. 最后作业是写一个跑bytecode的VM出来

15-150 Introduction to Functional Programming 函数型编程,我校著名的丧心病狂的SML系列课之一。基本就是把函数编程范式,理论加应用全来了一遍。其中顺带解决了RegExp,Alpha-Beta Pruning, red-black tree等等。

21-127 Concepts of Mathematics。 Concepts啊!夭寿了啊!新生第一学期第一堂数学课你去给他讲Topology的魔性课程,从证明到集合论到拓扑到数论无所不包。恩,当老师讲到无限个无穷大,cardinal number, 实数的不可数无限的时候下面美国人的脸实在是经典。

15-251 Great Theoretical Ideas in Computer Science 251啊!死人了啊!CMU第一大Boss啊!多数CS的人毕业以后都觉得有251的学期是他们整个大学最惨淡的学期。。。这课内容甚难,力求以一周一话题的速度迅速撸过理论计算机大多数探究话题,从DFA到图灵机到Decidability到P vs NP再到RSA,Markov Chain,基本无所不包。不过与其说可怕的是内容不如说是某些美国同学们不知哪里来的可怕智商。。。这课一边有人每次不及格作业一道题不会做一边就有人每次考试95%作业全满分的。。。赤裸裸的智商差距啊。。。

----------------------------------------------------------------------------------------------------

讲完课程设置我们来讲一些有的没的,比如老师:

CMU的老师究竟有多屌呢,这是一个很好的问题。还记得在上251的时候,老师经常讲一些莫名其妙的数学定理,在大家惊叹于这玩意的操蛋程度的时候,机智的他手往室外一指,喏想出这个鬼的家伙办公室就在那栋楼几层几室,恩你们要打别打我。

这个事情,20多节课,差不多每节都有,就是这么优秀。

比较吓人的是这些老大爷们都是教课的,我150的老师是个老头子,本来看这人慈眉善目一把年纪,讲课亲民,应该是个教书匠吧。。。结果最后一节课他不想上就顺手拉来了微软研究院的VP,前面回答里面提到过的Jeannete Wing给我们上。。。平时他不上课的时候在研究使用空间和拓扑加强机器人的寻路能力之类的玩意。。。骨灰级玩家。。。

哦对了顺便一提251的那位讲话速度堪比Sheldon的老师几年前还在攻坚世界理论计算机一大难题Unique Games Conjecture,并且差点成功了。。。结果他的反证失败以后实在蛋疼才决定来教书的。。。这家伙还有一些逸事,比如他的大学室友证明了玩通超级马利这个游戏的问题是NP-Complete。。。不过明年他就不教这门课了,因为他跑去给博士生上量子计算去了。。。

总结一下就是CMU的计算机教授,首先在学术水平上没有一个是凑数的。这些老师平日里教书做研究两不误,而且时时刻刻走在学界最尖端,搞不好哪天就又一拍脑子像那位著名的Luis von Ahn(就是那个发明了验证码,又发明了第二次验证码的家伙)跑去创业赚大钱去了。有这么一群大牛教书的好处就是,幽默感爆棚不说,课上学到的东西,学到的观点,几乎不会是过时的或者是死板的教条,而是和业界学界紧密相关的最新消息,光这一点就比国内道听途说的不知道高到哪里去了。

----------------------------------------------------------------------------------------

继续说一些有的没的,比如学风。

有一种说法是CMU全民CS。先驳斥一下这种【粗鄙之语】。其实全民CS的只有少数那一撮特别在乎这个的中国人,说什么都要转都要上,也不管自己喜欢不喜欢适合不适合。只可惜由于我国优良的扎堆传统,这一撮人在中国人内的比例比较高(你信不信街上碰到中国留学生,几乎一半不是商科,经济就是数学),而大多数留学生也没怎么和美国人打成一片罢了。我院隔壁偌大一个戏剧学院(基本没有中国人),都忙着唱歌剧做戏服背台词什么的,真的没有人学CS。。。

真正在CS内部呢,其实对于自己课有多难学习有多累,更多是把这些当做自豪乃至自傲的资本的。。。拿251做例吧,这门课众所周知比较难,但是一般上这课的人有不少在外面都是满面春光的,见人就拍胸脯说“哥们我在251”,搞得好像上251能拿荣誉勋章一样。加之这个课真的挺好玩的,所以平时能看到不少在教学楼各处白板蹲坐在地上做题目的同学。这种感觉很难形容。。。好奇的同学大可去看看HBO硅谷,里面有一个镜头是主角在创业大赛前改良算法,虽然很无厘头,但是基本就是那个感觉了。。。

总结一下就是CS大多数同学都是很热爱数学和计算机的,而且不太死读书(死读书的也做不出来这些题目。。。),做作业特别来劲,各种神一样的逻辑算法和证明。这些同学对外有的时候挺自大挺傲慢的(美国典型工程师职业病,这辈子看不起除了工程师以外的人),不过对CS内部就更加多的是合作帮助,竞争的风气没有那么强。

---------------------------------------------------------------------------------------

上一些干货,比如待遇。

CS的楼在ECE和Tepper的新楼建起来之前很有可能一直要变成全校同学羡慕嫉妒恨的对象了。。。来看看一般CMU的楼:

在卡内基梅隆大学(CMU)学习计算机是怎样的体验?

再来看看CS这炫酷的楼:

在卡内基梅隆大学(CMU)学习计算机是怎样的体验?

在卡内基梅隆大学(CMU)学习计算机是怎样的体验?

吐槽一下这个CS楼不知道为什么和MIT的计算机楼外观上比较神似。。。不知道是不是都是一个人设计的。。。还是说这是捐了楼的比尔盖茨同志的个人喜好呢。。。第二个吐槽是做为一个比尔盖茨(部分)捐出来的楼,楼里面竟然一台Windows电脑都没有配备。。。Gates—Hillmen这个楼呢不仅外观酷炫,内部舒适,采光良好,底楼还有喜闻乐见的咖啡店,味道不错的。让大多数同学不爽的是六楼以上的舒服地方(许多自习空间啦,免费食物饮料啦)只有周一到周五晚六点前是对外开放的,在此以后你就得拉个计算机的同学或者TA或者老师把你带进去了。。。刷夜最佳去处,因为比图书馆人少多了。

不过比较蛋疼的事情还是有的。比如在这个楼里面你碰到机器人走来走去还拉拉你的衣角叫你帮他按个电梯什么的简直是家常便饭。。。好像咖啡店那里还有个机器人,不过有的时候不开,而且似乎没有人知道他是干嘛的。。。据说我校某个实验室曾经完成一项壮举:他们做了一个机器人,可以娴熟地拿起一块奥利奥,扭一扭,舔一舔,泡一泡。。。这个家伙现在就在Newell—Simon到Wean的路口,有一次我还看到他们Lab趴体拿那个机器人开啤酒瓶盖来着,我也是看醉了。。。

最后祭上CMU CS精神的象征,Pausch Bridge,纪念Randy Pausch和他的最后一课,纪念这里每个人心里那种童年的梦想和热情。

在卡内基梅隆大学(CMU)学习计算机是怎样的体验?

-------------------------------------------------------------------------------

再来点小花边。人们说CMU的程序员们不愁吃不愁穿,不过这并不是因为他们钱拿得多,而是另有别的原因。。。

。。。这个原因就是: Free Food

是这样的,因为CMU的毕业生很抢手,又和业界关系非常好,所以时不时(其实差不多每个礼拜)都会有大公司派人来CMU,推销自己或者自己的产品,时不时办个科技讲座介绍一些什么玩意,而为了吸引平时连大门都懒得出的程序员,一般都是会准备吃的东西以及随便送的衣服等等。个别和CMU关系特别好的,比如谷歌(SCS院长是谷歌匹兹堡前老板),更是会把每年的CS新生接到公司好吃好喝款待一顿,再送你一整袋Swag。我的某位同学极其不要脸滴在多次活动中成功获得谷歌耳机,墨镜,T-Shirt, 背包以及袜子。。。套装有加成吗难道。。。

为了展示这种活动究竟有多频繁,大家可以上网搜一个叫foodbot的东西(好像是叫这个),是某个CMU同学写的蹭饭专用网站。。。通过机器学习和爬虫获取各种讲座信息分析其带有免费食物的可能性,蹭的尴尬性等等。。。结果就是据说原作者后来基本没有花钱吃过饭。。。


分享到:


相關文章: