时间: 2019-10-16 文章来源: 洋蜜蜂Online Tutor
今天洋蜜蜂分享一下我们学员从自动化转到CS(Systems)申Ph.D的经历与反思。
本帖将依次介绍个人背景,申请要素,常见问题&个人观点,申请总结以及MS两年的时间线。
先报一下背景:
本科读的偏控制的自动化,systems相关课程修过C/C++、电路模电数电、微机原理/单片机。没什么科研/项目/竞赛经历。
16 Fall申了13个ECE/CE MS Program,只拿到了西北CE,USC CE和UFL ECE,拒信从CMU吃到UTD。
18 Fall申了13个CS Ph.D Program,拿了UIUC, Gatech, Rice和Northwestern的Offer,吃了四大, Washington, Madison, Columbia, UCSD, Chicago的九连拒。
决定性因素:
梳理这两年的经历的时候想了很多,但感觉真正重要的只有两点,并且都不完全是个人可以掌控的,所以就简单写写吧。简短地说,入门research的重点是找到一个好的启蒙老师,Ph.D申请的重点是拿强推。留学生教育,大学成绩。
启蒙老师很大程度上会决定你会不会喜欢以及如何看待research,并且好的老师会让学生有能力正确评估以后遇到的导师。楼主比较幸运,遇到了一位可以说是手把手地把楼主培养起来的老师。当然,套老师的时候花了好一番功夫。一个好的老师会花很多时间与学生相处(1小时project meeting + 一下午group hackfest + 一上午seminar,当然后两个可以不去),会耐心解答一些即便是比较蠢的问题,会乐意带着学生写论文,甚至会和学生一起打代码、debug。如果遇到一个仅仅把学生当劳动力的老师,估计学生会很难喜欢上research。同样是打工,有什么理由不去工业界挣更多的钱?留学生教育,大学成绩。
好的推荐信首先是要出自与你合作过、对你很了解的老师。这里的合作是指有定期一对一的meeting,独立的project,学生在扮演一个幼年Ph.D的角色,而不是单纯帮Ph.D或postdoc干脏活累活(比如处理数据/写代码)。楼主的三封推荐信分别来自合作了一年(OS)、半年(Arch)和两周(Compiler)的老师。根据已知消息,三封应该都是强推。其中第一封最强,应该在很大程度上决定了最终的Offer,因为在campus visit的时候那边的老师普遍把楼主看作第一位老师的学生。
其他因素:
相比于以上两点,论文对于转CS申Ph.D的同学就显得不那么重要了,有publishable的工作即可。因为MS时间很短,paper没发出来很正常。楼主在提交申请的时候只有一篇二作在投,一篇二作在写,没有任何发表。不过指导老师以前都发过很多篇相同档次的paper。但是对于本硕双CS学位的同学就不一样了。
套词的作用因人而异。楼主在申请的时候并没有发邮件套词,因为导师表示他会把套词邮件直接spam掉,除非是Berkeley或者什么学校的学生发来的,如果套词的话应该去conference当面聊,因为那里是搞social的地方。楼主确实去了conference,可惜当时比较菜并没有套到任何老师。仅有的一点经验是如果把套词当成面试那么大概率是套不到人的,精心准备一些paper有关的问题或许有点用,毕竟当时mentor给我讲“People always want to talk about THEIR research”。
课程与成绩应该是最不重要的了。至于为什么,主要是上课的那一套和做research那一套完全不是一回事。上课是要把前人给规定好的东西做好,research是把前人没做过的事做一做,两者没太大关系。当然,你要是在MIT读书然后6.828拿了个A还是非常impressive的。GPA过线即可,一般是3.5。课内project如果是publishable的可以在文书里列一下填充空间,楼主写了一个激发研究兴趣的project,并且介绍了一下总的research idea。G/T就更随意了。Toefl waive了,不让waive的就没申(竟然不信任MS,差评)。GRE用的之前的分数,151+168+3.0。
需要补充的一点是导师叫我在SOP里提一些research questions,教授想看这些,不管问得好不好。留学生教育,大学成绩。
在选校的问题上,导师认为要选一个big and good的地方,因为除了自己的导师,与其他教授和学生的交流合作也很重要,另外如果以后发现不喜欢自己的领域,也有别的领域可选(这点对于转专业申Ph.D的同学尤为重要,因为时间短很可能没法完全探索自己的兴趣)。楼主当时比较菜,外加没来得及做完申请功课,就按排名和地理位置选了一些打算拿到结果再看。
选Offer&Advisor:选Offer尽量选择有多位感兴趣教授的学校。这里强烈建议无论在哪里都要尽量去一下campus visit,在国内的话可以提前准备下VISA,如果没有邀请你可以主动问问。Campus visit的重点是考察老师及其学生。楼主主要考察了以下几点:(1)老师给我的角色定位是什么。好的老师会把你当做同事而不是下属,交流应该是平等的而不应该是下达命令。如果见面的时候把你当下属“教育”一通的话就直接拒掉这个老师吧。(2)组里学生精神状态如何,对老师看法如何。这一点基本上能反映老师是否nice。(3)学生是否对组里的和自己的项目以及研究方向有清晰的了解。如果说不清楚的话表明这个老师给学生的指导很有限。(4)这所学校换导师是否方便。研究兴趣的变化太常见了。(5)如果聊的不是给自己RA的老师但有兴趣合作的话,可以问问未来几年的研究计划是什么、对学生有什么期待。
Q&A:
Q:如何安排自己的两年?
A:楼主的两年大概可以划分为两个阶段。第一阶段以上课为主,楼主花了两个quarter外加一个寒假上了九门课,找到了一个比较感兴趣的领域并套到了一个老师。找到research做之后就可以进入第二阶段了,这个阶段可以继续套更多的老师并且慢慢减少coursework,把更多的精力投到research里。楼主的个人经验是可以找两个老师同时做两份research,使科研产出翻倍。同时开三个research也可以,不过时间可能安排不过来。这里不必担心搬多份砖老师不高兴,只要能保证进度就好,楼主的导师特别表扬了楼主能够同时在两个组里工作。
Q:如何找到第一份科研?
A:理论上是先读老师的paper然后去聊天,但对于转CS的同学(比如楼主)来讲在第一年可能还看不大懂paper。所以可以先上一些带大project的高级课程,楼主自己是做了个不错的quarter-long open-ended project套到了第一个老师。另外一种途径是找Ph.D聊天。楼主的第二份research是在一个local workshop上看到了一个Ph.D的工作,当场聊了一下,然后去找指导老师表达了一下兴趣。如果没有很好的机会,直接约个时间去问老师手头有没有事做也可以,楼主的第三份research就是问出来的。
Q:我要做多久、做多少research才能拿到Offer?
A:只能说越多越好,并且尽量涉及不同的方面。不仅仅是为了拿到Offer,更是为自己的今后research做准备。楼主涉及了Systems的三个方面,OS、Architecture与Compiler,经历了数次研究兴趣的变化,现在将将能确定一个大概的兴趣范围。但楼主并不能下结论说完成了这一切才能拿到Offer,毕竟我也不知道到底是吃了一个包子就饱了还是三个都吃完才饱。
Q:楼主在这两年的准备过程中有什么失误?
A:最大的失误就是没有早点开始研究各个组的paper吧,申请的时候不知道自己具体属于什么领域,也不清楚各个学校都有什么组,各个组都在做什么,看了个大概就把申请交掉了。等结果下来才发现给自己发offer的都是领域能match上的,所以如果申请能更有针对性的话结果应该会更好一些。
Q:我要选择热门的领域还是自己喜欢的领域?
A:兼而有之最好,比如Machine Learning + Systems。如果一定要分一个优先级的话楼主会先选择喜欢的领域。因为风口的变化是无法预料的。现在AI是热门,但就楼主聊过的教授与同学而言,没有人有信心说AI会一直火下去,历史上也是几经沉浮。当然,你要是吴恩达的学生就笑笑过去好了。保守点的说3-4年,还有的说5-10年。但不管几年,对于一个researcher而言都太短了。相较而言,对一个领域的热爱就稳定多了。
总结:
转CS申Ph.D远没有想象中难,重点是选择正确的路线,过去两年的经历证明以推荐信为主的策略在实践中比较成功。楼主自己也不怎么聪明,时常被一些问题卡住觉得自己智障;也没什么口才,口语都不利索大多数时间只能安安静静听老师讲话;但万幸不怎么糊涂。希望这个帖子可以帮助一些有兴趣但感觉无从下手的同学勇敢追求自己的理想。
海外留学学不会?洋蜜蜂在线来帮你。专业在线辅导:数学Mathematics、物理physics、化学chemistry、生物biological sciences、地球科学earth sciences、计算机科学computer sciences、医学medicine、工程学Engineering、会计Accounting、统计学statistics、精算科学Actuarial Science等涵盖大学90%以上科目均有专业tutor为您辅导。留学生教育。