一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 2904|回复: 4
收起左侧

CMU CS System课程介绍

[复制链接] |试试Instant~ |关注本帖
yuchunzi 发表于 2014-5-3 08:33:35 | 显示全部楼层 |阅读模式

[12Fall] . Other@

生活的诸多方面,有什么是你一度感觉很不适应、很不习惯的吗?现在适应的如何了?有什么方面是你希望自己能早点知道的,可以提醒新人注意吗?:


你以前是在哪个国家读的本科?在美国感觉学习负担压力大吗?感觉读本科和读研究生,有哪些不同?:


一周需要学习多久才能跟上?你觉得拿A拿B难吗?:


平常除了上课之外,跟教授们联系多吗?是否有机会跟着做些研究?:


平常除了多跟同胞交流,是否经常跟外国同学party? 一般一起玩什么呢?有什么值得注意的地方可以提醒新人注意的吗?:


你获取求职信息的主要途径是什么?学校里的career service/job fair多吗?你觉得有用吗?:


美国的学习和生活有什么方面是你特别喜欢的?:


美国的学习和生活有什么方面是你最不喜欢的?:


你来美之前英语水平如何?(比如托福考了多少),你觉得跟美国同学和老师学习和生活上交流有障碍吗?经过一段时间,是否有提高?主要通过什么途径提高?:


其他详细描述:


注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
马上也要毕业了,贡献在地里的第一篇帖子好了。。。主要是介绍一下CMU我上过或者旁听过的系统课程,希望对来CMU想学system的同学们选课有些帮助。
. 1point 3acres 璁哄潧
首先,如果只是想学CS找工作而其实对CS没什么兴趣,好好刷题吧,学web或者mobile显然是更轻松愉悦身心的选择,奉劝还是不要去碰系统了,213什么的都完全没必要上。

Prerequisite:
15213(Intro to Computer System)(5 stars): 基础中的基础,如果你想要做OS,这些知识就是最重要的基础(虽然还是很表层的知识),如果想要做稍高层的system,这些知识也要掌握,还是会有帮助的。重要的是这个课会给你打下一个不错(仅仅是不错)的C programming基础,如果pointer什么的都搞不清楚,就不要搞系统了。。。

Intro Level:
15410(Operating System)(5 stars): extremely challenging的一门课(我觉的同等难度的课在CMU还有个两三门,例如compiler,15412)。基本上就是一个学期写一个可以用的,但是极其简陋的操作系统。头两个project相对简单。project 2是写一个user level thread library,project 3是写一个kernel,project 4每年都会有点变化好像,一般是写多核或者unix signal。代码量差不多一万多行C的样子,但是重要的是debug真心恶心,各种race condition呀,GDB一行一行的找BUG。总的来说是很好的一门课,Dave能把这么OS这么老技术的课讲得这么interesting十分难得。而且可以让你对concurrency的理解上升一个层次,上完以后就感觉没有自己debug不出的bug了(显然是个幻觉哈 :D)。缺点就是上完这门课你依旧不知道真的OS是怎么做的。。。所以只能算是OS的入门课程,如果想做OS这个课一定要选,但是上完之后还要选一些更高级的OS课(感觉除了15412,CMU好像没什么这种课。。。我没有仔细研究过,所以我觉的唯一的办法就是去读kernel了。。。18648 real-time embedded system涉及些linux kernel hacking,但是主要是scheduling,lock和file system这部分,感觉还是很浅,也许唯一的办法就是去APPLE/ORACLE/Google作OS了)
. visit 1point3acres.com for more.
15440(Distributed System)(5 stars): 这个课是想做分布式系统的入门课,主要是介绍所有关于distributed system的基础知识,包括网络,RPC, commit protocol,distributed file system,fault tolerance等内容。这个课有两个版本(Greg Kesden和David Anderson)。喜欢两个版本的人都有,我个人感觉因为David Anderson实际上在做这方面的research,他的版本会更系统介绍的更全面,但是Greg这个人很有意思哈,不喜欢他的人一上课就头痛,喜欢的人就觉的他蛮搞笑的,大家就自己选择吧。我个人可能更喜欢David Anderson的风格,但是我上的是Greg的版本。Project里比较好的一个就是写一个MapReduce framework with the underlying file system。我们当时写了9000多行JAVA,感觉还是很有成就感的,虽然基本上任何optimization都没有做。Anyway,强烈推荐上一下这个课。

