【选校信息-CS】杜克大学Duke ECE Master项目课程介绍+生活就读感受+实习就业的半年总结(2019)
2019 fall Duke ECE 关于学习项目课程介绍/生活就读感受/实习就业的半年总结
编辑于2019.12
有点村,不过树比人多,天气好,个人住的还是挺习惯的。
本科在北邮,学习压力还是不小的。最喜欢的一点是真的每天能感觉自己在进步,而且没有国内各种各样的破事,大量垃圾实验报告,不知所云的PPT,乱七八糟必须上的水课,强制被征用去凑人头的水课,以及经常能把人气死的后勤...
虽然我是MS学位,但是周围大多数同学以找工作为主,这方面信息不是很充足。不过从做research的个别同学受到反馈还是很好的。
平常除了多跟同胞交流,是否经常跟外国同学party? 一般一起玩什么呢?有什么值得注意的地方可以提醒新人注意的吗?:
国人太多,我几乎不party。
career service聊胜于无吧。。。。
周围同学人都非常nice,课程质量很高,老师人也很nice,能感受到自己每天的进步和集体感。
都挺喜欢的,就是有时候感觉还是有点村
来之前T110,还是不算流畅,但也没啥障碍
请介绍你们专业的申请录取和就业情况:
今天一口气考了六小时的final又做了一个期末作业的presentation,晚上实在是学不动了,分享下情况以及经验总结。目测周围同学应该没有发半年体会的,那我可能是最新的Duke ECE情况汇报。这里我对于大家关注的几乎所有常见问题都有相应回答~、
下面关于实习/就业,项目本身,生活以及自己一些对于找工作和职业发展的零碎感想这四个方面一一谈一下吧。
首先是关于大家最关心的实习/就业相关问题:
1.实习情况:去年在北美上岸情况还是很好的,SDE方向的学生可能七八成都上岸了,不过这里应该考虑到Amazon去年大量捞人这一现实,我们这届目前不算理想,到秋季学期结束目前不到不到20%。目前我认识的人有FB,nvidia, Amazon, Yext, Intuit, Arista等。今年上岸情况目前不够好应该也跟今年秋季大环境不好以及某门课今年换了个抽风的老师有关。
2.关于项目对于找实习情况分析:大家很自然的一个分析项目优劣的方式是通过实习上岸率。但是该指标有的时候并不是很理想的判断标准。比如某项目只喜欢招收科班学生,那么由于同学基础都很好那么上岸率自然高,你一个EE的学生去了不见得找工作情况很好,比如某个项目FB 面试多,但可能这些面试更喜欢给女生而不是男生,这个时候作为一个男生去的意义就要打折扣。Duke 对于找实习详细优劣分析如下:
Pros1: peer pressure 小。这是一个违反论坛目前对Duke ECE认知的结论。一般来说,论坛普遍认为Duke ECE招人比较多,因此peer pressure很大。但是,实际来说目前ECE学生一共不到90人(RCR登记人数统计),其中SDE+ML方向人数不到60(老师官宣)。而且,由于周围同学大多数是转专业进来,所以基本上第一学期完全不会参加就业竞争(这也是ECE实习上岸率不算很漂亮的最主要原因)。因此第一学期实际跟你一起投简历的人不会超过10个,跟CMU相比peer pressure何止是小,简直是小到感受不到。一个表现是同学包括我在内很多经历其实没有那么硬核的人都收到了FB/Google的面试。
Pros2: 项目声誉不错。Duke 学校的名气还是有的。而且虽然是ECE方向,但是ECE下设 SE这个track。所以我简历上经常标注是software engineering track了,感觉也不需要担心关于title的问题。
Cons1: workload大,一会儿介绍项目的时候会更详细说一说
Cons2: 找实习气氛不够浓郁,比起UCSD/UCS周围在mock刷题和面试中度过了一学期的同学,这边大家天天都在讨论什么虚拟内存,TLB,object layout,processor datapath...
项目本身:
1.课程体系相关:关于peer pressure问题我刚刚已经交待过了,说下不少同学关心的选课问题吧,总的来说课程还是非常给力的,但是有时候感觉workload有些太大了。下面讨论下课程的合理性和意义吧。
Pros1: 很多项目ECE质量高低来自于选CS课的容易程度。Duke不存在这个问题,因为我们自己一般觉得ECE课程质量比CS,ECE这边很多老师真的是在把培养优秀SDE当作自己的事业。
Pros2: 课程质量真的很不错,总的来说能学到很多东西。不仅仅是知识层面的,还有工程习惯的进步。包括且不仅限于设计接口,单元测试,设计test case,熟悉Git/Linux/emacs下的开发,写代码时候对于corner case的思考(defensive coding)。但从收获知识角度来说,我甚至觉得比单纯只是搬砖的实习要高的多的多。而很有意思的是,我觉得如果只会刷题,实习多半也只能搬砖了。。。
Pros3: 课程设计真是让人从入门到精通,课程的受众是0基础学生,但是却用很专业方式强行训练你的编程习惯和代码能力。久负盛名的ECE551,开学时候还在教大家什么是int类型,期末就已经开始讨论并发和C++对象在内存中layout,virtual inheritance了。整个课程107个due,从读代码到写代码到写test case各种都有,最后一个大作业是写一个简化版linux shell。从开学时候人均0编程基础到期末人均实现linux shell进步不得不说感觉还是很神奇的。。。
补充内容 (2019-12-15 05:53):
(拖了两天我又继续更新了)
Cons1: workload较大。正常来说第一学期的三门课分别是ECE551(C++编程与数据结构),ECE550(从计算机的底层硬件讲到processor datapath, cache,virtual memory和一些OS基础的东西)和ECE590(图灵机与算法)。如果说在以前几届ECE550还没有换老师之前,总的一学期workload还在正常范围内的话,我们这届的550简直对于我这种数电菜鸡来说是一种噩梦中的体验,抛去各种recitation中的项目和作业不谈,光是四个project时间开销就已经大的不行: 分别用Verilog&assembly实现ALU, Regfile, processor, 和一个可以在显示屏上玩的小游戏。而具体每个project内部又会有各种诸如不让使用behavioral verilog等各种乱七八糟的要求...过高的课内工作时间极大侵占了刷题和准备面试的时间(我这个学期一共才写了200道左右的题,其中一半都是面FB的前10天写的,那几天简直就是噩梦一般的体验)。不过这里作为过来人,我有一些建议给以后的学生来帮助回避掉这个问题:
A. 本学期550这个老师是第一次授课,对课程把握还不是特别清楚,但是该老师给学生提供匿名反馈的渠道。通过一个学期的陆续的反馈,中途已经取消了一些project了(没错,一开始甚至更多),因此大胆预测一波下届这门课workload就会比我们小一些。
B. 如果还是担心时间方面的问题并且对内容实在不是很感兴趣。也可以考虑不选这门课。周围有一些第一学期没有选550而是选CS516(数据库相关)的同学,然后第二学期通过找老师要permission code的方式选上568(后端+全栈),以及通过官方渠道注册旁听650(OS+DB+network)的许可。这里我很后悔一开始自己没有打探清楚...
C. 提前在国内多刷题。我觉得这条其实才是终极的解决办法。我其实很不理解,本科特别是大四有大段大段的空闲时间,为什么要专门来美国花着高昂的学费来上水课,然后挤时间刷题。我本科室友大四下开始集中刷题,来美国之前就已经600左右的题量,周赛五十的水平了。现在想来来这边之前刷个200-300的题实在不是啥难事。我当时对自己能力有些高估,对课内workload明显低估,因此在来这边之前就在课余做了做项目,没有大量刷题,最后这个学期过得非常苦逼。所以如果在国内多花些时间,哪怕是workload不低,但时间应该也是绰绰有余的。所以无论是不是来杜克,希望大家重视起来国内的这段时间。
Cons2: 第一学期的课程偏基础一些,因此第一学期简历不会被大量更新。正如我说的,杜克这边其实给编程0基础的同学也提供来一个很完善的系统学习的机会。所以第一学期课程总的来说都不是project-oriented 的那种作业特别适合写到简历里的课程,第二学期开始则几乎所有课程都是在做项目。第一学期的话ECE551的期末实现的linux shell可以写一下,如果选CS516的话可能项目也适合写一下。
生活感受:
从自然风光来说,Durham还是个很漂亮的城市的。树多且人少。蓝天白云下宁静的乡间公路一直延伸到远方视线不可及之处。到了晚上,则经常能看见被夕阳渲染成黄褐色的漫天云彩。学校的建筑大多有古意盎然,远近闻名的杜克教堂就坐落在工学院不远的地方。
日常生活来说,Durham可能的确是典型的美国大农村型城市,肯定不像NYC那样繁华且方便,娱乐饮食的地方也没有那么多。不过离华盛顿和纽约都还算近,假期出行也算方便吧。
人文环境来说是非常好的。周围老师都非常nice。ECE551的老师在周末也会对学生的问题以很快的速度进行回复,ECE590的Eric小天使则事必躬亲,快期末了还为了大家强行加班,硬挤出一堆office hour来。很多学生都吐槽说MS是学校的二等公民,这里我不知道别的学生与学校官方怎么想,但是感觉我认识的老师都在很认真的为MS学生考虑,将培养MS学生当作自己事业的一部分。此外,周围同学性格也nice的逆天,完全没有什么乱七八糟的勾心斗角,哪怕自己都快期末了,due也要肝不完了,在别人问问题的时候都会拿出大段的时间分享知识甚至亲自帮忙debug。在开学前就会有学长在新生群里写大段的入学报道攻略,在学期内也有学长专门花时间办小讲座,分享面试经验并且自告奋勇帮大家改简历。Duke总的来说真是个很团结和谐的地方。顺便一提,我一直以为,当物质富裕满足一定基本需求之后,快乐与财富的相关性是递减的。这个时候,你的人际关系是否和睦,你是否认可或尊敬周围的人很大程度决定了你快乐与否。
最后写一些零碎的感想和体会吧:
1.趁早刷题趁早刷题,你过去通过几年的奋斗来申请到一个好学校,远赴大洋彼岸,花着高昂的学费,结果选一堆水课就为了刷题是完全没有道理的。大四如果足够勤奋,那时间完全足以让大多数人刷足够多的题了。
2.早投简历。从周围经历和周围学长学姐反馈都是,在学期开始的时候拿面试还是很容易的,越往后越难。
3.对于非科班出身,自身没有足够多CS工程实践经历的人来说,注意这是你最后一个系统学习和锻炼自己的机会了。我是真不知道一个几乎没有工程基础,没有OS/DB知识,不熟悉linux/Git,连设计接口和test case都不会的人进了大厂除了搬砖之外又能做什么。。。反正我过去也在国内某大厂实习过,因为自己的能力不足和当时家里面恰好有些事情的原因度过了非常不美好的半年。虽然是大厂核心部门,但是由于能力不足,没有参加到任何核心工作中。而一个暑期实习最多也只有3,4个月的时间,恐怕也不会有多少时间让人ramp up。牺牲一年的学习时间来刷题,就为了搬几个月的砖真的值吗?回国其实也可以去外企,而且也没有那么难找。能在这边找到实习无疑是好事,但是值得牺牲多少其它的东西恐怕就要见仁见智了。
后面有什么问题我在楼里会具体回答,祝大家申请一切顺利!都能申到与自己的奋斗相匹配的学校!
补充内容 (2019-12-28 07:27):
工学院这边明年打算开一个FinTech的新项目,感兴趣的可以了解一下。貌似可以上不少跟我们一样的课?
Credit to Chengda
蟹老板背景:布朗大学计算机系2010届校友,自2009年起创办留学咨询工作室,累计top 30全程服务案例100人以上
主申方向:CS/DS/BA/MIS/美国本科TOP 50学校
申请服务:签合约保证录取,6万元/12所学校(5月1日前签约5万),自2019年起每年限10人
语音付费咨询:700元/小时(半小时400),可指导:选校定位、DIY申请、文书构思、面试模拟、背景提升、职业规划、编程学习等
预约服务请加小助理微信:895718791(注明:留学申请;不提供免费咨询)
DS/BA/CS/MIS精华文章整理:http://www.bossqiao.com/