OMSCS@Gatech过来人总结的干货
9219274
答完上面的问题,手已经酸了,找工作写cover letter时都没这么肯打字过。。orz 只是想尽量多还原自身主观感受和一些客观事实
之前也有同道中人发过OMSCS的介绍,在这里想给个另外的视角,尽量不重复介绍过的内容,给大家讲一些其他方面的"方便面"(凑合当成一种干货吧)
稍微想了一下当年的自己申请之前都想了解什么问题,以下就按这个思路展开,尽量废话少说。
申请的建议都有啥?个人觉得就这些。。。{:4_97:}
1. 想跳槽的PhD申请读这个的很多,当然大部分还是中年从业者。
2. 推荐信找计算相关的课程老师或同事写最好。甚至让公司老板赞助也不是不可以。
3. 网上很多omscs的PS模板,基本上是先介绍自己计算相关的经历,再强调兴趣,再分析当前形势,展望自己与CS的未来美好“婚姻生活”。
4. 简历highlight CS相关课程经历和项目经历就行,好的GPA可能锦上添花,低的不放也罢。
5. reddit网站很多申请人背景帖子可以参考,转专业的新人不用担心,很多人都是和你一条船,也不乏文科生、艺术生(no offense),总体感觉OMSCS还是很看重申请者的兴趣和诚心。。(再扯就太虚了)
课程的体会到底怎么样?学到啥?值不值? (你才花6600,而且每天晚上都学习,还问值不值?{:4_101:})好不好拿A?(去omscentral看)
1. 基于自己经历和队友交流,基本分两种课程思路:一种抱团凑热闹学ML,AI,CV,Robotics for whatever reason;另一种打铁还需自身硬学computer system (software),走基础夯实路线,不仅想跳槽,还想跳个大的(小心劈了叉)
(个人走的是劈叉路线,只是因为总觉得不学一些基础,其他的课也学不会。。。)
2. 这里就主要说一下各个课程的特点和体会:
- computer network, CS必备基础课,讲的偏高阶,默认你上过本科课,课程project都很有意思,再也不用担心不知道防火墙是干啥的了,因为你会自己实现它,还会有模拟网络实现的练习。
- information security,课程内容很基础,都是概念性的,rewarding的是有意思的project,事实证明这也是必修课,因为真正工作中coding一般都要考虑到基本的安全实现,最后的project带你实现各种攻击网站的基本手段,一些软件工程职位会要求。而且你会对linux更加熟悉,用很多linux虚拟机。
- software develop process,比较全面的软件工程基础概念介绍,开始觉得没用和枯燥,直到naive的我在找工作时才意识到很多概念都看到过,甚至面试中有提,所以觉得还是对CS小白有用的,尤其将来想找SDE的人。各色的小project都是用java做,最后几个project合在一起是个大 project,有个人design和coding阶段,之后进入与team讨论,design和合作coding写doc阶段,队伍是问卷系统合理匹配生成,还是比较人性化。我的team有Microsoft的SDE,合作完后感觉自己与人家拉近了距离(虽然只是没找到工作之前的幻觉)。team project感觉还是挺practical的,从design到design review,到GUI mockup,到task decomposition,到manual/doc,最后到implementation和whitebox testing。不经历是不会知道有多麻烦,小组讨论了n次,有条不紊地进行,挺有团队合作的成就感,相信对你找工作或工作以后都有帮助。
- software architecture & design,非常全面地介绍了软件架构的方法和概念,again,对找工作面试还是有帮助的,毕竟是design方面的面经知识点。这里要提一点,整个OMSCS项目与传统on campus CS学位有个微妙的差别,感觉很多课是在鼓励学生走学术路线(接着读phd),也确实有很多中年从业者读完OMSCS走了phd或university research scientist的路线,毕竟Gatech是研究型大学,所以导致不少课程内容都与前沿research有关,老师会建议读很多paper,software architecture design这门课有很多paper review的作业,像GRE考试作文的argument,我本来作文很低,硬着头皮做了这么课的作业,得分倒还不错,也确实练了写作经验,但难处是你可能需要结合自己项目经历进行论述,如果没有,可以cite其他paper,但这可能对想当码农的人来说过于枯燥,从长远来看,对想做系统架构的人或许有用,这里只做个人体会,好坏自行判定。最后project也是个类似SDP课的team project,3-5人,自行组队,讨论,design,coding,demo,project主题每学期可能都变,有course register网站,有公交车模拟系统,语言和框架自己选择,很考验执行力,不做好time management会最后忙的很惨(最惨的就是通宵到due还迟交。。。)。但个人觉得真的很锻炼practical coding的能力,很像真正工作环境,你如果不喜欢这种大作业,先请好好想想你真的喜不喜欢当码农。
- software analysis and testing,一开始有些偏见,testing据说比SDE更low一点,但学下来后彻底改变了对此课的看法,老师讲的很清楚,很耐心,课程内容编排感觉是最完美的。涉及的的方法很多,project也很match课程内容,你会了解很多想都没想过的接近工业界的软件分析和debug手段,对软件工程师工作应该很有帮助,当然不一定反应在找工作过程中。
- database,必需程度不用赘述,老师讲课很清楚,也很系统,team project比较有意思,做一个全面的网站,前端/后端/数据库都能练到,重要的还是小组合作的经历。exam很简单,帮助你掌握基本知识点。
- advanced operating system, 非常非常全面的操作系统知识,很多课程内容来源于最真实的科研论文,老师很好的把很多著名的论文串在了课程内容中,上完后才感觉真的很用心,讲的也非常清楚,缺点当然是期中期末复习压力大,闭卷考很多知识点,但绝不枉费认真的努力,你会学到很多,长远来看会让人受益。除了干货满满的课,project就像干柴上一把烈火,燃点满满,上来先用虚拟机相关库编个CPU调度器和内存协调器,开始做之前觉得毕竟作业一,应该还好,但之后成了我最蛋疼的作业,绝对练能力(linux,c/c++ pointer, 底层CPU/RAM的知识,intensive debugging,virtual machine,etc.),不会C语言的可能要慎重。之后的作业还用barrier,RPC,multi-thread,我从对这些词的wikipedia都看不懂到最后debug它们,就是这么被逼出来的。你会发现到最后做完他们,真的很rewarding。
- machine learning,非常纠结的课,一开始不适应,因为老师assume学生上过基础课,讲得非常偏学术,也很全面,作业也很开放,自己选data,自己分析评价自己的结果,但做完后感觉很锻炼,不经历这样的练习就不会深刻掌握ML的内涵(虽然我经历过了也没达到完全掌握)。俩老师很风趣,都是大牛,学ML方向的人建议上reinforcement learning,也是同样的老师讲。考试很虐,需要理解通透,还要发散思维。上完这课感觉Ng的课只是入门,当然学到多少与否很看自己主动性。
- 其他课不多评论,omscentral很多英文评论。
对找工作有多大用? (没大offer之前不敢妄下评论{:4_107:})
- 个人体会非IT行业的计算相关工作(DS,ML,SDE)还是会看OMSCS的,毕竟比没有CS学位的candidate的强,而且有了学习经历,真正工作中的coding能力会比原来有很大提升,again,看你自己学了多少,没人逼着你学。
- IT行业的SDE职位看你内推牛不牛了{:4_100:},海投过个简历关也可能,但面试阶段就真看你学的到底咋样和刷的到底咋样。
- 课程中的同学有很多来自各大公司的牛人,如果能套个近乎,内推没准用得上,更别说你或许帮过一个FLAG的lead解答过问题,剩下的自己去想吧。。。
麻烦看得想睡觉之前别忘给点大米,祝同僚申请学位和工作顺利!
之前也有同道中人发过OMSCS的介绍,在这里想给个另外的视角,尽量不重复介绍过的内容,给大家讲一些其他方面的"方便面"(凑合当成一种干货吧)
稍微想了一下当年的自己申请之前都想了解什么问题,以下就按这个思路展开,尽量废话少说。
申请的建议都有啥?个人觉得就这些。。。{:4_97:}
1. 想跳槽的PhD申请读这个的很多,当然大部分还是中年从业者。
2. 推荐信找计算相关的课程老师或同事写最好。甚至让公司老板赞助也不是不可以。
3. 网上很多omscs的PS模板,基本上是先介绍自己计算相关的经历,再强调兴趣,再分析当前形势,展望自己与CS的未来美好“婚姻生活”。
4. 简历highlight CS相关课程经历和项目经历就行,好的GPA可能锦上添花,低的不放也罢。
5. reddit网站很多申请人背景帖子可以参考,转专业的新人不用担心,很多人都是和你一条船,也不乏文科生、艺术生(no offense),总体感觉OMSCS还是很看重申请者的兴趣和诚心。。(再扯就太虚了)
课程的体会到底怎么样?学到啥?值不值? (你才花6600,而且每天晚上都学习,还问值不值?{:4_101:})好不好拿A?(去omscentral看)
1. 基于自己经历和队友交流,基本分两种课程思路:一种抱团凑热闹学ML,AI,CV,Robotics for whatever reason;另一种打铁还需自身硬学computer system (software),走基础夯实路线,不仅想跳槽,还想跳个大的(小心劈了叉)
(个人走的是劈叉路线,只是因为总觉得不学一些基础,其他的课也学不会。。。)
2. 这里就主要说一下各个课程的特点和体会:
- computer network, CS必备基础课,讲的偏高阶,默认你上过本科课,课程project都很有意思,再也不用担心不知道防火墙是干啥的了,因为你会自己实现它,还会有模拟网络实现的练习。
- information security,课程内容很基础,都是概念性的,rewarding的是有意思的project,事实证明这也是必修课,因为真正工作中coding一般都要考虑到基本的安全实现,最后的project带你实现各种攻击网站的基本手段,一些软件工程职位会要求。而且你会对linux更加熟悉,用很多linux虚拟机。
- software develop process,比较全面的软件工程基础概念介绍,开始觉得没用和枯燥,直到naive的我在找工作时才意识到很多概念都看到过,甚至面试中有提,所以觉得还是对CS小白有用的,尤其将来想找SDE的人。各色的小project都是用java做,最后几个project合在一起是个大 project,有个人design和coding阶段,之后进入与team讨论,design和合作coding写doc阶段,队伍是问卷系统合理匹配生成,还是比较人性化。我的team有Microsoft的SDE,合作完后感觉自己与人家拉近了距离(虽然只是没找到工作之前的幻觉)。team project感觉还是挺practical的,从design到design review,到GUI mockup,到task decomposition,到manual/doc,最后到implementation和whitebox testing。不经历是不会知道有多麻烦,小组讨论了n次,有条不紊地进行,挺有团队合作的成就感,相信对你找工作或工作以后都有帮助。
- software architecture & design,非常全面地介绍了软件架构的方法和概念,again,对找工作面试还是有帮助的,毕竟是design方面的面经知识点。这里要提一点,整个OMSCS项目与传统on campus CS学位有个微妙的差别,感觉很多课是在鼓励学生走学术路线(接着读phd),也确实有很多中年从业者读完OMSCS走了phd或university research scientist的路线,毕竟Gatech是研究型大学,所以导致不少课程内容都与前沿research有关,老师会建议读很多paper,software architecture design这门课有很多paper review的作业,像GRE考试作文的argument,我本来作文很低,硬着头皮做了这么课的作业,得分倒还不错,也确实练了写作经验,但难处是你可能需要结合自己项目经历进行论述,如果没有,可以cite其他paper,但这可能对想当码农的人来说过于枯燥,从长远来看,对想做系统架构的人或许有用,这里只做个人体会,好坏自行判定。最后project也是个类似SDP课的team project,3-5人,自行组队,讨论,design,coding,demo,project主题每学期可能都变,有course register网站,有公交车模拟系统,语言和框架自己选择,很考验执行力,不做好time management会最后忙的很惨(最惨的就是通宵到due还迟交。。。)。但个人觉得真的很锻炼practical coding的能力,很像真正工作环境,你如果不喜欢这种大作业,先请好好想想你真的喜不喜欢当码农。
- software analysis and testing,一开始有些偏见,testing据说比SDE更low一点,但学下来后彻底改变了对此课的看法,老师讲的很清楚,很耐心,课程内容编排感觉是最完美的。涉及的的方法很多,project也很match课程内容,你会了解很多想都没想过的接近工业界的软件分析和debug手段,对软件工程师工作应该很有帮助,当然不一定反应在找工作过程中。
- database,必需程度不用赘述,老师讲课很清楚,也很系统,team project比较有意思,做一个全面的网站,前端/后端/数据库都能练到,重要的还是小组合作的经历。exam很简单,帮助你掌握基本知识点。
- advanced operating system, 非常非常全面的操作系统知识,很多课程内容来源于最真实的科研论文,老师很好的把很多著名的论文串在了课程内容中,上完后才感觉真的很用心,讲的也非常清楚,缺点当然是期中期末复习压力大,闭卷考很多知识点,但绝不枉费认真的努力,你会学到很多,长远来看会让人受益。除了干货满满的课,project就像干柴上一把烈火,燃点满满,上来先用虚拟机相关库编个CPU调度器和内存协调器,开始做之前觉得毕竟作业一,应该还好,但之后成了我最蛋疼的作业,绝对练能力(linux,c/c++ pointer, 底层CPU/RAM的知识,intensive debugging,virtual machine,etc.),不会C语言的可能要慎重。之后的作业还用barrier,RPC,multi-thread,我从对这些词的wikipedia都看不懂到最后debug它们,就是这么被逼出来的。你会发现到最后做完他们,真的很rewarding。
- machine learning,非常纠结的课,一开始不适应,因为老师assume学生上过基础课,讲得非常偏学术,也很全面,作业也很开放,自己选data,自己分析评价自己的结果,但做完后感觉很锻炼,不经历这样的练习就不会深刻掌握ML的内涵(虽然我经历过了也没达到完全掌握)。俩老师很风趣,都是大牛,学ML方向的人建议上reinforcement learning,也是同样的老师讲。考试很虐,需要理解通透,还要发散思维。上完这课感觉Ng的课只是入门,当然学到多少与否很看自己主动性。
- 其他课不多评论,omscentral很多英文评论。
对找工作有多大用? (没大offer之前不敢妄下评论{:4_107:})
- 个人体会非IT行业的计算相关工作(DS,ML,SDE)还是会看OMSCS的,毕竟比没有CS学位的candidate的强,而且有了学习经历,真正工作中的coding能力会比原来有很大提升,again,看你自己学了多少,没人逼着你学。
- IT行业的SDE职位看你内推牛不牛了{:4_100:},海投过个简历关也可能,但面试阶段就真看你学的到底咋样和刷的到底咋样。
- 课程中的同学有很多来自各大公司的牛人,如果能套个近乎,内推没准用得上,更别说你或许帮过一个FLAG的lead解答过问题,剩下的自己去想吧。。。
麻烦看得想睡觉之前别忘给点大米,祝同僚申请学位和工作顺利!
