NYU Tandon CS 学习体验及选课指南

avatar 313625
wmc54321
57763
107
以前的一些介绍和选课帖子因时过境迁都不太适用了,前人的一些选课观点个人也不尽认同,于是自己写一些个人的体验和感受。所有的课都是自己选过、认真上过一遍的,尽量做到不胡诌。

Fall 2018
CS-GY 6033 Design & Analysis of Algorithm - by Linda
Linda是个非常棒的老师!!她真的是语速飞快,一学期带你精通《算法导论》。认真读她的slides、完成她的小作业,上过了这个课,什么《程序员面试金典》都可以直接扔了,再上手刷题轻松。很适合鄙人这样本科时候算法没太学明白的人。。想要课程质量高,想要变强,请认准Linda!!
(另外说一句,“我永远喜欢Linda”这句话就是我创造的!!!🤓)

CS-GY 6083 Principles of Database Systems - by Torsten
我在18Fall的时候选了Torsten的数据库,后来当了19Spring、19Fall两个学期的助教(估计下学期还是有可能会当,希望能变成三学期)。
很值得选,传说中的必选课程,以前的学期总会有ECE的同学来跨系选课,即便是这一学期ECE开了自己的数据库课程也有一小部分学生跨系选课过来。
质量高、workload大,应该算是当之无愧的Tandon workload第一大的课,四次小作业加一个大project,给人的感觉就是一个作业终于做完了,下一个作业又布置下来了,一学期都在写作业,我当TA批作业都有些吃不消。但应该说很值得,不论课程质量还是作业质量都很高,毕竟想要学通数据库workload是小不了的,写SQL、设计数据库和ER图、索引和优化查询都要学到;其中,索引那一章可以说包含一些他在Web Search Engines中关于索引和IO部分的内容(或者说他的研究方向中相对很浅的一些内容)。课程最后会给定阐述条件做一个web application作为final project,不论是对专业cs选手还是非专业选手,写在简历上都是值得的。
个人感觉这门课Spring学期的workload比Fall稍小一些。虽说我18Fall的时候同时选了Linda的算法和数据库,但个人当时感觉workload其实不算很大,不算很忙……但确实有很多人觉得工作量不少。看来是小马过河,大家量力而为吧🤣 当然,上这个课的时候都说累,上过了之后都会觉得值得。我个人觉得,难得出来读个书,混个A、找个好工作也许很必要,但如果仅仅止步于此的话,未免也太没有追求了——这大概也是这门课一直被前辈们推荐的原因之一吧🤣。Torsten虽然作业留得很多,但他其实是个人很好的老师。我自己觉得我们几个也应该算是比较负责的助教了,一学期结束看到朋友圈里面秀project和complain workload的动态很开心。欢迎大家选课!

CS-GY 6533 Interactive Computer Graphics - by Chiang
蒋老师的课值得一选。课程内容主要是OpenGL以及一小部分线性代数的内容,很基础但也很详细,蒋老师全程都不怎么用PPT而是写板书,每个公式都非常仔细地推导一遍,个人觉得课程质量比较高,讲得很通透,还顺带复习了一下线性代数🤣。包含四个按照要求用OpenGL实现一些效果的编程作业,做出来还挺有意思的。认真做好笔记,读懂读通他的板书,考试就非常简单。

Spring 2019
CS-GY 6613 Artificial Intelligence
department竟然安排了个PhD来讲这门课,我真的是佛了!但为了给web search engines铺路我最后还是选了。看得出来她人很好,也很认真地想要讲明白,但上课时感觉有部分内容还是没太讲明白。。作业倒是非常轻松。鉴于对后人没有普适性和借鉴意义就不详细说了。

CS-GY 6923 Machine Learning - by Linda
这是我最喜欢的Linda开的课!Linda的课非常好,把各种Machine Learning的相关公式从头到尾非常仔细地推导了一遍,认真学过之后绝对会真正地know what and know how。很有她算法课的风格!!
(我永远喜欢Linda!!!daisuki)

CS-GY 6553 Game Design - by Guida
前半学期每周做一个小demo,后半学期做一个小组project。讲课的professor是Tandon新请的一个game musician & programmer,最后人很好地给了所有人A🤣(虽然课程内容离我想做的GalGame还差得有丶远🤣)。
这个课的先修课程是6533 Graphics,虽然很明显不用OpenGL完全能做project…… 我当时用JavaScript做了几个小游戏,其中有一个设计思路还挺炫酷的🤣

