密西根大学计算机专业如何?
本人UMich CS博士,可解答有关学校cs和ee(电子工程)的方方面面。 先看学位情况,以本科为例(研究生同理): 总共有40个左右学分的课程(36+4=40),需要修完才能毕业(个别特殊学科除外,如NLP不需要修完所有科目就能毕业)。这些学分被分配到七个major中,每个major有不同的必修和选修要求。如下图,以ECE(电子工程)为例,一共是35个credit的必修和20个左右的credit的选修课,完成要求即可顺利取得本科学位。除了七个major外,还有一些专门用于给非计算机背景的学生补CS基础的prerequisite,完成他们才能进一步选择cs的major和选修课。这些prerequisite一般要求修20个单位的coursework。 以我所在的ECE专业为例(其他几个同样如此),一共有七个大项(如图),每一个大项下面有若干小项,完成相应的小项要求才能最终拿到专业要求的学位。这里可以看到,虽然都是ECE专业,但是各个同学因为入学时基础不同(本科学校和专业背景不同),所以最终拿到的学位也会有细微差别,需要根据具体学生的需求进行调整。
再来看课程设置,以上面这个ECE专业为例(其他几个同),总的课程设置是13门核心课+7门实验+无数选修课,核心课上完并通过考试才能获得相应的学分。每上完一门核心课都有对应的final project或mid term project,这不仅是测试你所学成果的方式,也是决定你是否能够毕业的关键——老师会根据你的项目完成情况来决定是否发放毕业证书。 所有的核心课都分为三个部分:concept、theory、implementation。概念(concept)部分会先讲解理论,然后做大量的练习(练习分两部分,一部分是programming题目,一类是data structure与算法题目),最后才会讲如何在代码上实现。如果同学觉得某个理论或者概念自己已经理解,可以直接跳过概念部分进行学习,但这样就很有可能在项目中遇到难题。因此核心课的学习并不是简单重复的内容,需要认真思考和反复练习才能完成。 至于实验和选修课更是丰富多彩,在这里我就不一一赘述。如果有小伙伴对某项课程还有疑问可以评论或者私信。
最后谈谈同学们关心的就业问题。umich的cs毕业生的就业情况还是很可观的。根据统计,去年毕业的本科生起薪中位数就有$110,000(美元),而平均起来更高达$130,000。这样高的起薪主要得益于我校强大的career fair(校招),每年三月份学校都会举办大型的招聘会,来自世界各地的大公司都会来校招人,以google为例,去年就直接签了50多个我校毕业生。除了大型的公司,也有不少学生毕业后进入中小型的企业或者是继续读博深造。