NYU Courant MSIS/MSCS 一年总结 + 选课指南

avatar 381138
jesse1204
30024
33
在Courant上了一年学了,来之前看了很多选课和经验帖,受益良多。感觉Courant互相帮助的气氛还是挺浓的,之前刚被录取的时候什么都不懂,多亏了几个学长学姐一路指点。无论是选课还是找工作刷题,又或者是在纽约的生活,都从17/18 Fall的前辈那里获得了很多帮助。必须特别感谢1point3acres.com 大哥,帮助了很多19新生,回答了我很多很多问题。我也来写一个总结帖,回馈一下未来的学弟学妹吧。

我录取的是MSIS,读了一学期之后转了CS。不得不说Courant的转专业自由度还是挺高的,只要填一个表写一个sop交给advisor,基本几天内就能搞定。而且MSIS和MSCS都是在CS Department下面的,所以没有转换学分这种问题。考虑到以后应该还是走码农方向,而且CS可以少修3学分省点钱(穷孩子是这样的),一学期之后我就转了CS。但是不得不说IS的课程设置其实非常好,一半的学分在Courant修,另一半的学分可以在大名鼎鼎的Stern上课,而且选课优先级仅次于Stern MBA学生。我只上了一门Stern的课,体验挺好的。同学反馈Stern的课程质量普遍比CS的课质量高,可以接触到很多MBA大牛,workload也小一些。所以假如对商科/Data比较感兴趣的同学,又或者想减轻下workload多刷题找工作,MSIS其实是很不错的选择。

Courant的牛人还是很多的。CS的同学主要是应届生,IS的同学大多数有工作经验。基本都是美本或者国内名校出身,能力都很强。有大佬代表NYU去参加竞赛拿奖的,还有相当一部分同学是打算继续深造读PhD的,比我等xuezha强太多了。

选课:
三门必修课:算法,PL和OS。个人认为质量都挺高的,当然如果本科CS出身可以考虑去考免修考试waive了。以下的选课经验都是个人看法,本人是转码选手,见解可能跟大佬们有所不同。Courant的课偏理论,工业界的课比较少。

2019 Fall:


Fundamental Algorithms:
选了Dodis教的算法。Dodis是密码学的大牛,无奈俄罗斯口音实在太重。第一节课上完我感觉还行,但是好多同学都是一脸懵逼,基本听不懂。不过后来慢慢习惯之后就还行了。Dodis巨聪明,人挺不错,之前偶尔聊了几句,非常友好。上课板书为主,思考量不小。他偶尔还会讲些冷笑话,挺有意思的。课程内容的话基本就是算法导论里的各个章节,基本可以涵盖Leetcode用到的基本算法,会比本科课程要深一些。Dodis一般是简单介绍下概念,然后用很多时间推导和证明这个算法,还有一些延伸。对于我这个本科没上过算法的转码选手,我觉得是很不错的一门课,上完之后很明显算法基础有了巨大提升。很多同学上的是Alex的算法,听说作业和上课内容会简单很多,Alex讲得会比较好,因为没有上过所以就不点评了。

作业:一周一次,难度大,很多题目设计很巧妙,证明题比例大,最好早点开始写。有很多Extra credit,可以填坑。
考试:Midterm比较难,大家成绩都不太理想,后来Dodis被烙印们投诉了,Final就考得非常简单。
拿A难度:50%的人A-或者A-以上,想拿A的话也不算难。

Programming Languages:
系主任Goldberg的课,好评如潮,也是我非常喜欢的一门课,不过有的同学似乎不是很感兴趣。Goldberg不用Slide,全程板书,非常适合记笔记。逻辑严谨,思维不跳跃,讲课由浅入深。可能是为了照顾国际生,语速比较慢,一字一句地讲课,让你都能听明白。课程主要围绕recursion, functional programming和一些基本的编译原理,介绍了Ada/Scheme/ML/Scala/Java等等编程语言。最后几节课讲了GC,非常实用,面试的时候问挺多的。对于转码选手的我,上这门课真的受益匪浅。总而言之绝对是Courant课程里质量最高的一档,配得上神课的称呼。Goldberg对学生非常好,Fourm或者邮件问问题基本都是秒回,而且讲的非常详细。有一次半夜发了邮件给他,几分钟就回了。
除了Goldberg,还有另一位教授Plock也开PL,听说讲得也很不错。

作业:每学习一个新的语言就会留一次作业,难度适中。期中期末前都会有一个作业帮你复习。总体而言workload会比FA小很多。
考试:Midterm容易些,Final挺难的,需要好好复习才能拿高分。期末的时候刚好有个面试,没有时间好好复习,最后考挺差的。似乎有人才二三十分。
拿A难度:Goldberg似乎是不会curve的,拿A比例应该不算高。我最后成绩挺差的,主要是Final考太差了。但是假如有一直认真学习,相信拿A还是不太难的。

Database Systems:
莎莎的课,之前本来是另一个教授上的,但是这学期似乎不在。莎莎是Courant的Silver Professor,但是讲课水平是真的不行。逻辑非常跳跃,缺乏系统的备课。我基本听不懂他的课,而且极易走神。选这门课也主要是为了平衡下workload,毕竟要找实习。莎莎人还是不错的,每节课都会扔巧克力给学生,我拿了好多个。

