2020 Fall MSCS 申请攻略和总结



个人背景:
学校:威廉玛丽学院
专业:CS + 数学,三年毕业 (本来想四年的,课上太快了第四年没课上,被迫提前毕业)
申请方向:SDE & ML。全 master,本科毕业找不着工作 + 喜欢钱 + research 摧毁了我对 phd 的幻想
成绩:overall GPA 3.8+, CS GPA 3.9+; GRE: 331 (v: 162; q: 169; aw: 4.5)
推荐信:三封 faculty(two CS and one math)+ 一封国内实习老板。faculty 应该没有强推,math 就是普通课程推,因为跟推荐的中国教授经常打球所以关系比较好(我估计教授到最后觉得我数学没啥可写的可能就写篮球了)。CS 两封都是 research supervisor,一段 ml 一段 performance analysis on compiler。两段都没有成果,所以我自己都觉得没啥可写的,因为compiler太冷了所以那个教授我就只用了两三个 research-focused 的项目。国内老板嘛,你懂的,如果单看内容肯定这篇最强。

经历:几乎没啥可讲的,没 publication,两段没有任何结果的 research,一段国内 IBM 实习,几个移动端开发的工程项目,基本上都是自己无聊打发时间或者凑课程 term project 写的,唯一能说两句的是 ml 的那段 research,研究了一篇paper里的提出的ml模型和算法是否可以复现,因为 source code 没有公开也没有足够的 studies 去 validate effectiveness,所以我和教授合作尝试去实现它,最后也没弄出来,所以我们推测不能复现。
SOP (academic purpose):基本上就写了一稿,把 motivation 和 experience 讲明白了(人家就自然明白你 purpose 了),每个学校最后一段why school 稍微改改,找美国室友通读一遍查查语法,卡着最后一天交。唯一比较新颖的是读闲书比较多,开头扯了一句人类简史里的话显得自己很文艺。。。(因为我申美本的时候写文书有经验了所以整个文书从构思到 finalized 就一周不到,当然也是因为我觉得并没有人细看 master 的 sop,个人观点)
PS (diversity statement):比较讲政治正确或者 metropolitan 的学校会有这个,有的要求有的 optional,因为 ucb 要求而且第一个截止,剩下 optional 我也就凑活改改就交了。我写的 familial obstacles,因为我家里人都是搞金融的,但我学 CS 刚开始家人很不支持(毕竟金融还算有个关系嘛),后来凭着自己的努力说服了家人让他们相信我,然后最后一段吹一下所谓民主的灯塔 USA,比中国更重视才能而不是关系 blahblah。。。

选校/申请过程:
1.6: Berkeley EECS Meng (reach)
1.15: CMU ECE/SV-SE (match); CMU INI-MSIN (reach); UIUC MCS (match); USC MSCS (safe)
1.22: NYU MSDS (reach)
1.24: Cornell Tech CS Meng (match)
1.30: Rice MCS (safe)
1.31: Duke MSCS (match)
2.1: Cornell CS Meng (reach); GaTech MSCS (reach)
2.15: Columbia (match); JHU MSE (safe)
3.15: Upenn CIS (reach); Brown MSCS (match)

为什么按 ddl 标呢?因为极其拖延,不到最后一天不动文书
为什么都选这么晚的呢?CMU SCS 和 UC 系(UCLA & UCSD)为啥不申呢?
好问题,因为我10月底才准备申研,11月底才定好找谁写推荐信,12月底才考出来GRE,而且我三年毕业,申12月ddl的学校就意味着学校只能看到我前两年的成绩,which CS 专业课不太够而且没到3.9。Stanford 这种就没想过,CMU SCS 我唯一比较喜欢的项目是 MCDS(但听说 INI 能上成低学费版的),MSCS 就不去做分母了,其他小方向我觉得好好弄弄文书挖掘一下 match 点应该能中一个,但我本科就是 CS 真不太 care SCS 这个 title,与其学一个自己不喜欢的方向不如一心赚钱。UCLA 太早了推荐信还没弄全呢,UCSD 跟哥大定位重了,有点后悔的是应该申一下耶鲁,对我来说这是一个比 match 稍微高一点点的项目,但当时了解不够,另外很迷信专排,现在觉得 yale 是藤校里除了康奈尔最好的 CS 了。。。
所以我是12月28号 GRE 出分我才开始申请,总共文书就花了一周吧。