Fall 2019
CS-GY 9223 Cloud Computing - by Sahu
这一门课一言难尽。。这一学期的课professor突发奇想给project搞了个新题目,直接导致workload巨大;以及他的有几个TA不太管事儿,弄得身边的同学都怨声载道,还有一个暴躁老哥直接邮件给了dean投诉他……估计他这学期的课程评价要低到爆炸了😂(不过换句话说,他以后应该不会再出这样坑的project了)。这门课总的来说就是在学习AWS(个人认为他的project的题目有些堆砌AWS服务的感觉,有些部分纯粹是在为了用AWS而用AWS……),外加阅读一些经典的云计算paper。老实说,个人感觉,除了能够强行逼着自己读paper和学一学怎么调用AWS外,其他的部分感觉意义不是特别大……

CS-GY 6543 Human Computer Interaction - by Vaisman
传说中很水的课。个人体验确实很轻松,只需要读paper、小测和写essay,workload很低。个人感觉上课确实有些枯燥……但是他要求阅读的那些paper竟然意外地非常好。老爷子估计也要退休了,以后选课的同学应该没呐味儿了。

CS-GY 6913 Web Search Engines - by Torsten
这门课从某种意义上说是“真·大数据”,不是调库和用API的那种,自己生写一个搜索引擎!三个编程作业包括用Python写爬虫、用Cpp/Java从头撸出建索引和查询过程,非常酷炫。我还给自己的作业用flask加了个web interface,看上去很有呐味儿了。后半学期一个自选题目project,比较常见的会被大家选的题目是动手实现PageRank。有期末考试。
以前的选课贴都说说这是Tandon workload第一大的课,但一学期下来感觉其实没有传说中那么大(倒是这种说法似乎让很多人不敢选这门课……),至少感觉上比数据库要稍小一些,编程作业也只是看上去似乎很麻烦,但对于coding能力不错的人来说应该算不上困难。上这个课真的感觉非常开心非常爽,很有那种geek的感觉,可以说是质量很高也很有趣的课。
如果有计划想选此课,个人的建议是,在选这个课的之前两个学期最好选一下他开的数据库、一门质量高的算法(如果你对自己的算法不太有信心)、Machine Learning(如果你还不懂false positive、recall & precision、bayes这些“术语”),并且务必保证GPA达到3.5。

另外说一下,过去的课程评教记录都是可以查的。登录你的NYU Home,进入Course Evaluation Results就可以看到了。课程的效果和讲课的professor的关系很大,请务必认准professor,不要只看课程号。

本帖隐藏内容需要登录后才能查看。
老实说,我很感谢自己遇到的那些好professor(主要指Linda和Torsten🤣),让自己真正地找回了编程的“初心”。自己本科的时候也是过得浑浑噩噩,如今终于重新找回了初学CS时候那种刚调通程序时的简单的快乐感,可以说不亏了,距离自己想成为的样子更近了一丶丶。(突然抒情可还行)
最后啥也别说了,大米多多益善。project还没鼓捣完、作业还没批完,不能再划水了💪衷心祝愿大家学习顺利!
  • 162
置顶回复
收起
avatar 313625
wmc54321楼主
【Update 2】

Information Visualization

有不少内容是在NYU Classes提前录制好的视频,主要讲一些可视化的基本知识和使用d3,上课时间主要是讨论+点评上次作业内容。enrico是一个很好很认真的老师,可以说不论是课上还是piazza上都是有问必答,给分也很明确,只要按时上课签到(他每节课都会上课前签到,所以不要迟到!)、按时交作业和quiz基本上就是A。workload比较小,作业不难,讲的内容也很简单。能够学到一些东西,不过个人觉得不是很适合用来攒简历项目,可以用来平衡一下压力比较大的学期。

------------------------------

【Appendix】

为什么我并不推荐Cloud Computing?

这一门课最近几个学期的course evaluation都比较糟糕,或许已经说明了一些问题。老实说,我还是觉得很惊讶每学期都有一大堆被一些早期选课帖子骗去选这门课的同学…… 当时写这个帖子的时候出于时间问题和一些各种各样的concern,没有很仔细地写清为什么不推荐选这门课的原因,仔细想了一下还是应该详细说一说:

