CMU MISM Global 21month 就读及选课体验

avatar 436647
Leo_0201
4622
11
LZ读的是CMU的MISM Global项目,19fall入学,现在已经到了在CMU的最后一个学期,想总结一下自己这两年的经历,希望能对准备来CMU的同学有所帮助,MISM Global这个项目特点就是时间长,能上的课很多,所以我会比较侧重介绍一下我上过的课。这个学期也开始准备找工作了,想多看地里的面经贴,希望大家多贡献大米,感激不尽!

澳洲选课:

  • 95712: Object Oriented Programming in JAVA, 必修课,在澳洲是Murli来教,涵盖内容包括Java和OOP的基本知识,以及I/O, Thread, JavaFX等,有一个team project,我们那个学期做的是人脸识别项目,需要用Java FX来写GUI,调OpenCV的包来做识别。这门课开学有免修考试,如果可以免掉有机会去利用这12学分去选其他的课,但我们这一届免掉的人很少,如果想要免掉这门课尽量入学前先去自学(复习)一下Java,找一些muliple choice questions做做。
    Murli讲课基本是念PPT,有时会带着看Java doc。这门课的Assignment我觉得还不错,当时自己本科虽然学过Java但是写码的经验不足,这边的作业对于没怎么写过Java的同学可能有些吃力,但是一个很好的开始,对于Java写的很熟练的同学来说应该很简单。期中和期末的考试都是多项选择题,以及期末有coding问题,基本平时作业做好问题不大。
    这门课拿A和A-的同学很多,也有拿A+的,我不会说拿A很容易,因为我这门课是B,期中和期末都没有考好,后来总结还是自己考前刷题做得不够,对于有基础且足够努力的同学,拿A-不会太困难。
  • 95705: Telecom,必修课,Riaz来讲,教材是他自己写的,内容比较偏向通信,信息论,多路复用,路由等等,不是一门coding的课,有一个team project,需要写report以及presentation,我们当时做的是5G相关的,Riaz会随机分组(他不会让一个组里都是一个国家的同学),这门课每节课前都有需要阅读的材料,Riaz上课会抽人回答问题检查大家有没有好好看材料,记得有一次很多同学都没提前看材料,Riaz直接发火....平时作业由TA打分,经常出现要去找TA argue的情况,有一次排队去argue的同学起码有20多个(个别TA给分比较苛刻),考试侧重平时sildes和review的内容。总的来说我认为这门课对转码没有帮助,这门课我们当时不能免修,但听说下一届就可以免修了T_T。
  • 94700: ODI,必修课,6次作业无考试,和coding无关,讲组织行为学等等,上课基本听Tim讲case,比较水

  • 94702: Writing课,94718: Strategic Presentation Skills,一门课是写,一门课是说,放在一起..写作课会教如何写email,cover letter等,比较水。presentation课是选择一个感兴趣的topic做pre,会教如何改善自己的voice,以及做pre的时候到站姿,手应该怎么放,slides要怎么安排等,虽然和coding没关系,但个人觉得还是一门体验很好的课。pre这门课有两个教授,教我的是bodycoat,是在澳洲为数不多喜欢的老师。一开始听说这个老师的课很难拿好成绩,但我最后的成绩还不错
  • 95874: Agile methods,会介绍agile的12条原则以及agile相关的开发流程等等,有quiz(选择题,基于slides),没有考试,一个group presentation
  • 95888: Data Focused Python,选修课(在R和Python中二选一)我们当时的教授是Zig,感觉他讲课非常灾难,上课过slides,带着把slides里的代码跑一遍,有同学问问题他很多时候也回答不了,到了正则表达式让TA给我们单独开了一次session来讲,当时感觉TA讲的都比他好,这门课的Lab基本是看教材写代码,主要是偏向data方向的所以会讲到numpy/pandas/matploblib这些包,team projects需要写爬虫,数据可视化等,要求需要爬多个不同source的数据但是不能都是同一个方向,like 你去indeed爬就业数据算一个方向,你再去爬glassdoor的就业数据还是算一个,要多个维度都collect数据并结合它们做分析,最后pre的时候,Zig评价projects并不根据你用了什么技术,他更看重business的part,评分感觉比较主观...好在team projects其他部分有比较明确的打分标准,建议多和TA沟通看看是不是已经满足要求了


