一亩三分地

 找回密码 注册账号

扫描二维码登录本站

BBS
指尖新闻
Offer多多
Salarytics
Learn
Who's Hiring?
疫情动态
Instant
客户端
微信公众号
扫码关注公众号
留学申请公众号
扫码关注留学申请公众号
Youtube频道
留学博客
关于我们
查看: 4298|回复: 21
收起左侧

[专业/学校/教授] 谈一谈过去两年在CMU上过的课程以及那些人和事

  [复制链接] |试试Instant~
我的人缘0

分享帖子到朋友圈
HarveyLzz | 显示全部楼层 |阅读模式
本楼: 👍   100% (8)
 
 
0% (0)   👎
全局: 👍   98% (482)
 
 
1% (9)    👎

[18Fall] MS.自费AD ME@CMU

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


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


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


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


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


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


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


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


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


请介绍你们专业的申请录取和就业情况:
MechE一届差不多120人,里面80中国人、30印度人的样子。就业有2-3个去FLAG级别的大厂,还有去mathwork和ansy这种工程类软件公司。不少去的是robotics相关的start up,也有读博或是去传统公司的


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

您需要 登录 才可以下载或查看,没有帐号?注册账号

x
本帖最后由 大队管理员 于 2020-5-28 13:23 编辑

[Prologue]
人在家中坐,degree从天上来,万万没想到在Chinese Manong University的最后一学期就在电脑前无奈的度过了,经历了zoom直播lecture和各种奇葩的online考核方式,经历了镇校神课考试服务器的翻车......回首过去的两年,一个个课程的ddl、project和final都让我记忆犹新。不得不感慨在CMU的这段日子让我找回了本科时迷失的方向感,学到的东西和高额的学费比起来也是相当值。话不多说,开始介绍过去的四个学期上过的一些课程和感受,也算是为后人踩坑预告啦。各位看官走过路过加个米,熟人同行莫拆穿~
[Terry Lee大礼包]
谈起在CMU的学习经历,相信不少人都会对Terry Lee赞不绝口,甚至会说他开的两门转码向的基础课是在CMU感受过的最好体验之一。Terry Lee本身也是传奇人物,很难想象一个本科法学、来CMU读现在已经消失的一个就业型硕士项目的“转码选手”,竟然留在了学校当起了professor,所开课程学生都能把大教室塞得满满当当,学生评分也是年年接近满分,最近还从assistant teaching professor升到了associate。之所以会有如此成绩,与他的努力和认真密不可分。所有课程的piazza回复亲力亲为,晚上10点或早上7点都能看到他的回复。课程的备课准备也是相当认真,节奏紧凑绝不拖沓。Terry Lee讲课也是诙谐幽默、激情澎湃,让我中午12点上课都毫无困意。当然不得不提刁钻的quiz、烧脑的final和每次edge case想到自闭的作业。这两门课虽然只有正常课一半的学分,但每周平均下来所花的时间绝对会超过6小时时长,收获也远大于6个units。

17681 Java For Application Programmers
这门课对很多人来说,包括我,都是人生中第一门系统学习编程语言的课程。对科班同学来说可能是看起来小菜一碟,但据我周围软工本科的同学说,这门课让他补充到了很多盲区和以前没有注意到的地方。对于java零基础的选手和想充分利用可选系外课学分的我来说,这门课当然是不二之选。这门课从hello world、如何使用IDE开始,一直到最后的多线程和Gui application,包括Object Oriented Programming三大核心、abstract classes和interface、Java Collection应用,I/O和network programming以及Swing都会涉及,可谓是从零带你上手java。这门课节奏紧凑,每周一hw due还有quiz,每次作业其实不用花太多时间,但是coding style、defensive copy要求还有各种稀奇古怪的test case可能会让人在autolab面前静静的磨上几个钟头。然后每次当你作业完成有种自己很懂java的飘飘然时,quiz的分数又让你觉得是时候该啃java docs了。考试分为笔试和机考。笔试是概念多项选择和几个纸上coding填充,机考则是自带电脑在2.5 hrs(好像)内完成一个十几页specification的Gui application,类似于成绩登分系统之类的应用。最后给分还是很严格的,犹记拿A的似乎只有10%的人,楼主由于笔试太烂最后拿到了A-。

