Skip to content

[US]-16-陈德缘 M.S. in Software Engineering @ CMU

写在前面的自我介绍

坦白讲,虽然我拿到了CMU的录取,但我的标化成绩其实没有很突出。作为计算机四大名校之一,CMU在我的心里一直闪闪发光。CMU就是我的女神校哇!收到CMU的录取,我很惊喜。在这篇文章里,我会全面的介绍我对申请美国CS Master涉及到的各个方面的理解,以及我个人的经历:关于托福GRE、关于选校、关于文书、关于推荐信、关于伯克利交流生活、关于伊利诺伊理工暑期项目。

基本背景

GPA: 3.69/4 88/100

TOEFL: 104 (Speaking 23)

GRE: V159 + Q170 + AW4.0

Illinois Institue of Technology 暑研课程 + 推荐信 (大三结束的暑假)

UC Berkeley 学期交流 (大四上)

联系方式:sheepman314@gmail.com

可以看到,我的GPA不算高,全系排名20%多。托福过线,GRE还算不错。IIT是伊利诺伊理工大学,CS专排一百左右,这个项目介绍说是暑研,其实更像是一个project-based course。我是大三结束的暑假去的,之后会详细介绍一下这个项目。IIT的项目结束之后,我前往伯克利进行的学期交流,那时候我是大四上,正是申请季,也就是说,我一边进行学期交流,一边进行master的申请

申请结果

学校USNews(CS)csranking (Overall)项目名称录取结果
CMU11M.S. in Software EngineeringAD
Rice2052Master of Computer ScienceAD
UCI3024Master of Software EngineeringAD
NYU Courant3019MSCSAD
NEU4914MSCSAD
CMU11MSE-SSREJ
Brown2541ScM CSREJ
NYU Tandon3019MSCSREJ
UCSD169MSCSREJ
  • Pending: Columbia (MSCS), UT Austin(ECE-SE), USC(MSCS), NWU(MSCS), UCI(MCS)
  • 表格中NYU Tandon的排名借用的NYU的排名。NYU既有Courant本部,又有Tandon工学院。之前二者的CS专排是分开的,Tandon以前的排名是40~50,现在二者共用排名。

申请季之前的准备

我想把申请季定义得长一些,我觉得申请季是每年八月到次年四月。八月要是英语还没考完就要抓紧出分,之后要进行选校、写简历、写文书还有一系列的润色工作。

在申请季开始之前,最重要的事情当然是考出TOEFL和GRE了。

因为一直的计划都是境外升学,所以大一的寒假就在武汉报了个GRE强化训练班,连着上了十六天的课。回来之后就开始自学GRE,关于怎么学GRE,建议多看别人的经验贴,看看考高分的人是怎么学的。知乎寄托天下一亩三分地上都有很多学习GRE的经验贴。背GRE单词是一个快乐又痛苦的过程,背完感觉自己停滞许久的英语水平得到了提高……然后在大一结束的暑假首考GRE,326 + 3.5。这个战线其实是拖得比较长的。但是学期中间确实学校的课业比较重,所以利用暑假的两周连续复习了一下。

大三的寒假考了托福,先考GRE后考托福的好处就是托福的阅读和写作简单复习一下就没问题了,重点是听力和口语,这方面要多练。一月考完托福,104分(28+26+23+27)。我想再刷一下GRE的分,然后三月又考了一次GRE,329+4.0。虽然没达到我的目标分数330,但好在有进步。其实这次刷分没有很大必要,因为申请过程中我发现重要性的排序是GPA > 托福 > GRE。托福如果能达到105以上可能更好,但我后来又考了一次,没认真复习,还是104,所以就得过且过了。

也就是说,在大四开始前考完了英语,比较安心,这也使我有精力去参加之后的交流项目。

申请季进行时

Timeline

八月,我在伯克利。这时候,我尚在适应那里的生活,本该进行的选校计划一直拖拖拉拉。但是,我从大二起就一直活跃于一亩三分地论坛,了解各种学校的信息,所以,虽然我没有把准备申请的学校列在一张表格里,但我对很多学校都有大致的了解,知道三维(GPA/TOEFL/GRE) 大致多少可能会被录取。这一切,都得益于以往的各校的学长学姐们在一亩三分地论坛的汇报和介绍。同时,在这里呼吁大家,早点注册账号,完成任务,攒大米,才能看帖子里的关键信息。