以上是19 fall我在澳洲阿德校区上过的课,对于转码比较有用的大概只有Java和Python,但其实远远不够(不要指望只靠Heinz的课来转码),其他课都比较水(但并不意味着好拿高分),建议想转码的同学争取在这个学期就开始刷题,为第二年找实习打好基础。第二学期我免修了95703 Database这门课,省下来12学分,这个学期有不少同学都成功了免修了数据库的这门课,选择了Cloud Computing,但我当时觉得以自己的基础上这门课会很吃力,我选择了95771 Data Structures and Algorithms作为数据库的替代,现在回想起来也许不是一个正确的决定,因为后续来到匹兹堡后我发现想上的课太多,而cc的workload太大,只要上了就很难再上很多别的coding课,其实澳洲的第二学期上掉cc是一个非常合适的时间,cc涵盖的内容很多,对于转码同学丰富简历有很大帮助,大部分上了cc的同学暑期都找到了非常好的实习。虽然也不后悔自己的决定,但个人还是建议global track想转码的同学争取在澳洲就把cc上掉,一方面因为cc是网课,去美国学和在澳洲学并没有那么大的区别,一方面因为在澳洲基本就会把所有必修课上掉了,早点上完cc会给在匹兹堡的两个学期的选课更多选择。不过研究生版本的cc有team project,建议找好队友再上。第二学期的课主要以商科为主,搭配CC的workload相对可控(然而,这个学期上cc的同学仍有很多深夜还在torrens building挑灯夜战,respect)

下面是澳洲第二学期的课:
  • 95710 Economic Analysis 95715 Financial Accounting 95716 Principle of Finance 三门商科课,教授是TK,全是必修,这三门课对于本科是商科的同学来说可能不困难,但据本科学过accounting的同学表示TK讲的属实不太行,而且最后的考试虽然有三个小时,允许一页cheatsheet,但TK出的题基本会让你写都写不完,accounting这门课我收获了第二个B...这三门课对于转码没有帮助。


  • 95796 Statistics for IT Managers,Janusz来教(他也是数据库那门课的教授),内容有二项分布、假设检验、回归分析等,这门课也是可以免修的,理论上这一学期可以免18学分(database 12分+统计6分),这样再上cc压力会小得多,这门课对于找data方向工作的同学也许有帮助,对于转码而言帮助不大。


  • 95722 Digital Transformation,Riaz教,这门课个人觉得偏向business?会讲长尾效应,供应链管理等,Riaz的课仍然是会给很多阅读的材料,这门课他会给每个组对接一个实际项目,有点偏向于consulting,不同小组的感受应该不太一样,我们是客户打算promote他的产品,麻烦我们调查市场上竞品,给一些决策建议。
  • 95760 Decision Making Under Uncertainty,还是Riaz教,后来发现长期base在澳洲校区的就是Riaz和Murli,TK和Janusz都是spring在澳洲,fall在pitts。感觉偏向business和consulting的课都是riaz教了,在澳洲也可以选Data Mining这门课,就是Murli教,这么多课在澳洲上都是这两个人教...(这几门课在Pitts都是不同的老师教)。这门课在国内翻译过来应该就是运筹学,讲线性规划/非线性规划等,作业有用excel做一些线性规划问题,考试需要把作业和review都弄清楚。
  • 95771 Data Structures and Algorithms,放弃了cc选的这门课,这门课澳洲不开,所以我们是看匹兹堡的往届视频来上课,讲课教授是McCarthy,他讲课时都会在白板上画例子,跟着思路不难理解。这门课介绍了基本的数据结构和算法,从LinkedList讲起,后面会教如何分析时间复杂度,再之后有Stack/Queue/Heap/Binary Tree/Red Black Tree等等这些数据结构,也有Dijkstra,Floyd–Warshall等图论算法,hash,二分等查找算法,各种排序算法,Huffman Tree, LZW等压缩算法,最后是有限状态机,P与NP问题,总的来说内容很多,不都是对刷题有帮助,但是对于入门这些数据结构和算法算是足够了,作业简单的有数组实现链表,二叉树前中后序遍历,难的有手写堆,手写红黑树(不用写删除),手写LZW,最后要写个Turing Machine,我觉得好好学的话对于理解DP会有帮助的,算是在Heinz里比较对转码比较有帮助的课,如果能在澳洲第一个学期就上就好了,但当时即使免修了Java也选不到这门课,不知道之后的同学有没有机会选,我个人还是很推荐这门课
以上是20 spring我上过的课,做个总结的话,在澳洲的课,大部分是比较偏商和管理的,但都是必修课,对于转码同学来说,最好要抓住免修考试的机会,去提前选一些对转码更有帮助的课,特别是CC,因为在澳洲也选不到什么其他学院的课(不知道后面会不会有改动)

接下来就是找实习,global项目不能在美国找实习, 且刚好遇到了疫情,大部分同学选择了回国实习,少部分同学选择了留在澳洲实习,回国的同学基本都拿到了大厂实习,很厉害,之后疫情太严重,大家纷纷选择gap半年到一年,在21 spring或者21 fall再入学。去了美国以后基本剩下的全部都是选修课学分,想转码的同学纷纷开始选CS院的课,想做data的同学也开始上ML的课,global项目优点之一就是这两个学期的选课非常自由。

