登录
  • #ms
  • #cs
  • #nyu
  • #院系介绍
  • #专业/学校/教授
  • #学习问卷

NYU CS@GSAS(Courant) 院系介绍

duffywan
61264
121
1. 基本介绍近期刚毕业看见好多小朋友们收了nyu的offer,回想起当年我收到offer却找不到太多关于学校的信息,想给大家一些帮助欢迎更多小朋友加入nyu。NYU的cs专业分布在两个校区,主校区(Washington Square), 布鲁克林校区(poly, tandon). 我介绍的是主校区的情况,也会夹杂一点poly校区的介绍。CS系位于Courant Institute of Mathematical Sciences, 也就是大名鼎鼎的NYU数学研究院下。CS系目前有两个项目Information Science 和 Computer Science. 在Courant院内转专业是比较灵活的,我们那一级就有同学从数学转到了IS. 我自己最开始申请的是IS, 第二学期因为自己的兴趣原因转去了CS。

2. 课程介绍CS项目需要36学分毕业,每门课3学分等于12门课毕业。必修课包含OS, Programming Languages(PL), 算法(FA),以及一个自选的capstone. 学院要求第一年把OS, PL, FA修完。每个学期的课程安排都有调整,具体在系里的网站上查到(无需权限)。这里说一下我自己修过的课和同学修过的比较火热的课吧。我的情况是:第一学期入学IS, 修了三门课(全是CS系的课,没有stern商学院的),第二学期转入了cs, 修了四门课,暑期实习用cpt抵了一门课,第三学期修了四门课,提前一学期毕业。正常情况同学们都是四学期毕业。(1) FA。第一学期修,总体感觉很好,老师非常棒及负责,每周还给我们加课,用的是自己写的书。每周都有作业,office hour也非常灵活欢迎你去。这门课对本科没有算法基础或者基础薄弱的东西提供了理论基础,边上算法课边刷题提升也比较快。NYU的算法课应该是有三个老师在轮流教,具体问题可以评论询问。(2) OS。第三学习修,因为我第二学期才转入cs,最晚可以在第三学期修完。os有两个老师在教,基本我知道的同学上的都是frank教授。课程包含4次lab以及期中期末两次考试。os难度属于中等如果你本科上过OS, 或者偏难如果你本科没有学过OS。上过os的人对于课上的概念肯定不会陌生,这门课lab占到了55%,好好完成lab很重要。Lab只能用C++,所以cpp基本知识需要了解一下。总体我很喜欢这门课,os的lab我觉得很好,能锻炼你的思考能力和design能力。好基友反馈她在修了os之后写码能力得到了很大的提升。(3) PL。第三学期修,不难但是挺好的课,可以广泛接触很多其它类型的编程语言,每两周一次作业,上了PL之后学习新的语言的应该会变快,有两个教授,都非常好。(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。我觉得只要认真用心去做了都没问题的。如果你不喜欢理论基础很少或者是太多前端要写的活,这个课可能不适合你。(5) advance database systems: 第三学期修。 这门课是我的capstone课,它应该算capstone里比较简单的,课程没有考试只需要完成两次作业和final project。这门课上讲的东西还是挺有用的,比如database的各种协议。最后要实现一个distributed database system. 如果对database感兴趣可以选。(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相关的经历在找工作时有加分作用。(7) Web search engine: 同学上过。推荐给喜欢做search的同学,这门课有两位教授教,期中有一个是google的professor,反馈他的比较实用。课程不算简单,需要读paper实现一个search engine。我有一位非常想要做search engine的同学还修了另外一个capstone的search engine architecture, 用python教的,说收获非常大。(8) NLP. 有一课叫statistical NLP,还有一门就叫NLP。我都没修过同学反应NLP比较简单, statistical NLP比较难。(9) Machine Learning. 有ML和advanced ML, 另外data science系也有machine learning可以选,每学期大概给cs的同学留10个位子,我室友修了cs的ML反馈很难对数学要求非常高。(9) 分布式:distributed system. 据说是非常好但是很难的课,要读很多paper 做5次lab,是capstone课程,喜欢分布式的同学不要错过,我自己挺想选这门课但是因为提前毕业和os,pl冲突了无法选, sigh. (10) Open source tool(ost), production quality software(pqs):这两个是NYU的大热门课,基本都要到第三学期才选的上,OST主要讲linux命令和编程,pqs讲如何写出在工作上的好code,包括java的的一些good practice,多线程,设计模式等等,老师也是google ny office的。

要来的小朋友们建议尽早把必修课修完,有时间想一想自己对哪方面感兴趣,想上什么课,看看往年的课表把课程都排列一下,不然有些课可能你就这么错过了。NYU总体cs size较小,基本上你想上的课都是可以上到的,class size也比较小,人均资源比较丰富,这是我喜欢的一点。

3.找实习我们这一级CS和IS加起来中国人大概20个吧(微信群不完全统计),我只了解这个群体(还不全面),其它信息你们自己搜集。
本帖隐藏的内容需要论坛积分高于188才可浏览
点击前往一亩三分地论坛查看 >>


每个人来上学的侧重点都不同,有人希望选最好的课学到最想学的东西,有人一心一意只为找个好工作上什么课无所谓,大家来之前想清楚你希望的生活是什么样的,你有什么必须要达成的目标吗,然后调整自己的选课和时间安排。虽然现在刷题成风,但是我还是建议大家关注自己的interest想想自己真正喜欢的事什么,合理选一些有价值的课,同时兼顾刷题找工作。念书不止是为了找工作,it can be more.

4.找全职找全职是个漫长的过程而且大部分人都还在面试和准备,我只能尽量说我知道的案例和自己的经历。暑假过后9月开始就要开始准备找工作了。个人教训是:全职和intern面试以及bar有略大区别,全职更难。所以尽量把最想去的公司排在稍微靠后(在公司headcount缩紧之前),先用不太想去的公司练手(非常重要),练手指的是:面试交流能力,解题能力,面试心态,自信心。刷题你需要做到的不是leetcode做了3、4、5遍,而是你能不能举一反三解新题。面试得时候切记在大脑中搜索这题和哪倒题相似以前那题是怎么解的,这样想几乎必挂啊。面试题经常都是变种,需要你举一反三,你要做的是自然而然的接近这道题找到第一个切入点解题然后慢慢优化,在这个过程中你需要的是:1. 快速思考找到第一个解题点。 2. 搜集corner case和面试官讨论如何处理 3. 大致想出题目的复杂度,这是优化和判断某个solution是不是最优解的简单方法。4. 在整个过程中和面试官讨论以上所有想法。5. 优化你的代码。大神说过:面试的过程是两个工程师合作解决一个问题的过程,你不要单枪匹马在那里瞎想,这样面试官想帮你也帮不了你,如果你闷声不吭就算做出题了可能面试官还是会把你挂了因为他不喜欢你的work style。在技术没问题的情况下, 我觉得心态是最重要的,首先你要觉得你和面试官是平等的,你不是待宰的猪肉等着它挑选,你也在挑选他。其次你的面试官应该是能给你提供帮助的,这个帮助不是说你做不出来直接问他而是你提供不同方案和他讨论,比如你告诉他ABCD每一种的trade off,让他选一个你来实现。有时候面试官在看你code的时候他也会出错,因为code不是他写的,他理解起来不一定就很快,他会质疑你,这种时刻不要慌乱,冷静去分析好好和他说就行,不要一被challenge就疯狂defense或者立马觉得自己做错了懵了。大家可以看出面试短短的半小时你要做很多事情,你既要冷静下来快速思考,又要和面试官讨论,还要挖掘多种可能的solution,最后还要写代码,很多人包括我在最开始的时候都无法兼顾。原因就是你太紧张心态不好并且经验太少。你需要仔细去分析你自己失败的原因然后去改进。

关于心态还想多说一点,peer pressure的确存在, 大家不自觉就会互相比较学习成绩,实习,或者工作。在你没有找到工作之前,看见别人找到了好工作很容易就自我怀疑觉得自己不走运太笨太蠢。有时候你觉得自己很差是因为你在拿一把标尺去衡量所有的人,你认为找到工作/成绩好才是成功的,但是每个人都有自己学习的动力也有自己对于work life balance的想法,拿一个标尺去judge别人或者自己都是没有必要的。虽然大部分人靠着实力和运气都能有不错的结果,但我见过很多非常努力知识也很扎实的人由于各种原因没有找到如愿的工作,但这不能说明它们是失败的。我也见过很多实力不够的人用各种非常规途径比如找人代替面试,或者面试跪了哭去求面试官)拿到offer的。你看到的别人的光鲜亮丽未必是真心酸苦楚都只有自己知道,做好自己就好。

找全职时感觉学校起的作用就更少了,NYU的声望我认为够用了,结果还是取决于你自己的综合实力和运气,和找实习一样最重要的是拿到onsite。我个人拿到面试的经历是:Google朋友内推直接onsite,脸书career fair自己排队,一轮on campus interview后拿到onsite,twitter career fair自己排队,一轮OA + phone interview后拿到onsite,snapchat朋友内推一轮OA一轮phone interview后拿到onsite,2sigma recruitor联系,一轮OA一轮phone后onsite。经验是找全职内推 和 career fair效果应该差不多,好过recruiter联系你,好过自己网上申请。

5.纽约生活我非常喜欢纽约,学校就在曼哈顿下城很热闹的位置。生活绝对便利,随时随地都能吃到很多好吃的,NYU旁边就是日本街有很多亚洲食物,我一日三餐百分之一半都是在那里解决(不做饭)。对找工作而言也挺方便的,各大公司google, facebook, twitter, amazon, yahoo, uber都在ny有office,有些同学面试的时候不想飞去加州直接选了纽约office onsite(少数)。住纽约还有个好处就是不用转机,从jfk你基本可以飞去任何地方。 纽约的人也都非常有个性各有各的精彩,这里大部分的人都不是码农,所以校园氛围非常的diverse,这也是我非常喜欢的一点,我个人比较不喜欢枯燥和太过压抑的学习环境。娱乐方面纽约绝对是妹子的天堂,各种逛街美食小活动应接不暇,搬来湾区之后我已经感觉要无聊死了非常怀念出门就坐地铁逛街的便利。我自己在申请学校时非常任性一所西部的学校都没有申(并不是鼓励你),当时我的想法是既然毕业了十有八九都是呆在西部,那么念书就去东部体验一下吧。在纽约这种宇宙中心,两年下来一定有很多意想不到的收获。毕业了发现果然当时想得没错,在纽约的每一天都特别开心满足,希望有一天还能回到这里。

这一篇主要是写给对NYU感兴趣的同学看的,如果大家帖子里面某些经历比如学习/找工作感兴趣,以后可以再写别的,希望大家在申请季都一切顺利。

补充内容 (2016-4-7 11:20):

求米求米啊~

补充内容 (2016-4-7 13:03):

再补充一下我实习或者全职拿到或者没有拿到面试的公司以及可能的原因:

实习:

facebook内推拿到面试,时间太晚怕进小黑屋withdraw了,linkedin内推悲剧,twitter自己投悲剧
121条回复
热度排序

发表回复