ASU MCS Online 毕业经验分享

9522
8
楼主的目标比较简单明确,想要在工作的同时快速的拿到一个CS的master degree。一开始选择ASU的主要原因,一是项目开始的时间比较灵活,我开始申请的时候已经是12月份,错过了大部分在线项目的春季申请deadline,只能选择夏季学期开始。但是ASU每个春、秋学期都分为A、B两个session,错过Session A的start date的话可以选择Session B 作为starting semester,所以我当时申请的春季Session B(3月份入学)。二是学费相对比较便宜,1w5的学费好像只比GaTech的贵,但是项目的完成时间会快很多。ASU官网上介绍的完成时间是18-36个月,但是根据网上的反馈每个session都可以选2门课,所以每年5个session的话(春季 Session A + B, 夏季 session, 秋季 Session A + B), 1年就可以完成 。下面主要是我对上过的课程的感受和评价,希望可以帮到有需要的人。

CSE511 Data Processing At Scale. Difficulty:2 Workload: 1 Quality:2
比较水的一门课,每周的课程视频都比较短,dbms相关的一些知识还比较有用,课程视频到分布式DB之后就开始有点混乱。Project 1是用python来处理nosql database的数据,非常简单。Project 2得用scala来在spark上做分布式运算,难点主要是熟悉spark api和scala的语法。

CSE531 Distributed/Multiprocess OS. Difficulty: 3 Workload: 3 Quality: 3
前几周主要是介绍各种分布式系统和构架,后面几周主要讲分布式系统之间的通信及同步问题,课程视频质量还不错。有三个Project,第一个主要是让你熟悉grpc用法,后面两个project都挺有意思的,每个都花了我大概8-12个小时。主要问题是后两个Project的描述有点模糊,需要多问问TA来明白具体要求。

CSE539 Applied Cryptography. Difficulty: 4 Workload: 3 Quality: 5
课程内容很详实,视频质量也是MCS里最好的之一,介绍了很多Cryptography相关的主题,比如Hash,Encryption,DH Key Exchange之类的。课程主要问题是期中和期末考试占比过大(50%),而且考试题目很tricky。

CSE551 Foundation of Algorithm. Difficulty: 5 Workload: 4 Quality: 5
MCS项目要求必须选551或者579其中至少一门。如果只选其中一门的话,建议选551,感觉对刷题找工作有帮助。 课程视频内容不算太多,但是作业难度不小,没有project,时间主要花在作业和准备考试上。每周的graded assignment都是当周讲的算法的延伸,要全部弄懂需要看一些其他的资料或者youtube,感觉我每次都会错1-2题。期末考试很难,不会考原题,需要写pseudo code,2个小时的考试时间也不够做完。但是最后期末考试成绩curve了,所以拿A不难。

CSE566 Software Project/Process/Quality Management. Difficulty: 2 Workload: 5 Quality: 4
课程主要是关于软件项目管理,开发流程,quality attribute这些。课程非常理论,质量说实话还不错,但是workload是我认为MCS这些课程中最多的。每周都有很多的reading material,然后总共有5篇essay要写...

CSE598 Blockchain. Difficulty: 3 Workload: 3 Quality 3
课程视频质量不好,但是当时的那个助教Jeremy Liu特别好,他本身是web3从业者所以讲了很多最新的应用和思考。如果是对web3感兴趣的话,值得推荐。Projects第一个是hyperledger fabric,感觉并不是很难也没什么用。第二个是用solidity来实现一个ETH smart contract,实施起来很简单,难点主要是学习solidity的api。Jeremy说后面会改成两个project都是ETH相关的,不知道现在改了没有。

CSE598 Advanced software analysis & design. Difficutly: 3 Workload: 5 Quality: 4
课程内容特别是关于architecture的挺有用的,workload感觉属于第一档,有些周的视频内容很长,再加上有5个project。Project有Java的,有C#的,Java的那个project第二周就要开始做,如果之前没相关经验的话,得提前准备一下。还有就是吐槽一下这门课我的助教 Das,超级不耐烦,每周的session感觉完全没准备就来讲了。

然后我想单独把我上过的关于AI的课放到一起讲。我的建议是如果想学machine learning相关的东西可以选572, 575,如果没有其他课想选可以选579,不推荐选571.

CSE571 Artificial Intelligence. Difficutly: 5 Workload: 5 Quality: 3
这是一门关于AI的introductory课,由几个不同的topic组成,信息量巨大,相当于把其他两三门课压缩成了一门课。前两周讲knowledge representation,和579的内容大量重合。第三到第五周讲machine learning,和572 data mining有部分重合,虽然我没上过575 statistical machine learning,但是感觉应该和575的内容也有大量重合。第六周,第七周是两个单独的topic。不建议选这门课,不如分别选579, 572和575。

CSE572 Data Mining. Difficulty: 3 Workload: 4 Quality: 4
这门课涵盖了decision tree,clustering,neural network,reinforcement learning。内容很多,但是一部分没有过多的深入,比如neural network, reinforcement learning,我猜这部分应该在CSE575里面会讲的更深一些。Workload小于566,571,598 (Advanced software),属于第二档。印象中考试成绩占比不大,拿A比较简单。

CSE579 Knowledge Representation and Reasoning. Difficulty: 5 Workload: 3 Quality: 5
讲怎么通过propositional logic/first order logic 来表达知识,构建state transition system,然后通过declarative programming来解决planning问题。难度不小,有些课程视频需要反复观看,学过discrete math的话会相对容易一点。Project是写一个answer set programming程序来实现amazon的自动化仓库。建议可以提前google一下knowledge representation,有兴趣的话可以选,但是目前主流的AI方向还是machine learning,没兴趣的话不是很推荐。

最后,楼主春季Session B开始上课,12月份上完所有课程,实际上只用了9个月。原因是夏季学期系统是允许选三门课的,当时抱着试一试的心态就选了三门课,结果跌跌撞撞的上完了还都拿了A。后来秋季学期session A和session B加起来系统只允许选4门课,我和我的SCAI advisor聊的时候就问她可不可以有一个session选三门课,她看我summer session三门都拿了A就告诉我说可以提交一个course overload request来申请多选课。于是我就提交了申请,然后申请被批准了,我的系统就允许我fall semester一共选了5门课。最后的timeline是Spring session B 2 门 + Summer session 3 门 + Fall session A 3 门 + Fall session B 2 门。这里只是分享一个9个月拿到学位的可行方案以供参考,并不是推荐,希望大家可以根据自己的情况选课,顺利毕业!

求加米!谢谢!