17683 Data Structures For Application Programmers
出于上17681的超值感受,之后果断选了17683。与CS学院的算法课相比,这门课简单不少,也明显更偏向于应用和实战,作业都是造轮子或是用算法解决实际问题,没有那么多复杂度的计算和公式推导。内容涵盖java collection里面大多数data structure,着重讲述里面的原理和implementation details(例如java 排序 reference 和primitive type分别用什么sorting algorithm,java的hashCode()是怎么实现的,为什么java早期版本的HashMap length用power of 2而不是质数等等)。上课全程板书,每节课内容基本相当于手写一个数据结构,跟着学下来后对不同数据结构的性能和实现都有深刻的印象。比较可惜的是出于半学期的课程限制,详细讲到Heap后,之后的TreeMap那些就浅尝辄止了,graph是完全没有涉及。算法部分局限于各种排序算法和DFS、BFS。虽然楼主工作不用java,但这趟课学习下来还是收货颇丰,毕竟很多东西是language independent的。另外值得一提的是Terry Lee喜欢拿实物讲解数据结构,经常会带各种“法宝”到课堂。讲Collection framework时带了一个大tool box、用书架放书讲解insertion sort,用一筒品客薯片讲解stack,还从家里抱了一大堆T恤讲解max-heap里面的remove max key的操作、用扑克牌展示sorting时stability的重要性......他经常说,我希望你们上我的课就像看show一样,果然也是名不虚传。最后说下这门课的考试和作业,作业会手写各种data structure来完成一些任务比如词汇检索之类的,会有很多的edge case让人防不胜防。作业instruction经常是有些specification故意写的含糊,Terry Lee的目的是想让我们去piazza上confirm,因为工程实际中并不是所有问题都是well-defined,需求也不是百分之百明确,沟通也是一种能力的体现,这一点我深以为然。考试就像做OA一样,不同的事很多时候只需要代码填空另外也是开卷。

17637 Web Application Development
这门课其实和Terry Lee没有半毛钱关系,但是因为教课老师是Terry Lee之前的老师(现在是同事了有没有很有趣)而且都是软件学院17-的课,所以放在一起写。楼主上的是spring的版本,instructor是Jeff Eppinger。Jeff看上去是个和蔼可亲的白人老爷爷,学生时代和Java创始人James Gosling share过office,还经常讲起那个时候的故事。虽然是教web,他也经常开玩笑说他学web也没多少年,倒是在transaction上颇有名气,查阅他的经历,几十年前居然还有binary tree方面的research。这门课前半学期上课,基本的web前端UI、静态网页和动态网页、应用数据库、ajax这些都有设计。貌似主题每学期都在变,我上的那个学期是围绕建立一个mini facebook(可谓是非常mini了。。。)用Django搭一个网页,并最终部署到cloud platform。个人感觉可能和某著名网课平台上的那个万人同学的yelp网页设计差不多。下半学期做project并穿插讲一些security(包括SSL和加密算法)、transaction、web socket、CDN等一些较新的东西(web这一块确实更新的比较快,各位看官读到这里时候说不定又是一番天地)。值得一提的是project给分是相当严格的,只有不到一半的小组能拿A-和以上,最低甚至还有给C的。但就内容和时间来说,每个组都是花费了不少经历,但因为project要求使用“新的内容”,有的用react、vue这些前端框架,有的用各种third party tool,导致会有不少学习难度,而且每个组的内容非常不一样TA能给予的帮助相比作业而言也是非常有限,导致后半学期难度猛增。楼主最后是用websocket和react框架做了一个双人飞船对战小游戏,当时一度卡着非常绝望,知道报告那一天都没有实现全部功能。Jeff老爷爷竟然主动提出愿意多给我们一周的时间(当然最后得分会有discount),最后和小伙伴成功做出产品,Jeff和TA连玩三局玩的不亦乐乎,终于project这一块拿了个B+。最后当我们表示感谢破例的额外一周时,Jeff老爷爷只说了一句“It's all worthwhile",当时就差点眼泪下来了,觉得异常感动。不过言归正传,这门课不是特别推荐,web的东西完全可以网上自学,而且作业和做出来的project也都比较toy,要学web搞前端或full stack的话更建议选软件学院的一门mini课J2EE啥的,那门课几乎就等同于17637的前半学期,我觉得也基本够用了。
-baidu 1point3acres
[Robotics/ Computer Vision相关的课程]