九月,我的申请进度一般。伯克利的学习生活很紧凑,多余的时间我都在看各个学校的信息,然后自己制作一个大表格,将各种信息塞进去:档次(彩票/冲刺/主申/保底)、项目链接、网申系统链接、申请截止日期,托福GRE寄送code、补充信息等。然后我注册了几个学校的网申账号,看了一下里面需要填写的信息,对网申系统需要填的各种东西有了了解。这一步可以早点进行,因为网申系统都开的比较早,然后注册了后也要小心上传文件等操作,因为账号是不能重复的,会根据注册邮箱、姓名和生日年月日判断,然后有的比较坑的系统上传文件后不能改,不过大部分是可以改的。

十月,我考虑了一下,找了中介的半diy项目。作用就是节奏一下就快了起来。确定了选校的名单,项目都是我自己选的,把九月做的表格里的学校和项目挑了一下,确定了十四个项目。这个月完成了简历,简历和文书一样重要。然后确定了文书的结构和素材。然后联系了三位教授,请他们做推荐人,谢谢这些教授们的推荐。因为推荐人不只是写一封推荐信然后上传到各个学校这么简单,还要在网申系统里填写一些信息,做打分的工作的。

十一月,完成了文书的初稿,初稿是针对一个学校写的,然后进行修改,改了几次后定稿了。每个学校的文书都是有一些修改的。先写出来的文书相当于自己的模版,之后就在这上面进行一些针对性的修改。然后将我要申请的十四个项目分为了三批,大致是按截止日期分的,每个时间段申请这几个学校。月底的时候把第一批学校的网申填了一下,主要是推荐人的信息填好,再礼貌地和老师们发送一封邮件,提醒一下ddl。

十二月,部分学校是12.15日截止,提交完毕了这些学校,之后的文书改起来也更快了。然后一月中旬把最后剩下了三个学校提交了。

关于选校

选校过程中,最重要的一点,就是问自己,如果只有这一个项目被录取了,是否愿意去。

选校过程中需要注意的几点是:

  1. 选校不止是选校,还有选项目。一个学校可能有很多个CS相关的项目,比如说CMU。然后,有的学校的CS项目可能是Professional或者Meng的,这种项目都是就业导向。选的时候做好功课。
  2. 注意每个项目的偏好。有的项目可能只看重GPA,比如USC;有的项目基本只录取海本,很少录取陆本,比如Upenn;有的项目可能比较看重985211,比如Columbia,USC,NYU Tandon;有的项目比较看重整体背景的match,这个时候文书、海外交流、实习的重要性有所体现,比如CMU的几个项目;有的项目可能三维达标就还不错,比如Rice,Rice今年录了好几个南科大的;有的项目越早申请被录取的概率越大,比如NEU,12.20之前提交的录取的概率很大,之后提交的很多都没成功保底。
  3. 一定要区分好档次。彩票冲刺一定要有,主申和保底也不能缺。选校名单多向别人请教建议。也多参考以前的学长学姐的选校,还有和自己背景相似的人的录取结果。
  4. 把想去的每个项目研究透彻。申请结束后,我才发现自己申请的有几个项目有的地方其实不太适合我,也是功课没做足。比如说NYU Courant都是晚上上课;比如CMU的MSE-SS项目的课程方面有些不太适合我(正好我也被拒了)。所以每个项目都需要仔细研究清楚。还有的地方是极少数的学校要邮寄成绩单,比如NYU Tandon。还有的要WES认证,虽然我申请的所有项目都不需要WES认证,但如果需要的话,一定要很早开始做,WES认证需要的时间比较长。
  5. 考虑的长远一些,多加入一些考虑因素。比如每个项目的找实习、找全职的数据怎么样。比如学校周边的安全系数,生活便利程度等等。

关于简历

简历是很重要的,因为篇幅少但涵盖的内容多。简历上的项目可以和文书的项目对应,也可以写上文书里写不下的项目。然后简历的篇幅不用过长,我的是一面纸。内容特别丰富的一面半,两面应该也没问题。不过不用为了增长篇幅而写一些技术性含量低的东西,还是精华一点比较好。我没有涵盖校园活动之类的东西。个人认为和专业无关的东西可以省略。具体怎么写简历多google搜索一下吧~ 看看描述项目的时候适合可以用什么动词分点写项目内容。然后也可以找一些平台修改润色一下。

