转码选手哥大MSCS两学期就读体验

avatar 631955
xxcindy
6674
6
终于学期结束了,想来总结一下也希望能够帮到考虑来哥大的学弟学妹们。

这是我上学期期末发的帖子:instant.1point3acres.cn里面提到了上学期上的4门课,纽约的生活开销等,这里就不重复了。

我的背景:转专业选手。入学之前有1年全职工作,1年实习经验,主要做frontend和简单的backend。入学前只会用JS,Python等高级语言。

这学期选上了几门好课,想重点介绍下。
1. Operating Sytems I by Jae (Software Systems Track requirement)
传说中哥大CS最难的课?
主要内容:
前1/3主要讲的是Advanced Unix Programming,包括inter-process communication,synchronization等。后2/3是关于OS theory的,包括System calls, interrupts, run queues & wait queues, scheduling, virtual memory managment, file systems等,跳过了I/O。
有7个作业,其中2个是individual assignment,5个group assignment(3个人,每次assignment都可以是不同的组)。2个作业是关于Unix Programming的,5个是关于Linux kernel的。作业大概包括了这些内容:写一个multi-server,scheduler,virtual memory manager,simple file system。每个作业都给了很多要求,提示,和reference reading,但是不会给test case。
有期中期末考试,都是TA出的卷子。考试前老师会把前几年的考试卷子都发下来给我们做练习。

我的感受:
上这门课之前我真的没写过C,寒假的时候稍微学了学但是根本不够用。很多时候知道要做啥但是用C怎么写都写不出来。后来作业做多了就知道该怎么写了。我们组都是pair programming,从头到尾大家一起写,每个作业大概要meet 40小时左右(40 * 3 个人=120小时)。我们前几个作业写的都只在平均分上,最后两个作业找到窍门了分数稍高一些。考试真的很难,考的内容都挺出乎意料的。

推荐指数:
好课,workload巨大,内容挺难的,不好拿高分,推荐在不找工的学期上

2. Distributed Systems I by Roxana
主要内容:
Distributed systems的核心是如何让多个machine一起工作并且让外部的人感觉这是一个machine。主要要解决的问题有:how to ensure concurrency of machines, how to overcome the lack of a global clock, how to manage independent failure of components (来自wiki)。这门课主要就是讲这几个topic和解决这些问题的classic protocols。
有5个作业。前4个是比较经典的distributed systems topics:MapReduce (distributed computing),primary/backup server, paxos-based server, sharded server。第5个是关于distributed system testing的。每个作业都要独立完成,可以讨论design但是不可以share code。作业都会给test case所以比较容易拿高分。作业的平均分都在80-95左右。作业都要用Go写,有给skeleton code。
有一个quiz占20%,考的内容难度都是reasonable的。


我的感受:
很不错的一门课。Roxana讲的挺好的的,也会发笔记。但是最后的几节课个人感觉她讲的不是很清楚。每个作业我大概要花20-30个小时去做。test case给的都挺好的,可以跟着test case来弄。Debug有些困难,只能各种print然后看log。很多时候是我对protocol理解有误导致的。第4个作业第2部分感觉最难,做了好久好久。


推荐指数:
好课,workload比较大,内容比较难,比较好拿分,推荐在不找工的学期上

3. Cloud Computing & Big Data by Sambit

主要内容:
上课讲了些virtualization,distributed computing,big data processing的内容。这个老师的印度口音有些重,我真的听不懂他在说啥,上课讲的东西很杂,基本都要自己看paper自己学。AWS的自学课。有3个作业(2人一起写),1个project(4个人组队),2个关于上课内容的quiz。Workload挺大的,有人还在Ed上吐槽:每个作业大概花费50个小时(50 * 2个人=100小时)。Project说是作业的工作量的3倍,但是这取决于project的内容,最后要写个6页的report,以及presentation。另外每周还有一个paper要读。

我的感受:
Mixed-feeling的一门课。上课内容我听不懂,作业和上课内容无关弄的我也没动力听课。quiz的话花个2-3天好好复习(预习)下也能解决。不过能够和同学一起做一个project也还蛮值得的。总体来说就是我们讲了一堆东西但是都是scratch the surface。

推荐指数:
一般般,可能跟教授的关系比较大。如果非常想要做project的话可以来上。上过的人都在劝退但是这课还是最抢手的几门课之一。Workload 比较大,内容挺简单的,感觉也比较好拿分。

4. Intro to Databases by Alex
比较简单的一门课,老师讲的很清楚,作业也是比较relevant的。考试内容和发的sample以及作业很像。Project是关于database designe的,之后可以选择用python写一个web app 和database交互,也可以加更多的design。作业占比不大,project比较好拿满分,考试也不难。

推荐指数:
比较水的一门课,推荐搭配其他的硬课一起上。这个教授很推荐,就是他讲话好慢好慢,可以视频二倍速哈哈。
Workload比较小,内容也简单,成绩也有curve还有extra credit。

没想到啰啰嗦嗦写了这么多哈哈哈。这几门课感觉是哥大比较好的比较抢手的几门课啦,希望对大家选课/考虑哥大有帮助。话说这学期上的几门课的TA人都超级好,所有的TA都值得五星好评,非常感谢TA们的帮助。

补充内容 (2022-05-14 15:07 +8:00):
顺便说下NYC的生活吧:
上学期忙着找工这学期忙着写作业,没啥时间出门玩。纽约的春天真的好冷啊,5月份才终于暖和起来了。学校里花花草草很美,建筑啥的也真的好看。没事的时候坐在学校草地上光合作用就感觉很治愈了。
NYC各种吃的玩的有很多,地铁公交也很方便。我买菜的话主要是骑车去Costco,有些痛苦,不过肉类零食啥的挺划算的。听说Costco可以grocery delivery想着暑假时试试看。走路10分钟左右有个Wholefoods,买菜还算方便?这几个月物价飞涨,真的挺难的。
这学期还第一次在美国配眼镜,做体检,和(陪)做手术,没有想象中的困难。
  • 31
6条回复