16720 Computer Vision
不废话,顾名思义,强推!不少同学和我一样,都是靠这门课所学知识和做的project拿到了无人驾驶方面的实习。这门课主要是五个部分image processing, detector and descriptor, multi-view geometry, deep learning-based vision和object tracking和visual slam。侧重点上偏传统cv,对于目前deep learning大火的趋势和强大的算力,这门课所学的内容可以说作为一个基础课,相当于CV里的15213。比如想搞perception的可以进阶学习Introduction to Deep Learning和Visual Learning and Recognition。想搞SLAM的可以学习前端为主Geometry Methods in Computer Vision和以后端为主的Robotics Localization and Mapping。作业貌似这几年一直在变化就不多说了,但每次作业都是量很大的造轮子的那种。在CMU经常有句话,你学啥就造个啥,类似于那些15-开头的系统课,这门课也不例外,很多东西手写起来比如back propagation,Gaussian Newton还有Geometry那些八点法、七点法的搞起来还是很累人的。

16822 Geometry-based Methods in Computer Vision
这门课一直是由现任SCS院长(也是之前robotics institute)的院长martial hebet。Martial人是非常Nice,之前因为要注册学分得找他签字,一时头脑发热居然去碰运气直接敲院长的办公室大门,结果他直接就开门并签了字。Martial虽然年纪比较大了,但上课一直是经历满满富有激情,板书推到一丝不苟,下课也经常留下来答疑,非常负责。这门课比较理论,几乎可以看做一门数学课,内容的话对标CV届的Bible 《Multiple View Geometry in Computer Vision》,内容涵盖几何用到的线性代数和优化方法、calibration、stereo、multiview Geometry,Dense Reconstruction,Prospective-N Point, SFM, Non-rigid SFM都有。然后好像是这一届开始加入了deep learning解决depth estimation相关的内容,不过也是简要介绍。作业和期中考试多理论计算和公式推到,还是很有难度的,project则是各位RI大神的展示空间,很多人展示的project作品都是最后发表到了ECCV或是CVPR的。给分温和,基本都是A。这门课比较不满的就是作业编程部分设计的太烂了,甚至还出现了原本是deep learning部分的作业TA种种没有设计出来,最后改成paper review写个报告了事的现象。除了用vanishing point和几组平行、正交线来标定相机、用plane homography单目三维重建外,也没有啥适合写在简历上的project了。本来很感兴趣的sfm加dense reconstruction也直接照搬普林斯顿肖健雄的原作业repo。不少大神选这门课要么是research需要(像RI就有团队搞non-rigid sfm而且是行业顶尖) ,要么是搞无人驾驶visual localization和传感器标定会用到,除此之外不太推荐,不过简历上有个geometry的字眼还是吸引人的,比较无人驾驶里面很多实际问题是deep learning没法end-to-end解决的,比如pose estimation、calibration、depth estimation和动态目标速度估计,geometry vision就可以派上用场。. 1point3acres

[镇校神课]
还有谁?学校邮编都是这个。