关于文书

每个项目对于文书的要求可能有所不同,一定要查清楚。比如我准备去的CMU SE项目官网就有对文书写作的指导。

在说我用的文书格式之前,我想先说说match的问题,即文书一定要体现自己和这个项目的契合。比如说想申请的项目是Software Engineering,那么就不要全部写自己做Machine Learning的经历。这点非常重要。当然,如果是general的CS项目的话,那么从广度/深度的方向写都没问题。

说说一个比较通用的,中规中矩的格式:

  1. 自己的motivation,可以有一个小项目之类的引入,表达自己的热情,言简意赅。这一段也可以简要提一下自己的short-term goal。
  2. 写研究/实习项目,可以写2~3个。我写了两个字数已经挺多了。然后需要注意的是,写的时候除了写自己做了些什么以外,要写通过这段经历自己展现的特点,比如说leadership,快速学习,设计管理等能力。然后个人认为最重要的一点是,每段末尾写两句话,结合要申请的这个学校的特点,说说这个学校的哪里匹配自己的这段经历。比如说有一段写的是机器学习的项目,就可以写之后想在这个学校加入ML的research group(查项目网页,写上具体名字),或者上什么ML相关的课(找到具体课程名)来进一步提升自己。别的方式也可以,总是就是表达这个对项目的喜爱的同时结合自身的特点。
  3. 写自己的short-term goal和long-term goal以及为什么这个项目能帮助自己实现这些目标。同时如果这个学校有要求学生在文书中写自己的research意向的话,也可以结合写写。
  4. 然后我写了自己的交流经历,写了自己对同学的价值,以及如果能被录取的话能如何展现自己的价值,加入什么student organization之类的。这一部分也要对目标学校做做功课。
  5. 这一部分具体继续结合项目写写吸引自己的地方,比如地理位置,career service,不能写得笼统,要具体到学校开展的什么活动,有什么求职平台,展现自己对项目的充分了解。其实第三部分和这一部分也可以合并,看怎么样整体比较流畅吧。
  6. 结尾一两句话可以简单点,但也要有点睛的地方。

可以看到,全文经常要提到和项目有关的细节,所以针对不同学校,都要做足功课,修改文书的一些地方。其实模版可以比较固定,但是细节处需要针对性的修改。

推荐的修改文书的平台:Fiverr,适合修改语言和整篇结构,对专业内容部分是没有很多帮助的。然后需要挑选一下,评论不好的慎选。可以选评分高的,经验丰富的。一般改的挺快,上面有预估时间。我用过两次,第一次体验不错,第二次一般。当然第一次挑的仔细一些,选的package贵一些。

还有要注意的地方是,部分学校除了文书以外还需要一篇Personal History,这篇文章主要体现自己背景的多样性。

申请季过后的总结

提交完各种申请之后,迎来的就是漫长的等待了。申请季我使用的一直是gmail,暂时没出现过将重要邮件放到垃圾箱的问题。每天刷刷邮箱,看看有没有漏材料需要补交的情况,比如我粗心没发现USC要求中英成绩单,只上传了英文的,后来审到我的材料让补交中文成绩单。

调整好心态。刷刷leetcode之类的。不多说啦。

关于软背景提升

软背景提升有很多方面:海外交流、实习、实验室经历。

海外交流

伊利诺理工大学暑期项目 IIT

参加这个项目是大三结束的暑假,因为自己的软背景很不足,当时既没有交流也没有实习。所以选择了这个四周的暑期项目+伯克利的学期交流项目。

这个项目压力不大,但收获挺多。结束的时候老师很爽快的答应帮忙写推荐信。

介绍下这个项目,有很多不同的课题选择,每个课题有一位对应的老师,我在选择的时候参考了 rate my professors 这个网站上对教授的评分……因为去之前就想要是能通过这个项目要到一封推荐信就最好啦,所以选择了一个学生们都觉得超级赞的教授~事实证明这位老师确实很棒。四周的时间很短,但学到了很多东西。项目最后还有一个成绩单,我得了A(4.0),在网申的时候也填上了这个成绩,虽然是很短的项目,成绩说服力不大,但也增添了一些多样性。