1. 上课和讲义质量不高,Sahu本人也不太认真

老实说,Sahu应该是一个好人,下课有同学找他问问题、或者商量和clarify,都是一脸和善,但他大概不太算是一个好老师。上课迟到早退是家常便饭(我印象中可能基本每次都……),slides很简略,上课也很无聊。这可能是我在NYU唯一一节上课完全无法集中精力听讲的课。在piazza上,也基本上看不到Sahu本人,几乎都是他的TA在回答,给他发邮件也很少回。甚至,在我们的考试卷上面,还赫然写着一行字,要求我们遵守Columbia university code of conduct。

2. 作业无法按时下发

Sahu每次留作业之前都会在一节课上大体讲一下作业内容,但他从来都不会及时把作业文档上传到NYU Classes上面。也就是说,你可能ddl前大概一个月就已经知道作业要留下来了,但你能真正用来work on的时间也就大概两周。最有意思的是他会presume同学们已经早早就知道了作业内容,上课的时候面对抱怨委屈地说i've given you enough time……

3. 作业没有经过仔细review

在我选课的那一学期,他留了一次作业,要求使用AWS的video stream服务,把摄像头中的视频截图上传到AWS的人脸识别服务中去。但this is impossible to implement,因为AWS的video stream并不提供截图的API。赶在ddl前的最后几天,助教给出了调用电脑系统摄像头截图的代码(which is irrelevant from cloud computing),勉勉强强才能work。印象中那几天我们小组肝度爆表。

4. 助教权力太大

他把所有的活都安排给助教,但可能完全不管他的助教们…… 上课他会早早提前走人,让助教讲剩下的内容;批卷也是完全交给助教(note:当时我们的考试卷批阅是按人头分的,不是按照题目来划分的。请祈祷你被分到一个友好一些的助教来批你的卷);project proposal也是交给助教来review(当时我们写好了project proposal之后给分给我们的助教来review,他一个劲说太简单让我们改——但我们去找Sahu亲自评定的时候,他本人却是认可的,让我们很无语)。

5. 考试抄袭严重

当然,有以上这些问题也就罢了。他的考试是开卷(可以参阅笔记和讲义、不可以联网)的, 其实并不难,但题量大得能抄断手,因此基本上就是比拼快速定位ppt/paper的能力、还有手速(个人感觉非常没有意义的考试……)。我们那一学期就有那么一些学生抄袭抄疯了——使用了类似CPU调度算法的方式,几个人先写完一部分之后直接互相交换考卷接着写!当然,他本人是早早就离开了考场,交由他的TA们来监考,而他的TA们对这些鸡毛蒜皮的小事儿当然是睁一只眼闭一只眼啦!(note:我本人通常都坐在第一排因此并没有亲眼看到,这是来自后排同学的流言)

6. 以上问题无法得到改变

以上现象,并非没有同学有意见。当年我选课时,大家也是怨声载道,而且还有一个暴躁老哥直接一封邮件写给dean举报他的这些问题,但一切照旧。

如果说在早年,作为一个可以学习云计算的大体概念、既容易拿A、又方便给转cs的同学攒项目的课程,得到许多前辈的推荐也是可以理解;但如今的Tandon已经今非昔比了,本科就是名校正统cs专业、甚至还有相当不错的paper和实习经历的同学已经越来越多,仅仅是写一些bootcamp水平的项目可能已经看不上眼了,三次项目+两次考试+一次大项目的workload更是不小,课程质量又不算高,甚至连letter grade搞不好都可能会被抄袭的学生给拼掉,对于那些本身已经非常优秀的同学来说可能是有些划不来的。当然客观来说,对我本人,他上课列出的几篇经典paper很有启发,他的课程项目对我的简历也是有一部分帮助。仅仅列出个人经历和一些主观感受,个中利弊取舍还请自行考量。
avatar 313625
wmc54321楼主
【Update】

看起来还是有不少同学比较关心找实习和全职这件事的,我简要说一说吧:

- 毕业证书上会写Tandon吗?有必要在简历和领英上面标注自己是Tandon的吗?