美国选课:
  • 18613 Intro to Computer System,其实就是15213的研究生版本,教授是Gregory Kesden,我个人是非常难follow Greg讲课的,他的肢体语言非常多,讲课风格比较诙谐,但也很distracting,每次课上都有quiz,但不计分,基本上每周都有作业,有期中期末考试(期中算作两次作业成绩,因为最多可以waive两次成绩最低的作业,所以期中考砸不用太紧张,可以waive),以及大家都熟知的那些Lab,难度上我感觉Malloc Lab > Proxy Lab > Data Lab,因为C语言基础薄弱,学起来非常痛苦,这门课讲的东西都很底层,但很重要,这门课是我21fall workload最大的一门课,因为这门课导致我其他课的时间管理都出了问题,建议量力而行每个人的基础都不一样,有能同时上很多cs课的大佬,也有我这种上一门硬课就很吃力的。如果你和我一样基础不那么好,我建议一个学期最多两门coding的硬课,上多了消化不了,每天忙于写作业写lab,很难有精力深入理解和巩固所学的知识。

  • 95799 Linux and Open Source,这门课是6分的mini课,上课主要介绍linux的历史和介绍一些开源技术,算比较水的课,实验带着装一下Ubuntu和CentOS,用一些基本的命令,可以作为调剂的水课来上。

  • 95702 Distributed Systems for ISM,必修课,三个教授轮流讲课,涉及内容多,用Java,内容包括BlockChain,Raft,加密算法,Network,RMI,RPC等,后面还有Android, Spark, MapReduce,感觉像个大杂烩,有免修考试,能力强者可以免了去上CS院的课。

  • 17637 Web Application Management,教授是Jeff,我最喜欢的教授之一,在Piazza回复同学问题效率极高,某次作业有同学想不出来要hint,Jeff之前单独录了一个Hint video给大家,课上会讲Web的基础知识如html/css/js,后面会讲Django,ajax, jQuery,每次课都有quiz但是不算入成绩,作业基本上早点开始做都能满分。team project每个组自己选题,用Django做框架,sprint1和sprint2都会有TA来检查和评价进度,但也不计入成绩,最后Jeff和TA现场做code review,看代码找问题。考试侧重slides上的内容,总的来说体验很好的一门课。

  • 67743 Mobile Application Management,讲iOS开发的一门课,会用Swift,没有考试,整个学期做一个app,从开始想idea到设计产品原型,做user testing完善原型,选择开发要用的API,到实际写代码开发,version1,version2以及更多的user testing,最后会有一个pre,pre结束后教授还办了一个展览会展出大家开发的app,并且评奖(capitalOne赞助,会给一些奖金),教授上课经常用star trek举例,口头禅是Qapla',总的来说也是一门很有意思的课,对于mobile development感兴趣的同学可以考虑


选课的介绍大概就是这样,这个学期也有很多同学选择11601 Coding Bootcamp,纯刷题的一节课,有mock interview环节,这门课的作业难度有些在leetcode hard以上,并不简单,workload也不小,spring不开这门课了不然这个学期还是很想利用这门课来多刷题的。总结的话选课还是那四个字:量力而行,来了这边就很想放开了选cs的课,但后续发现自己很难hold住,18613自己花费了太多时间,web和mobile没有花费很多精力在team project,感觉非常对不起carry我的队友。



澳洲和美国的区别在于阿德莱德的生活是真的比匹兹堡要舒服很多,可能住在市中心的缘故,会感觉阿德比匹兹堡更像个城市..而且去超市也很方便,在外吃饭选择也多,偶尔没课坐公交车就能去beach,且因为澳洲校区就一栋楼,大家每天上课都会见面聊天,偶尔去game room打乒乓球/看电影,会比较放松。相比匹兹堡的生活会单调很多,吃的没有在阿德丰富,也没有什么其他可放松的方式,毕竟my heart is in the work。


最后说一点来CMU的感受,LZ高考没发挥好,本科是双非一本,专业也是MIS,CMU MISM的global项目算bar相对低的了,但已经是我的冲刺选校了,回想最开始拿到offer时还是非常兴奋,当时的感受是终于可以弥补自己高考没考好的遗憾,但其实LZ的优势科目是英语,本科时候专业课的绩点还不到3.3,能拿到这个offer都感觉很幸运。来了CMU之后很快就发觉了和其他同学的差距,来了这边以后付出了一些努力也很难拿到好的成绩,看着大家说拿A很简单时感到压力,很难从外在得到正向的feedback,整个人也不像本科的时候那么自信了。上个学期开始感觉什么事都变得meaningless,原来喜欢的事也不那么感兴趣,睡眠也出现问题,不管多晚睡都醒的很早。偶尔会出现情绪特别低落导致什么也干不了的情况,不知道自己到底是抑郁还是矫情。这些都是在来了CMU之后出现的,这里的环境有时会有些toxic,很适合那些勇于挑战自己的同学,能不断的push你变得更优秀,对于我这样比较sensitive的人来说有时会很痛苦。这个学期我去联系了学校的心理咨询服务(完全免费,包在学生保险里),多少有一些帮助。说这些的目的是希望如果有同学也遇到类似的感受,一定要stop blaming yourself并积极展开自救,量力而行。


希望自己这个学期能成功上岸,最后这个学期结束后我也许会补一下最后一学期课程的感受。快要过春节了也提前祝大家春节快乐,多给我点大米哈哈,感谢!
  • 14
11条回复