![a16048b9f717f6cde2fe61e5e3f2370c.png](https://i-blog.csdnimg.cn/blog_migrate/3bbc69ebf603cb1dffcc66c9cfa1eea6.jpeg)
我是Umich ECE研究生,18 fall参加的这个项目,我在几年前就听说了Umich是最适合转码选手的学校之一,像我这个专业的可以非常自由地选择CS系的课。不过后来ECE学生选课受到了限制,从很多学长学姐的经验分享中都能看到,大概是16年开始的吧,于是网上出现了很多谣言,说去了Umich ECE没法转CS,只能学硬件半导体这些。我来到Umich后,发现情况并不是网上说的那样恶劣,转码仍然是有可行的方法的。所以在这里我决定给大家好好说一下ECE的情况,以及一些课程方面的介绍。
![14411ba9db5b8520bce9f06656be4bc5.png](https://i-blog.csdnimg.cn/blog_migrate/27d1a10575096a58b32848b9833b82b6.jpeg)
ECE的情况与申请建议
申请Umich ECE前你要考虑好自己想搞哪些方向,如果你想搞AI、CV、ML、DL这些方向,那来Umich ECE绝对没错,这方面的课都能选上;如果你想转SDE的话可能会有一些困难。
现在ECE在转码上确实比起前受限一些,主要是有几门特别热门的本科CS课(400 level)需要填表排队,OS、web和数据库这些本科课;硕士的CS课(500 level),比如算法、汇编都可以选,实际上就是advanced 400 level课,但是比较难,性价比低,所以想转SDE的话可能会有一些困难。有一个办法可以加大你选上CSE本科课的概率,不过需要在申请ECE前做好准备。在你本科最后一个学期上一些差不多的CS课,而且不用在意成绩高低,只要成绩单上有,就能override上。
如果你决定申ECE的话,ECE内部有12个track,据说其中的CV是最容易 选到CSE本科课的。ECE track之间可以转互相,不麻烦。其实也没有转track的必要,除了track内必修的三门课,剩下的课程可以随意选其它track的课,成绩单会体现track但毕业证上不会。
另外,师资力量和教学质量这方面,来Umich肯定没问题。系里的师资力量非常强,老师基本上是斯坦福、UCB、MIT、CMU出身的。至于部分本科CS课难选的问题,其实是有解决办法的,因为CSE和ECE属于同一个学院,而且其他学院也开设了SDE的课,我们在选课上还有一定操作空间,在下一部分我们再仔细谈吧。
![c7df3036185dc5248d0010b798248dec.png](https://i-blog.csdnimg.cn/blog_migrate/284ff7ed6e6961f8db4a799aab8be446.jpeg)
选课和发展建议
接下来我给大家分析一下选课方案。首先能填表排队的课还是要试试,说不定就选上了呢。然后我按发展方向给大家列一个推荐课程清单。
ML和DL方向
这两个方向的课很好选,就不多做介绍了,直接上课名:
- EECS 504 Foundations of Computer Vision
- EECS 505 Computational Data Science and Machine Learning
- EECS 542 Advanced Topics in Computer Vision
- EECS 545 Machine Learning
- EECS 550 Information Theory
- EECS 551 Matrix Methods for Signal Processing, Data Analysis and Machine Learning
- EECS 592 Foundations of Artificial Intelligence
这里特别说下ML方向。ML对你概率论和线代这方面的数学基础的要求较高,选ML课前建议先补一补这方面的知识。如果想把ML当做主要方向的话,我建议选课时以科研和转PhD为目标比较好。因为现在公司招这方面的人才,大部分是要求PhD的。这方面的职位主要有两种:一种是Data Scientist类,与Data Science和Big Data有关,要求有AI和ML背景即可;另一种是Machine Learning Engineer或Machine Learning Scientist,这种专业要求更高,是看不上硕士的。
如果确实没有读PhD的想法,ML硕士也能找到工作,一般是Data Scientist,这些岗位要求你必须掌握Python和Matlab/R。Data Structure and Programming(C++/Java)和Database这些也要基本掌握。所以在选课时要早选多选一些例如Data Mining、Data Analysis、Data Science和Information Retrieval这些方面的课。
![c4825d5581aea2592a5199118f32b18e.png](https://i-blog.csdnimg.cn/blog_migrate/259e6de8a1da30c1178db574d0a9faeb.jpeg)
VLSI方向
EECS 470 computer architecture,这门课ECE都能选上,但是load超级大,在整个Umich都排得上名号那种,但是很适合VLSI找工作。所以这门课我建议VLSI方向的同学选,想转SDE的同学最好避开,以免影响刷题的时间。
SDE方向
EECS 402 Computer Programming For Scientists and Engineers ,选上概率很大,4个学分。这门课讲C++,可以写到成绩单上,但不能算EE的毕业学分。
EECS 483 Compiler Construction,选上概率很大,4个学分。我没上过这门课,但是不少学长学姐给我推荐过,因为project含金量很高,内容大概是用python写冷系统,他们说这门课很适合写到简历上。
EECS 489 Computer Networks,选课要填表,不过选上概率很大,4个学分。计算机的基础课,作业用C++写。
EECS 549 Information Retrieval,选上概率很大,3个学分。这门课性价比很高。
EECS 586 Design and Analysis of Algorithms,选上概率很大,4个学分,但这门课很难。
还有一门新开的EECS 403数据结构算法选,是CSE新设立给ECE同学上的。CSE的本科课要注意是否需要填表,填表链接https://weblogin.umich.edu/?cosign-deptapps.engin&https://deptapps.engin.umich.edu/gradreg/student/index?dept=216001。
![2e8e72755de242abc2017cc21c66b67d.png](https://i-blog.csdnimg.cn/blog_migrate/6c4f534b381f39492a1ff13938b380f3.jpeg)
除了本学院的课,其实我还很推荐SI信息学院的课,原因有三:一,最重要的,能转码;二,压力小,能拉GPA,作业做得好的还可以写进简历;三、SI在中校区,可以体验不一样的环境。这几门课我推荐一下:
SI 507 Intermediate Programming,3个学分。这门课核心是运用Flask框架,然后教你python的运用、爬虫这些,期末的project就是做一个Flask框架的web project。这门课没有考试,而且只要project做得好就能拿A。
SI 664 Database Application Design,3个学分。我觉得是很初级的课程,如果你有python基础会更好。这门课教你用Django框架开发web应用,考试是做web app,难度都不高,可以写到建立上。老师讲讲课幽默风趣,给分高,是公认的明星老师。上第一节课的时候老师会让非SI学生填表登记,所以选上这门课的同学不要忘了。
还有SI 539 Design of Complex Websites和SI 506 Programming I 这两门课。两门课都是3个学分,我没有上过,但我同学上过,反映良好。一位上过SI 506的同学跟我说这门课比较简单,就是学python,load也不大。
![743b7b62f0ac119ae878f0ba91f02aae.png](https://i-blog.csdnimg.cn/blog_migrate/312e565027dc08de3c2159760b4b77d8.jpeg)
最后要提醒各位, SI学院的课属于cognate,只能选两门,而且要填表,如果想选再多选就要得到advisor的批准了,一般难度也不会很大,最大的成本可能是多缴学费了。附上SI填表链接https://www.si.umich.edu/programs/courses/process-enroll-umsi-classes。
如果你不认可SI的课,其实也可以自学,学校公开了EECS 482 OS的课件和视频,登录Umich学生账号就能看。而且转SDE方向找工作的同学都不需要学完全部OS课,看完前几章就行。
总结,如果你是ECE研究生想转SDE找这方面的工作,那10门课我推荐你这么安排:3门你所在的track的专业课,EECS 483和EECS 489,再加上一门ML课,一门CV课,两门SI学院的课,最后运气好的话上一门CSE本科课程。SI学院的课相对load轻,富余的时间拿去刷题面试正合适。
实习/求职
我们找实习一般通过学校career service和LinkedIn,找关系求内推也是可以的。我个人觉得学校的career service很好用,也很厉害,一年两次的cf,每次都有海量的公司来招聘。光是工学院的cf,秋招的时候来了400+所公司,春招的时候少一点也有200+公司,FLAG级的大厂和startup都有。要找工作的话其实并不困难,自己提前做好准备(多刷题,做好简历),抓住好时机努力冲就行了。
![148d90a7cfd7d9066cb54ba13f1689e7.png](https://i-blog.csdnimg.cn/blog_migrate/8dcdadaab76ec76a7b4199baf0bc3fa8.jpeg)
总结
希望我的这篇经验分享能帮到你们,我觉得选Umich ECE最大的困难并不是无法选CS课和转码,而是过分的担忧和犹豫。事在人为,对于研究生来说,知识早就不是只靠系里安排好课表,然后在课堂上听老师讲才能学到的。现在完全可以自己操作,选到同样有价值的课,甚至自学,只要用好Umich丰富的资源就行。在这里祝福所有勇于选择ECE的学弟学妹,你们一定会有光明的未来。