作业:总共四次作业,除了final project都非常简单。
考试:没有考试。Final Project是写一个db,可以用Java或者Python,实现各种查询语句,这个还是要花一些功夫的。就是规定用来打包的那个东西挺恶心的。
拿A难度:非常容易,基本人人A。

2020 Spring:
这学期刚结束,因为疫情影响,3月中就改上网课了,上课质量真的下降很多。我是那种没办法集中精力听网课的人,很容易走神,这学费是真的有点亏。

Operating Systems:
我选的是Franke的课。Franke是IBM的Distinguished Research Staff Member,OS水平是真的高。他对于Linux的了解真的非常深。但是他上课基本是用课件,而且语速贼快,也有点跳跃,再加上我没有学过OS,所以几乎就没跟上过他讲课。后来改网课之后更是听不进去了。但是假如有学过OS或者对OS有基本认识的人,我相信是能收获很多的。他讲课的时候会讲到非常多Linux的内容,对于学习Linux应该也很有帮助。刚开始上课的时候也会讲一下C和C++,帮助你写Lab。Franke对学生也很好,回答问题非常快,而且office hour是真的帮你一点一点解决lab的问题(有点可惜我没用上)。开学前还发邮件关心因为疫情滞留在home country的学生。

作业:四个Lab,只能用C/C++写。我感觉Lab就是这门课的精华所在。除了最后一个lab比较简单,其他三个基本都要写7,800行代码以上,阅读材料长,难度相当大,需要20+ straight hours,是练习C/C++的好机会。因为我的学zha本质,每个Lab都拖到最后一天才交,临近due的时候真的是啥都干不了,熬夜肝lab。但是这几个Lab真的设计的非常巧妙,写的时候能慢慢感受到乐趣,就像在搭积木一样一层一层地往上叠,最后实现一个完整的功能。基本上Lab写完就能对相关的知识有非常深刻的认识。
必须提醒的是不要上网抄代码,Franke会用代码检测系统查重,非常非常严格,简单的改下变量名是没用的。我身边就有同学被抓了。情节严重的话是要通报学院的。
考试:Midterm因为疫情取消,Final改成线上之后难度低了很多。听说之前的考试还是有难度的,需要好好复习。
拿A难度:Franke会curve,而且幅度相当大,按他的话就是关于给分他是非常慷慨的。四个Lab能拿接近满分的话应该A-就稳了,期末不崩应该就能A。

Data Science for Business Analytics:
这是我上的唯一一门Stern的课,和CS的课有很大的差别。我感觉这门课主要在讲,如何做一个能结合技术和business的data scientist。教授是Provost,教材用的是他自己编的书。Stern的课会比CS的课多很多互动,而且Provost就是非常活泼的类型。感觉课上有三分之一的时间是同学和老师之间的问答或者讨论。这门课tech方面不难,主要是在如何应用各种模型,以及如何利用data science/machine learning来解决business problems。教授会用很多的时间分析一些真实的商业案例,也会讲他个人的一些经历。MBA同学都比较积极,课堂气氛很活跃。可惜因为疫情转了网课之后,质量不可避免地下降了很多。Provost非常友好,有问必答,诙谐幽默,之前还解答过关于职业生涯选择的问题。这门课一直以来评价都挺不错,我觉得值得一上。Workload不大,还能感受一下Stern的氛围。

作业:难度不大,两三周一次作业,都是Python下各种ML模型的应用,照着上课的代码基本就能写出来。最后要写一个final project,用到所学内容。需要花一些心思,自己组队并且选题,最后要交代码和20页的report,本来应该有present环节,疫情影响下取消了。
考试:最后有一个开卷考试,难度中等。
拿A难度:容易

Data Communication & Networks:
之前本来是另一个教授上的,那个教授口碑极差,所以我基本避免选他的课。这学期的计网是业界的research scientist来上的,名字是Bulut,应该是他第一次在Courant上课。选这门课主要是想补一下CS基础,之前没学过计网。课程内容的话就是Top-down这本书的所有内容。但是这门课会用到K8s,我觉得是一大亮点。Bulut讲课说实话不太行,声音太小而且没啥起伏,很多时候是照读ppt,而且同样受网课影响,我几乎没怎么听。他后面因为个人原因,很多节课都是录播。但是我觉得作业内容还是不错的,上这门课我基本把计网好好过了一遍,补了很多基础。Bulut挺严谨的,我感觉人也不错,解答问题很及时。如果没上过计网的话我觉得值得上一下,workload适中。

作业:8个作业,有4个是书的wireshark lab,2个编程作业,还有2个writedown的作业。我觉得质量还是挺不错的,基本做完作业就能掌握相关知识了。其中一个编程作业设计的非常好,要用到Python, Flask, K8s, Docker, Socket等等来实现一个DNS功能,感觉是比较贴近工业界的一个作业。
考试:期中题量大,期末简单些。
拿A难度:中等,考试占比高。

2020 Fall:
选了DevOps, Computer Graphics 和 Advanced db,明年有时间会来更新。

本帖隐藏内容需要登录后才能查看。
总结:

这一年其实过得还是很充实很开心的,认识了很多人,也学习了很多知识。NYU和西海岸的一些学校比的话应该各有千秋,纽约的机会其实也不少。总体而言还是非常推荐大家来Courant读IS/CS。
  • 135
33条回复