UC Berkeley学期交流

不愧是四大之一,课程确实安排的很厉害。Lecture, Discussion, Lab一应俱全,有不会的问题不怕没人解答,大胆问。我选的课是61A, 61B 和 170. 伯克利的61系列很出名,所以虽然是基础课,我也从中学到了很多。

需要注意的是,我上的课都是几百人的规模的,所以和教授交流不多,我也没有要推荐信的计划。当然如果想在学期交流时要推荐信也是可行的,具体就是可以选小班一些的课,或者office hour多去和教授交流。作为交流的学生,选课的优先级很低,有些课没法选,这点要做好心理准备。

我是大四上学期去交流的,所以交流学期还没结束的时候,我的申请项目都提交很多个了,所以没有用上交流的成绩。但是能获得这么高的教育质量我觉得很值得。

实习

我申请的时候是无实习经历的,这点也没有为我带来太大的阻碍。但不代表实习的作用不大。根据我的体会,我被拒绝的CMU MSE-SS项目是非常偏好有实习的同学的~然后CMU还有一些别的项目也是偏好有实习经历的同学的,具体的可以去查下资料。甚至有一些项目偏好有几年工作经验的人。

找实习的话,虽然我没有什么发言权,但是建议积极找,要做很多准备。除了BAT以外,一些知名的外企也可以试试,比如Microsoft、Amazon、PayPal、Google、VMware、IBM等,这些都有招聘实习生的。

关于CMU SE SV项目

这是我最终决定去的项目,也是我申请的所有项目中最喜欢的一个了。收到录取后真的感觉像中彩票一样。谢谢好运气。

不过所有的项目都有利有弊嘛。这个软件工程项目在CMU的硅谷校区,找工作很方便,找工数据也非常好。但是呢,毕竟不是在主校区,没有各种丰富的设施,而是两栋楼,坐落于NASA旁。这个项目选课限制比较大,就是说一些课要从给定的范围内选,不过也可以上好几门CMU的“神课”。这个项目录取的人背景很丰富,有好些工作了好几年的同学,也有一些海本的同学,也有很多和我一样的陆本同学。

总之很期待之后的学习生活。

写在最后

为什么选择申请master

有学弟学妹问过我,学姐,我应该选择保研、考研、直接工作,还是出国呢。这个问题,其实还得问自己啦。我想出国,所以我选择出国。至于PhD和master之间的选择,对我来说也很简单,我不想读PhD,对科研没有兴趣,只想读完Master早些开始工作。所以,我的路走的并不曲折也不坎坷,从大一入校开始我就决定了之后选计算机专业,也决定之后要出国读研究生。 我对国内保研、考研的信息并不了解,如果你对保研、考研感兴趣,可以多看看飞跃手册关于这部分的文章,多查查这方面的资料。不过,我可以提供几个在做选择的时候思考的方向:

  1. 确定自己想出国吗?国外并不是那么好玩的……虽然刚去美国感觉挺新奇的,但待了半年后,深感美国大部分地方就是大农村,地广人稀。最难的,是无法解除的,一种深深的孤独感。这种孤独感,你可以忍受吗?不过国外的教育资源确实优秀。我想出国,是因为我想接触形形色色的事物,想拥有在别的国家生活求学的经历,想多一笔人生体验。

  2. 确定想出国后,关于选择master的思考。首先呢,读master注定是一笔很大的消耗,是一笔对教育的投资。和父母应该多沟通、探讨,让对方知道自己的想法与规划。

  3. 之后呢?不论你选择了什么,之后你想要什么呢?出国以后是想留美,还是回国呢?在我看来,走一步看一步不是最好的选择,我喜欢事先规划。我清楚的知道自己想要什么,我想用一年半的时间读完master,工作几年后再回国,这是我一直以来的想法。虽然之后会不会有变数,我不知道,但这是我此刻前进的方向。

感谢

特别感谢我的导师王琦老师。谢谢计算机系的所有老师和同学们。

谢谢一直支持我的爸爸妈妈。谢谢所有好朋友们。

谢谢坚持下来的我自己。这条路上,我也有过怀疑,有过失落,有过迷茫,但幸好坚持了下来,迎来了美妙的结果。