毕业证书应该会写吧,Tandon作为你的School,CSE作为你的Department,在你的毕业证书上面冠个名的资格还是有的。(但那又有什么关系呢?)

简历上我个人觉得没必要写,毕竟多写那么一行会占用宝贵的简历项目空间。当然你也可以写成一行:New York University, Tandon School of Engineering,我最初几版的简历就是这样写的,但后来发现这样对于网申系统的自动识别很不友好,每次都需要手输学校信息,对于疯狂海投来说还是很累的,于是就删掉了。

我觉得对于recruiter,面对成千上万份简历,应该不太会在意一个candidate具体详细到学院的信息。recruiter大概知道CMU比NYU牛,但他们真的了解Tandon和Courant有什么区别吗?(我自己都不太清楚!)多丰富一下个人能力和简历项目,学院这一维度的影响实在是太小了。

领英就更有意思了。在领英上,Tandon被写作“NYU Tandon School of Engineering”——看上去是不是很丑?(类比一下,如果你在中文简历上面写你的学校的简称:上交XXXX学院、西电XXXX学院、北邮XXXX学院,你也不太愿意吧?)因此绝大多数Tandon学生都不会在领英上把学校写作Tandon。

- 找工情况?

今年全职Amazon最多,零星Google、FB、其他公司。并不是同学们本身水平不够导致的,而是现在经济形势本身不好导致的。大多数同学能找到什么工作不是你的学校能够决定的,而是由大公司招多少人决定的。往年Google大规模招人,就有不少人去了Google;而今年只有Amazon还能够疯狂招人,就有很多同学去了Amazon。

- 就找工作而言,Tandon真的比Courant差很多吗?

研究生录取和找工作应该说是两个概念。Tandon和Courant可以说是两个不同的录取风格——Tandon录取学生比较看铁三维,哪怕其他的背景不那么突出,学校背景不错就相对容易录取;而Courant录取风格可能更学术一些,履历漂亮的人比较多。因此我觉得Courant找工作情况更好,并不一定是Courant给他们带来的光环,而是因为他们自己以前的经历本身就不错(毕竟以米国的timeline,入学之后留给你找实习的时间只有一两个月到半年时间,你的研究生课程甚至暂时还没有产出),而有了米国实习经历找全职也会更顺利一些。而作为用人单位,他们并不会在乎你具体到学院的信息,更看重你的项目经验。

讲一讲career service。每个秋季学期NYU会举办一次大的career fair,以科技和金融公司为主;Tandon每个学期会面向Tandon的学生举办一次小的career fair,以科技公司为主(印象中上一次的还是和courant一起举办的);Tandon甚至还有自己的career service。因此我个人认为,就career service而言,Tandon的资源还是不错的,毕竟可以同时享有两边的资源,但在自身简历不够有竞争力的情况下还是聊胜于无,我个人的经验是扔了简历没有下文的情况比较多,但也有一些同学通过career fair扔简历拿到面试和offer的。

- 对新生找工作有什么建议?

抓紧充实简历、攒项目,一入学就多海投。项目只是用来过简历关,算法也要多刷一刷。

经验上看来能在暑假找到米国实习的人相对比较少(也需要一些运气),考虑到明年经济也许会更差,因此可能会更加难找。最好在入学前就能刷好算法,简历改得漂亮一些,米国的实习要一入学就要开始一直投。像国内实习、以及日本这样签证比较松的国家也可以留心,等到春天投一投。有工业经验能够证明你是一个可信赖的人。

以我自己找全职为例,去年秋招和今年春招靠着海投和地里面的海内推还是有不少相当不错的公司给了OA和面试的,因此可以说NYU不是一个减分项;当然自己的实习经历、还算不错的GPA、以及比较有趣的课程项目也给了一些加分。当然,像我这样太过分专心于学校课程、有些忽视了找工作、甚至有些错过了很多公司的最佳投递timeline的人,能够最终找到工作应该说还是运气成分比较多了。多看看地里面的帖子,把握好timeline。

欢迎评论;我的邮箱和领英在签名的链接里面,如果有不太好意思公开问的问题也欢迎联系。
大米 6
4
Goyuze+2很有用的信息!
wlllssd+1给你点个赞!
jarjar+2给你点个赞!
wind99721+1感謝學長的建議
107条回复