虽然文书写的比较快,我觉得我对每个学校都是有了解的,因为太晚决定申请,没请中介,只能上学期学累了自己在地里/知乎上搜然后配合官网去看。当时就是学习之余当个消遣,但看多了也明白了一些套路,比如谁偏爱海本,谁卡三维,谁看 match,哪个学校的哪个项目是王牌,对自己 profile 的定位,MSCS/MCS/MEng in CS 的区别,IS/DS/ECE 和 CS 相比就业前景等等等等,前期没有目的的去搜集信息还是有点效果的,一月份我写每个文书基本很快就可以抓住 match 点去展开,而且在看一个新项目的时候就可以马上反应这个适不适合我。

整个申请的过程就感觉自己不是特别 technical/research-oriented,虽然科班是很硬的 CS + math,但我更喜欢 UI design/product management/entrepreneurship 啥的,所以我加了几个不那么纯 CS 的项目,CMU SV-SE 完全是冲着找工作去的(因为我本科 CS 几乎上完了所有领域,唯一一门必上的研究生课是数据库,所以研究生课程对我没那么重要),CMU INI/Berkeley 听说可以上商科的课,Cornell tech 有点创业风,NYU MSDS 是我真的觉得 data 和 ml 的课程很有实用性,UIUC/Rice MCS 就是单拎出来的 professional 项目,就业氛围很强。

经验:

大体排序:硬核科研 (有 paper) > GPA >= 推荐信 > 硬核实习经历 (国内知名大厂/在美国) > CV >= 语言 (TOEFL > GRE) >= SOP/PS
科研:这玩意儿就是个 bug
为什么先写科研呢?因为这东西对于申请研究生来说太 bug 了。一篇顶会一作/二作是直接可以逆转申请结果的因素,就算是普通会的一二作也是一个很大的加分项。尤其对于 master,因为大多人都没有,publication 就成了 bug 级的存在,GPA 的 bar 之前是 3.8 可以被一篇 pub 降到 3.5,GRE 更变得可有可无。但这个东西你有就是有,没有的话也别想着编,好好看下面你能控制的东西。

语言:纯 filter,但你得过线
GRE资料:https://github.com/yuangu002/GRE
为什么把语言放第二个呢?托福和GRE就是单纯的一个 filter,过线就算达标,到 average 最好,考的特别高稍微加一点分,但不是特重要的因素
托福:美本 waived,高中三年啥都没干就刷托福和 SAT 了。CMU INI 让提交 expired score 我就提了四年前的纸质成绩单:111 (30+28+24+29),因为没法通过官方 report 了我就扫描了一下传给小秘了。
GRE:词汇:高三备考新SAT阅读的时候背过一阵子3000,所以单词有底子,我就没有系统再背单词了,直接刷鸡精(1100词),考前一周过了一遍1400佛脚词(xdf韩冰的那本)。对于GRE,其实是看单词不是背单词,又不要求你掌握拼写和读音,你就多看几遍有个印象,同义词一定要看一眼,6选2全是原题直接选,选三个空的就直接放弃吧,留着时间给阅读,你的 verbal 分数其实取决于你阅读的表现。
阅读:虽然技巧不多,但我还是讲一些我是怎么做题的。首先你得明白一个 section 时间是非常紧张的,你如果长阅读读着读着就 lost 了那干脆就全瞎蒙,先做简单题,比如短阅读和一些逻辑题是真的不难,仔细读懂就会选。争取要保证你花过时间思考的题要拿分,剩下的全蒙就完了。
数学:刷了一遍巍哥难题170,虽然我也没170。。。
写作:背模版,全都是套路。读懂文章 + 背熟模版 + 托福独立 Good 应该能保底4吧。
Btw,我觉得新 SAT 写作比 GRE 难,而且对 argument 的题很有帮助。

托福我不了解了,听说是 105 就很稳了,再往上就没意义了,但有些藤比如耶鲁布朗宾大很喜欢 110+。GRE 这个东西大部分项目都不卡,那么你 320+ 就OK了。有些项目卡单项,比如哥大和 Gatech 对阅读的 bar 都是153,宾大要求写作4。还有的项目给一个 average stats,这种学校就是比较心机,比如杜克 MSCS 给每年统计的 average 数据,伯克利的 meng 是平均 verbal 70% 和 quant 90%,这种最好满足一下,不算 bar 但你如果低于 average 就可能在其他条件和别人僵持不下的时候吃亏。

<以下:针对美本申请美研+没有paper>
GPA:make or break your application I
我们学校 GPA 卡的挺严的,一般 93 是 A,还有的课 94/95 是 A,没有 A+,curve 看教授和整体班里水平。我 CS 课一般都是A或者A-,数学和一些通识比较低。GPA 怎么样其实完全取决于你怎么选课,我就是大二作死选了个毛子的数学课。美本(申 master 不读博的)我建议还是去 rmp 上看看教授评分,真别为了学东西选硬核的给分不好的教授,不读 phd 没意义。一学期水课混一混就能 4.0,一学期全硬核生不如死最后勉强 3.7,但最后成绩单上体现的都一样。有人说:选硬核教授你可以学东西啊 blabla 可以做 research 啊 blabla,都他妈是在扯犊子。你一个 CS 本科生在教室里能学个啥?想做 research 你直接去找教授嘛。你申的是 master 又不是 phd,最后你找工作看你刷了多少道题又不是看你上过啥课。

