在 nyu-poly 上过的 那些课

avatar 108281
larry_cn
4034
3
今天 自己又悄悄的 溜进了poly的 图书馆
虽然毕业几个月了 不知道 为什么 学生卡没有 失效

之前写过一个 选课的帖子 1point3acres.com
现在看看 那个时候还 比较意气风发 {:4_101:}

闲来无事 补充和写写上过的 课

15 Spring(补充)
algorithm2: Prof. John Iacono(data structure方向 据说这个圈子 全世界只有 30几个人) 第一次教 最后这门课 只有15名学生上完 老师讲的很好 就是难度比较大(对额来说) 分数组成:5% particitation 15% homework(once week) 20% scribe notes 20% midterm 40% final 内容比较丰富大概 有amortization, npc, randomization, approximation, max-flow, streaming algorithm, cache-oblivious algorithm, string algorithm 也讲了许多 有趣的 数据结构:persistent data structuresplay tree, skip list, treap, buffer tree, x-fast trie等 每次作业只有 一两道 但是作业就是这样的 要么会一个小时写完 要么不会 一周也解不出来 第一次作业 直接导致15个同学 退课 考试基本平均分 35(100 满分) 不过教授手下留情 grade给的还可以 额master 唯一一门B

15 Fall
networking: 这门课 比较轻松 可以用来和很tough 课搭配 除了上课 一学期额外 需要的时间可能不超过70 小时 用的教材就是那本经典的 computer networking: a top-down approach 不得不说 课的内容在应付面试的时候 还是很有用的 差不多 application layer 和 transport layer 这两张 可以应付所有 几乎所有 network相关的问题 (除了 netwrok的 职位)

advanced project:这门课是 需要自己找 professor做project 或者 research 因为自己summer 没有实习 所以summer 就开始找的 Prof. Torsten Suel 然后一直 做到15fall 结束 主要是做index dynamic update的 research 大概一个星期 约见prof 一次 然后 谈谈进展 自己的想法 如果卡住了 professor也会 提些建议 idea 是大家一起想 不过主要还是 prof来主导 从prof那 学到很多 而且prof 人特别好 整个11,12月额 差不多就在打酱油。。。 因为另一门课 完全占用了 额所有的 时间 其实prof 是希望这个 topic可以发paper的 不过自己后来要找工作 也有这个方向兴趣不高的问题 没能继续 所以看到的同学 有兴趣可以 先联系prof 或者额 (可以先看下 dynamic maintenance of web indexes using landmarks 这篇paper by Lipyeow Lim)

honers operating systems:Prof. Michael Walfish(SOSP program committee) 这是一门4个学分的课 也是额上过最好的课 很感谢mike 给机会让额来上课 只有6个学生选了 这门课 期中有一人quit了(16fall 也有这门课的安排 但没人选 所以cancel了 惋惜) 分数组成:30% class particitation 40% final 15%lab 15% final project lab就是做 那个传说的jos 自己基本都是 在图书馆一坐 几个小时的coding 十分带感 然而这门课最tough的 是要读paper 因为每周二 四两节课 课前都有安排paper 课上prof 和几个同学坐一圈 主要以随机提问的 方式渡过 每个同学每节课 平均被提问 7到8次(算成绩) 胆战心惊。。。topic 大概覆盖 virtual memory, virtualization, kerenl design, concurrency, I/O, security, whole system 有很多有趣的 paper 自己理解有限 上课听prof 讲后 有时候会突然 理解author 为什么要这么写 也学到了许多 os上有趣的设计 还有需要考虑哪些问题 当然也有不太喜欢的 paper 比如太 formal 太理论的{:4_104:} 最后的project 额是自己 一组完成的 做了一个 分布式共享内存的 model 也很有成就感(本来以为 完成不了) 差不多是 先做research 然后自己想detail 最后coding出来 demo 总的来说 这门课让自己 在os上还是 进阶了一些 读paper的能力也提高了 不少。。。链接 cs.nyu.edu

16 spring
现在poly 好像只修一门 必修课 不过额是属于4门必修的 时代
programming language:John Viega 虽然很多同学 不喜欢这个老师 不过客观的讲 这门课还是 挺好的 分数组成:50% programming assignments(1 haskell 4 c/c++) midterm 20% final 30% 虽然已经 记不清楚 这门课都 讲了 啥 不过可以肯定的 这门课对 面试很有用。。。 几种gc 优缺点, heap/stack, oo language的 相关问题, parser, 编译等 面试的细枝末节 都在这里了 头两个homework 算是parser (lexical parser 和 parse tree) 做了这两个 差不多 所有面试里的 parser都不用 怕了。。。 最后两个是 写malloc 和gc 活用指针吧 不太懂的同学 会比较吃力

mit 6.824 distributed system: 自己对 分布式很感兴趣 所有跟了mit 16spring的这门课 pdos.csail.mit.edu 毕竟不好选上 courant jinyang li的课 主要就是做lab 和看paper 这次的lab 不再写paxos而是 完成raft 所以难度是 有所提高(个人 感觉) 自己反复写了 几次 最后是还差一个 test case 过不了。。。中间不会的给mit的 ta 发过邮件 也很帮忙 写lab 用go(很有趣的 语言 ) lab可以帮助 理解raft 那篇paper 细节都有涉及到 另外可以 帮助理解分布式 要思考的问题 比如 fualt/partition tolerance, consistency, handle repeat/concurrency request等等 paper 主要看自己感兴趣的 和 课后notes 自己也会 补充些 经典的和consistecy model相关的 paper 所以这里也鼓励 那些 想选courant 这门课而选不上的 同学 自学 毕竟mit这个 资源这么棒

最后对poly的 同学 补充一点 courant 有一些很 tough或者对一个 领域很深入的课 如果正好课的内容 喜欢而且想去上 去找prof 基本可以选的
因为这样的 课 prof很可能开了 都没有 足够的 学生选。。。 比如那门 honors os 或者类似 inference and representation, regorous software development, compiler 这样的课。。。
  • 4
3条回复