18213/15213/15513/18613 Introduction to Computer Systems
认识的中国人转码的基本都上了。对的,你没看错,piazza上就是这么长的课号,只不过每个课号预留给不同专业或项目的同学,上的内容基本都是一样的(除了18-系列针对ece同学,覆盖东西会稍微多一些)。这门课每年都有差不多400-500人上,很多人是online的session也“不要脸”的去教室听(手动狗头开个玩笑哈哈,说的其实就是我)。对于楼主这种c都没怎么学过的选手来说上的也是非常艰难,每次作业都快花一整周的时间了,513课程内容覆盖非常广,从最基础的data、到汇编、cache、再到virtual memory、process and thread等等都会涉及。楼主个人觉得没有哪次作业是可以水过去的,哪怕是作为预备知识自我检测的lab0都花了我三个小时。Data lab让我印象深刻,用位操作搞count 和palindrome这种事情简直是变态 (只能限定的几种位操作,好几题连condition都不能用!)汇编相关的几个lab包括attack lab算是里面比较简单的了(毕竟汇编可以连蒙带猜试出来), 当然还是得弄懂,毕竟考试会碰到非常复杂的读汇编的题目,并且推算结果(楼主期中就遇到了斐波拉切的汇编代码,还是递归版本的,看了好久才反推出来)。cache lab也是难度不小,一个是因为得从零开始写code(之前有给大的框架来填充function),而且第二个矩阵优化的问题楼主太菜至今都没想通。最难的公认malloc,就是手写一个类似于malloc function实现动态内存分配,顺带实现free、realloc这些,这个作业就要求对malloc原理要非常清楚。其实vanilla版本的malloc function写出来不太难,但作业给的throughput和util metric就要求你对code层层优化,比如如何找到free block,如何减少非payload占用的空间,并且设计和改进customized data structure等等,比较有成就感的是写的malloc function通过library interpositioning可以用在real programs里面,这种感觉和之前写的cache simulator是完全不一样的。个人觉得最变态的是shell lab,就是手写一个简化版的linux shell,里面一涉及到process和signal就很容易出现各种bug,而且piazza上似乎大家都遇到不同的bug......很多甚至还不好debug毕竟run 3次两次work一次失败的那种,课上给的example code也有不少misleading的信息,得学会读man page。相比shell lab,占分更多的proxy就比较模式化了。总而言之这门课让我从无到有学到了不少system的知识,这门课也是很多课程的先修课,而且很多课程包括distributed system和parallel Programming据说会踢出没上过513的人,所以建议有机会来之前的暑假就上掉,或是在第一个学期上掉。有趣的是,笔者是最后一学期上的513,考试由于疫情原因没法去机房考,而remote server罕见的翻车了,不少同学反应无法登录进去(有的考试开始20min了才log in),更惨的是有的同学没过5min系统就会弹出莫名其妙的警告......感觉是教学事故了,最后给出的解决方案大致是要么考试成绩加5分,要么选择重考。这段经历也是没有谁了哈哈。

[系内课大合集]
CMU的MechE绝对不是传统的MechE,讲道理我上来两年的MechE master连传统的机械设计CAD、振动、流体、控制相关的都没有上过lol.

24783 Advanced Engineering Computation
这门课和24780 Engineering Computation一样,算是山川老师大礼包,是CMU不多的用C++写作业的课程之一(CMU不少系统课用c,很多用java、go,科学计算prefer python和matlab)。讲课的老师是个口音及其严重的日本人,经常把大家绕的云里雾里以致于学期过半教室里只剩5-6个人来听课了,但有一说一,山川老师的技术水平和课程设计还是非常棒的!不用ide用codepad上课live coding c++,拿着windows的powershell编译加运行,让依赖clion或vscode的我觉得无比硬核。山川老师coding对c++的熟练程度应该和他在工业届的经历有关,每次看他coding就觉得,如果能把c++写的这么熟练,怕是横行天下面试无忧(开玩笑哈哈)。有人可能会问,“这门课和机械学院有什么关系”,这就要谈到课程设计了。这门课本质上用各种算法解决MechE的问题,内容核心是算法和opengl,举个例子,用Dijkstra算法找飞机上两个mesh 网格之间的最短路径等等并用opengl可视化。山川老师本人据说是个狂热的游戏爱好者,特别喜欢日式游戏,作业很多也是与游戏相关,比如binary tree那些要做个可视化的binary tree,按“V”键自动balance。还有一个作业是写一个lidar simulator也是非常有趣。hashmap的作业是数出一个游戏界面(好像是勇者斗恶龙)用了多少unique的bitmap。最后值得一提的是作业用的库除了opencv那些都是老师自己写的,据山川老师说他大学时开始一直到现在都在写这个库,并且用这个库做了不少应用比如飞行模拟器,png decoder之类的。有次没事翻他的code,不少都是十几年来accumulated的progress。最后project大家也是各显神通,楼主和小伙伴们写了一个简易的键盘控制的temple run,居然还挺好玩的hh
游客,本帖隐藏的内容需要积分高于 50 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.
说的不对的欢迎指正,欢迎补充,另外欢迎加米lol

评分

参与人数 35大米 +119 收起 理由
fawaikuangtu + 1 给你点个赞!
笑猫达人 + 1 很有用的信息!
留学人 + 1 给你点个赞!
氢锂钠钾铷铯钫 + 1 很有用的信息!
liuyubo1121 + 2 给你点个赞!
ciefer + 2 给你点个赞!
TrojanFighter + 1 给你点个赞!
巴拉拉小龙王 + 2 很有用的信息!
therealmichaelz + 2 给你点个赞!
Nickisdope + 1 赞一个