我感觉 3.8 是 top10 CS master 的一个底线,3.9 又是完全不一样的一个档次,4.0 就更 nb 了。不要听一堆人 bb 低 GPA 高录的案例,因为 GPA 低被拒惨了的就不会来这跟你分享了。尤其是美本,你的高 GPA 就是学术能力的保证,所以美本一定好好刷 GPA。选校的时候跟学长学姐打听打听他们的 GPA,我听说 committee 是根据前些年录的你们学校的人的 GPA 去推测你们学校 GPA 的含金量,不过 top50 的美本各大学校 committee 应该心里都有个数,所以不用担心,可劲儿刷就完了。

GPA 为什么能 make or break 呢?美本 3.9+ 的 GPA 就是 bug,尤其是 top30 或者知名工科院校,完全可以掩盖科研经历不足(因为高 GPA 可以证明你的学术和科研潜力)。相反如果你没有 paper 或者 faculty 的强 connection,低 GPA 就是第一轮被小秘 filter 掉的,application 都到不了教授手上。

推荐信:make or break your application II
又是一个美本和陆本不一样的因素。陆本如果是国内老师推荐几乎就不看了,所以最好找美国大学系统下的老师写。美本的推荐信还是挺重要的,尤其是高评价+名教授/connection。我是三封 faculty:一封美国的 adjunct lecturer,是我一个 research project 的 supervisor和一门研究生 ml 课的教授,这篇表现 research 和 academic potential in graduate-level courses,所有学校全用;一封中国 assistant professor,带我做过一段编译器和性能分析,也教过我编译原理,考虑到 compiler 太冷了这篇我就用了几个特别强调科研的项目。一封中国 professor(数学系),教我图论,这篇就是纯上课 + 一个 term project,表现学术和工程能力,因为经常一块打球所以考虑到应该不会是黑推,全用。除了 faculty 我还找了 IBM 实习的 mentor,这篇用 professional 的项目,表现工程和 communication/leadership 啥的。

推荐信为什么能 make or break 呢?美本系统下的推荐信都是有认证的,所以大学会比较相信推荐人,那么他们的评价至关重要,如果有 connection,比如教授就是从该学校毕业的或者教授很知名,并且对你有高评价,这就是顶级的推荐。如果不认识推荐人但是评价很好,写出了很多细节来支撑你的 qualities,尤其是 research 或者非 term project 的项目,这就是强推。如果不认识推荐人并且普通课程推,也给了好评价,这种就一般般,不强也不伤。相反,黑推可以直接 break,有时候黑推不一定特别 explicit,但比如教授写“他就是上过我的xxx课,拿了A,但这就是我所有了解他的了”,这种就算黑推,所以千万不要找有这种可能的教授。

简历:concise and professional
我的推荐信是仔细设计过的,professional 项目一篇 research 一篇上课一篇实习,research-oriented 的两篇 research 一篇上课。所以基本我的简历就能完全对应推荐信的内容,大致就是两个 research projects,几个课程 projects,一段实习。没啥亮点,直接在 overleaf 上找的模版,找给我写推荐信的美国 supervisor 改了改。我建议参照模版,压缩到一页, major GPA 如果比 overall 高要注明,class rank 如果有要注明,每一个奖项要注明含金量或者 bar,志愿者活动/社团/学生会就别写了,与其两页松松垮垮的不如一页简洁一点,至少给人一个不水的第一印象。

文书:It just doesn’t matter
怎么说呢,我是真心觉得这玩意儿不重要。。。(除了 CMU SCS 的一些项目)
SOP 我就基本把简历和推荐信里的经历串起来 paraphrase 了一遍,没亮点也没黑点吧。我觉得这东西很鸡肋,从高中申请美本的时候我就特抵触这个东西,为什么说他鸡肋呢?因为如果你有点东西,比如你有 paper,the paper will speak itself,如果你科研有结果,那么你的 CV 和推荐信一定都可以表现出来,那你写这个 sop 就非常简单了,平铺直叙,我进了 X 教授的实验室,读了 Y paper by Z,做了什么尝试,得到什么结果,future works 等等。如果你像我一样没什么东西,那么写这个 sop 就是浪费时间,因为你怎么编都会显得很不自然很 contrived,如果担心 sop/CV 和推荐信对不上,你还不如就实话实说。所以我的观点是,你当然应该花时间去写,保证没有语法错误,但不要太重视,不要去斟酌每一个词的用法,更不要每个学校都 customized,最后一段 why school 换一下名字就完了。个人不觉得 sop 可以逆转申请结果,语言是 filter,paper 是 bug,GPA 和推荐信直接决定你的档次,别的材料都叫 supporting materials,master 那么多申请人你的文书能让人家看 30 秒就不错了。