15415(Database Applications)(4 stars): 这个课其实并不是很system的课,但是我推荐上这门课是因为数据库里涉及的ACID related topics和fault tolerance比较普适,在下面我要提到的一些课程中,这些知识会被一次又一次的重复,但是感觉都没有在这门课里花的时间多,所以我觉得这门课是在这方面打基础的最好课程。其他的知识,比如SQL,B Tree,都是基础知识呀,你要是不懂这些你都不要意思说是从CMU毕业的不是。而且今年的新老师Andy作new sql数据库和main memory database很厉害的呀,也是后面我要提到的advanced topics in database system的老师。. from: 1point3acres.com/bbs

Advanced classes:

15719(Advanced Cloud Computing)(4 stars): 在CMU有两门cloud computing的课,15619和15719。我没有上过15619,但是感觉619完全是engineer方面,换句话说, Amazon EC2 API培训课,但是个人感觉也是很好的。15719相比619更偏向系统设计方面,上课主要是读一些新的论文,比如说YARN, Dapper等比较新的系统。project方面因为这门课实在是太新了(去年是第一年开),所以不是很well designed。我上的时候用的是Open Stack,感觉也是API培训的感觉,但是我感觉收获最大的还是读那些论文,让我对cloud领域新的趋势有了一定的了解,十分开阔眼界。而且课程load不是很重,所以建议想接触一些cloud方向新知识的选择这门课。上完这门课后如果你是VLIS专业的可以选择 15648 Studio Big-Data System。这门课和15719风格很像,也是读paper写project,load也差不多,我个人比较喜欢。如果不是VLIS的同学基本上就选不进15648这门课了。

15799(Advanced topics in database system)(5 stars): Andy在CMU新开的课,强烈推荐,涉及数据库研究的各个领域,第一节课是Paxos,学过分布式系统的人都知道Paxos或者类似协议现在可以说是作分布式系统中实现replica,fault tolerance的基础了。随后的课程就是在每个topic上读几篇paper,NO-SQL, NEW-SQL, Streaming System等等等等。如果想做cloud system和database的同学这门课一定不能错过的,绝对开阔眼界。但是感觉load稍微有点重,每周三四篇paper review再加一个一学期的大项目。不过绝对物有所值的课程!

15749(Engineering Distributed System)(6 stars): 说实话这个课是我在CMU的最爱哈,强烈推荐!!!老师是Satya,他也是AFS和Coda file system的主要设计者。首先要说的是不要被这门课15410 B作为prerequisite的要求吓到,只要有良好的C基础(要比15213的C基础好才行),这个课并不是extremely hard。这门课涉及到了所有实现分布式系统中的问题,从caching, consistency model,prefetching,到content addressable storage(data deduplication),再到fault tolerance等,可以说涵盖了大部分你需要知道的分布式知识。更好的一点是Satya经验实在是太丰富了,所有这些topics听着他娓娓道来,怎样考虑各种现实问题,在什么条件下要使用什么策略,绝对受益匪浅,对今后设计系统有很大帮助。虽然如果你上过前面我提到的这些课,很多知识你都已经学过了,但是Satya的讲解肯定会加深你对这些知识的理解。project方面也很有意思,其中的两个是在coda file system中加一些feature。建议喜欢分布式系统的同学必选呀!
. From 1point 3acres bbs
其他一些我觉的值得推荐的系统课:
15412 OS practicum:上一次只有6个INI的勇士上了哈,是做一个学期project的课,topic应该是自选的,难度应该是难于15410的. from: 1point3acres.com/bbs

18746 Storage System: 也是Garth的课,我因为选的课太多实在是没时间上了,不过应该是很好的课,建议有时间的画选一下,但是如果你想上所有我前面详细介绍的课,你不一定有时间的。

15712 Advanced Operating System: 我记的是David Anderson教的,内容和上面很多的课有重复,包含了Paxos,Dynamo,MapReduce,以及很多系统方面的知识,有project,有时间可以去听下。. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴



. 鍥磋鎴戜滑@1point 3 acres

评分

10

查看全部评分

本帖被以下淘专辑推荐:

  • · CMU|主题: 57, 订阅: 111
htyeeer 发表于 2014-5-3 09:30:49 | 显示全部楼层
赞!410都不敢上的人只能膜拜了
回复 支持 反对

使用道具 举报

dc_726 发表于 2014-5-4 09:50:46 | 显示全部楼层
谢谢分享!
回复 支持 反对

使用道具 举报

头像被屏蔽
bitware 发表于 2015-1-26 14:31:05 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽
bitware 发表于 2015-1-26 14:35:43 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-9 15:49

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表