NYU CS@GSAS(Courant) 院系介绍

avatar 88854
duffywan
77974
121
[align="left"]1. 基本介绍[/align][align="left"]近期刚毕业看见好多小朋友们收了nyu的offer,回想起当年我收到offer却找不到太多关于学校的信息,想给大家一些帮助欢迎更多小朋友加入nyu。[/align][align="left"]NYU的cs专业分布在两个校区,主校区(Washington Square), 布鲁克林校区(poly, tandon). 我介绍的是主校区的情况,也会夹杂一点poly校区的介绍。CS系位于Courant Institute of Mathematical Sciences, 也就是大名鼎鼎的NYU数学研究院下。CS系目前有两个项目Information Science 和 Computer Science. 在Courant院内转专业是比较灵活的,我们那一级就有同学从数学转到了IS. 我自己最开始1point3acres.com的是IS, 第二学期因为自己的兴趣原因转去了CS。[/align]
[align="left"]2. 课程介绍[/align][align="left"]CS项目需要36学分毕业,每门课3学分等于12门课毕业。必修课包含OS, Programming Languages(PL), 算法(FA),以及一个自选的capstone. 学院要求第一年把OS, PL, FA修完。每个学期的课程安排都有调整,具体在系里的网站上查到(无需权限)。这里说一下我自己修过的课和同学修过的比较火热的课吧。我的情况是:第一学期入学IS, 修了三门课(全是CS系的课,没有stern商学院的),第二学期转入了cs, 修了四门课,暑期实习用cpt抵了一门课,第三学期修了四门课,提前一学期毕业。正常情况同学们都是四学期毕业。[/align][align="left"](1) FA。第一学期修,总体感觉很好,老师非常棒及负责,每周还给我们加课,用的是自己写的书。每周都有作业,office hour也非常灵活欢迎你去。这门课对本科没有算法基础或者基础薄弱的东西提供了理论基础,边上算法课边刷题提升也比较快。NYU的算法课应该是有三个老师在轮流教,具体问题可以评论询问。[/align][align="left"](2) OS。第三学习修,因为我第二学期才转入cs,最晚可以在第三学期修完。os有两个老师在教,基本我知道的同学上的都是frank教授。课程包含4次lab以及期中期末两次考试。os难度属于中等如果你本科上过OS, 或者偏难如果你本科没有学过OS。上过os的人对于课上的概念肯定不会陌生,这门课lab占到了55%,好好完成lab很重要。Lab只能用C++,所以cpp基本知识需要了解一下。总体我很喜欢这门课,os的lab我觉得很好,能锻炼你的思考能力和design能力。好基友反馈她在修了os之后写码能力得到了很大的提升。[/align][align="left"](3) PL。第三学期修,不难但是挺好的课,可以广泛接触很多其它类型的编程语言,每两周一次作业,上了PL之后学习新的语言的应该会变快,有两个教授,都非常好。[/align][align="left"](4) social multiplayer game。第二学期修,是google ny office的员工兼职NYU的教授教。这门课我非常喜欢但并不推荐给每一个人,原因:课程基本不教理论,任务就是动手写三个online social multiplayer games。每个学期用的stack老师都会调整,基本用的都是现在最流行的技术,我上课的那一次用的是纯 javascript 和angular js做游戏。第一个游戏是individual project. 每个人选择一个游戏来写,大家写的都不一样没人帮的了你(bless)。你上网了解下这个游戏基本规则后就开始写game api。下一周老师会教unit tests, 用专门javascript的testing framework,之后写前端界面,老师教你做end to end test, 基本第一个游戏完成了。第二个游戏可两人完成,任务是做一个real-time social multiplayer game. 这门课我喜欢的原因在于它非常好玩而且学得是新技术,而且class size非常小,每学期几乎只有不超过10个左右选这门课,所以和老师,同学的交互非常多。每周都有due而且不算轻松,每次due的时候你需要做你自己的游戏,也需要帮别人的游戏写unit test或end to end test,这样你也能学习到别人游戏里精华的部分去改进自己的游戏。这门课的给分比较严格:只有当你的三个游戏能完全运转正常你才能收到A-或者是A。我觉得只要认真用心去做了都没问题的。如果你不喜欢理论基础很少或者是太多前端要写的活,这个课可能不适合你。[/align][align="left"](5) advance database systems: 第三学期修。 这门课是我的capstone课,它应该算capstone里比较简单的,课程没有考试只需要完成两次作业和final project。这门课上讲的东西还是挺有用的,比如database的各种协议。最后要实现一个distributed database system. 如果对database感兴趣可以选。[/align][align="left"](6) real-time big data analytics. 第一学期修。这门课选的人也比较多,课程包括大概6次作业,一个final project & final presentation & final paper. 主要教你hadoop stack里面的各种技术,map-reduce的原理。这是门简单但是非常适合big data入门,课上把hadoop的概念讲得非常清楚,各个技术你也会用到,final project自己提proposal你想做到多深入就可以有多深入,如果你非常有创造力和执行力完全可以做得很漂亮。上过这门课的人基本对map-reduce都能了解得清清楚楚足够在面试里举一反三了。顺便说一下:我是第一学期修的这门课,修完后把course project放到了简历上,在以后的实习或者全职面试中都经常被问到这个project,我自己感觉big data相关的经历在找工作时有加分作用。[/align][align="left"](7) Web search engine: 同学上过。推荐给喜欢做search的同学,这门课有两位教授教,期中有一个是google的professor,反馈他的比较实用。课程不算简单,需要读paper实现一个search engine。我有一位非常想要做search engine的同学还修了另外一个capstone的search engine architecture, 用python教的,说收获非常大。[/align][align="left"](8) NLP. 有一课叫statistical NLP,还有一门就叫NLP。我都没修过同学反应NLP比较简单, statistical NLP比较难。[/align][align="left"](9) Machine Learning. 有ML和advanced ML, 另外data science系也有machine learning可以选,每学期大概给cs的同学留10个位子,我室友修了cs的ML反馈很难对数学要求非常高。[/align][align="left"](9) 分布式:distributed system. 据说是非常好但是很难的课,要读很多paper 做5次lab,是capstone课程,喜欢分布式的同学不要错过,我自己挺想选这门课但是因为提前毕业和os,pl冲突了无法选, sigh. [/align][align="left"](10) Open source tool(ost), production quality software(pqs):这两个是NYU的大热门课,基本都要到第三学期才选的上,OST主要讲linux命令和编程,pqs讲如何写出在工作上的好code,包括java的的一些good practice,多线程,设计模式等等,老师也是google ny office的。[/align]
[align="left"]要来的小朋友们建议尽早把必修课修完,有时间想一想自己对哪方面感兴趣,想上什么课,看看往年的课表把课程都排列一下,不然有些课可能你就这么错过了。NYU总体cs size较小,基本上你想上的课都是可以上到的,class size也比较小,人均资源比较丰富,这是我喜欢的一点。[/align]
[align="left"]3.找实习[/align]
  • 262
121条回复