查看全部评分


上一篇:Cornell Tech CS 就读体验
下一篇:USC CS37 第一学期总结
我的人缘0
gameboyying 2020-5-31 07:58:11 | 显示全部楼层
本楼: 👍   100% (1)
 
 
0% (0)   👎
全局: 👍   38% (103)
 
 
61% (168)    👎
竟然没有选cloud computing, 我觉得那门课是我收获最大的。 一门抵4门。
回复

使用道具 举报

我的人缘0
venturekwok 2020-5-29 20:34:08 | 显示全部楼层
本楼: 👍   100% (1)
 
 
0% (0)   👎
全局: 👍   98% (716)
 
 
1% (10)    👎
楼主文风很有趣
回复

使用道具 举报

我的人缘0
本楼: 👍   100% (1)
 
 
0% (0)   👎
全局: 👍   100% (1)
 
 
0% (0)    👎
學長寫得太好了 剛好要選課了 很好的參考 祝學長前程似錦哈哈!
回复

使用道具 举报

我的人缘0
twrsjz 2020-5-29 08:01:41 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (24)
 
 
0% (0)    👎
请教下老哥,最终选择的是何种岗位呢?而这个岗位看中的是那些课程/经历呢?感谢[抱拳]
本人同ME,在考虑选机器人方向还是硬转码中
回复

使用道具 举报

我的人缘0
 楼主| HarveyLzz 2020-5-29 08:54:19 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   98% (482)
 
 
1% (9)    👎
本帖最后由 HarveyLzz 于 2020-5-29 09:01 编辑
twrsjz 发表于 2020-5-29 08:01
请教下老哥,最终选择的是何种岗位呢?而这个岗位看中的是那些课程/经历呢?感谢[抱拳]
本人同ME,在考虑 ...

最后去搞自动驾驶了,在perception team。周围也有不少同学以robotics的实习作跳板,全职去了不错的互联网大厂。岗位的看重内容建议去公司官网看看requirements,尤其是prefer的内容。相同岗位不同公司的要求差别不会太大,之后选课就有针对性了,建议再进实验室,争取有sufficient research经历和成果,发个paper就更好了。个人觉得robotics尤其是自动驾驶岗位少要求高面试coding难发展不稳定,但有趣有价值有前景cash也多,公司牛人云集可以学东西,也没那些政治斗争。就MechE转行的tech stack而言比纯SDE跨度更小,工签stem ext理论上也更smooth,所以有利有弊吧。建议可以实习CPT找一个robotics类的公司体验一下,之后用OPT工作时也可以两条路中选更合适的。
回复

使用道具 举报

我的人缘0
twrsjz 2020-5-29 13:11:21 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (24)
 
 
0% (0)    👎
HarveyLzz 发表于 2020-5-29 08:54
最后去搞自动驾驶了,在perception team。周围也有不少同学以robotics的实习作跳板,全职去了不错的互联 ...
-baidu 1point3acres
很受启发,感谢老哥了!
回复

使用道具 举报

我的人缘0
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   98% (181)
 
 
1% (3)    👎
这是去图森了吧哈哈哈
回复

使用道具 举报

我的人缘0
 楼主| HarveyLzz 2020-5-30 07:13:17 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   98% (482)
 
 
1% (9)    👎
Chengda 发表于 2020-5-30 06:44
这是去图森了吧哈哈哈

哈哈并不是,但周围去图森的也不少
回复

使用道具 举报

我的人缘0
ciefer 2020-5-30 07:22:06 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   97% (39)
 
 
2% (1)    👎
老哥问下教j2ee是那门课呀
回复

使用道具 举报

我的人缘0
 楼主| HarveyLzz 2020-5-30 07:43:39 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   98% (482)
 
 
1% (9)    👎
ciefer 发表于 2020-5-30 07:22
老哥问下教j2ee是那门课呀

08-672 J2EE Web Application Development, 上半学期的mini课,老师也是Jeff Eppinger
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

隐私提醒:
■为防止被骚扰甚至人肉,不要公开留微信等联系方式,请以论坛私信方式发送。
■特定版块可以超级匿名:https://pay.1point3acres.com/tools/thread
■其他版块匿名方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

手机版|||一亩三分地

GMT+8, 2020-7-15 13:26

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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