PS (diversity statement) 就更不重要了,don’t say something insane,you‘ll be fine。

可以搭个梯子看看Quora,如果phd都不重要,master就更不重要了: https://www.quora.com/What-should-be-the-flow-of-thoughts-in-a-statement-of-purpose-SOP-for-graduate-admissions

Some quotes: “Show us what you’ve done. Write in simple, direct, flawless English. I have seen many flowery phrases like “my first trembling steps” in applications statements, but never in successful application statements.”

“The short version: 99% of SOPs sound identical. Either avoid wasting time on it, or make it original by doing something different. But know that in all likelihood, it will likely have little impact on your admission chances”

“Admission committee members are reading about 100 applications over 2 or 3 weeks and they’re making quick decisions about whether to put the person on the long list for further consideration or not (each application is usually read by at least 3 faculty). As such, you simply don’t have time to read every word and you’re looking for things that make quick impressions. Unless you won the Westinghouse prize, your childhood is going to be pretty identical to hundreds of other people.”

一点 emo 的总结:

去年七月在 IBM 刷了一个月的 leetcode,八月份回来跟刘老师正式挂了 RA,九月份按部就班地上课,报告 research 进度,当时就想这样的日子也挺好的,有车有酒有朋友,lab 里还有钱拿,之前非要三年毕业的想法越来越淡了
但十月份,过了 21 生日,看着大家申研申博找工作,觉得自己过得太安逸了,家里的意思是无论如何都得读研。然后查了查 banner,吓了一跳,竟然已经 119 个学分了
10月底,临时决定申研,三年毕业
停掉了 lab 里的事,注册了 1p3a,一直潜水不敢说话,觉得自己目前就两年的背景,17年学了一堆国关政府,18年6月才开始写第一行代码,水 research 水实习,GRE 没准备,跟常规毕业的没法比,当时想法特别卑微,我想今年申请就当玩玩,录的好再告诉大家,全拒了就当啥都没发生…反正我还有一年 backup
11/12月,不想再去回忆,五门专业课,diy 选校,报 GRE,找推荐信,做简历,research project,还有5个 final
考完 final 才开始看 GRE,关了自己一周,饿了叫披萨,困了就抽烟
12.28,GRE 出分,从 Chesapeake 开回堡的路上放着歌,可能是压抑太久了,大吼着一些 nonsense,回家之后发现嗓子哑了
12.31,在东京转机时查到了 4.0 的 semester gpa,这才和家里人漫不经心提一句,哦我今年顺便申了个研
这才开始大幅度调整学校,去了一些保底,看了看卡梅还有哪些没截的,随手报了 msin
因为准备的实在太匆忙,文书基本一周编完,1.15晚上在郑州的海底捞提完了申请,因为 replaceAll 用的不是很熟练,好几个学校名字都写串了
当时心态特别好,觉得只要来个保底就好,于是申请完就开玩,连续喝酒蹦迪了两周,至少不用清醒地面对过去半年的一切
然后就是不真实的三月,卡梅的 top 找工项目,高三 ED 被拒的杜克,大二转学被拒的康奈尔,曾经的梦校哥大,纽大柯朗所下的 Data Science,还有香槟/布朗/宾大,居然都来了 ad。。。一度后悔没试一下大 S 😂
能说的只有感谢,感谢刘老师给了我第一个科研机会 (劝退了 phd 的念头),感谢喻老师一直以来的指导和劝我读 phd,感谢 White 帮我改简历写推荐信分析最后的决定
感谢同届申请 CS 的各位,你们的优秀激励我变得更好
感谢帮我看过文书的所有人
感谢 mgk 的 at my best,lamar 的 DNA,陈鸿宇的行歌,宋岳庭的 lifes a struggle,周董的以父之名和四面楚歌,陪我度过了黑暗的 2019 fall
最后,感谢我自己,前两天收拾东西的时候翻出了一张图,这应该是去年夏天在 lab debug 的时候写的😂,不管今后的顾源变得多么世俗,都还会记得曾经如此真实地轻狂过,倔强过,也努力过


致那个不服输的自己, 2019/06

要做一个真正的Software Engineer了,Hello CMU

 

顾源
2020/05/03