一、首先计算机类的主线几门硬课,计算理论(Theory of Computing),算法(Algorithm),操作系统(Operating System),计算机系统(Computer Architecture)等,这几类或者类似课程基本上是计算机专业的最根本课程,而且很多硕士项目把类似以上的几门课当成是必修课程。一般来说这几类课程都是规模比较大的讲座课,听课的人会很多,课程负担也会比较重。一般来说都是有考试的(包括其中考试,期末考试),总之这些课程比较正统,而且非常重要,需要学生认真对待。
除此之外,计算机相关的课程就很多了,最近比较火热的课程包括数据挖掘,机器学习,计算机视觉,人工智能,数据库和数据管理,大规模计算系统等,这些课程由于是热门课程往往学校会安排比较senior的老师来教学,同样注册的人数也会很多。像数据挖掘,机器学习之类的课程更倾向于数值分析,因此课程作业比较倾向于计算,证明类的,期中期末考试也基本上是以考试的形式来进行考核。而像系统,数据库类的课程,可能会有更多的课程项目(Project)而不是书面作业,有的课程期末考核也是以final project的形式来进行的。
除了大热门的课程,院系也会开设一些相对不是那么热门的课程,举个例子比如安全计算(secure computing),密码学,软件工程,计算生物等,这类课程往往规模比较小,以讨论为主,授课并不是主要形式,很多情况下,学生阅读文献,在课堂上讨论,课后完成单独项目或者双人合作项目。这类课程一般灵活度高,适合时间管理,并不会有过重的课程压力。
除了以上的常规课程以外还会会有很多特殊类型的课程设置,这里的特殊类型课程是针对课程类硕士而言,这些课程包括,独立学习,硕士毕设,博士级别讨论类课程。
二、 计算机有哪些专业可以申请?他们又有什么不同?现在最流行的就是转码。那到底什么算转码呢?转码就是转计算机吗?老铁们,首先要搞清楚到底什么是计算机专业?我们传统说的计算机实际上就是后端,具体点就是SDE,也就是我们说的开发。其中Java居多,C也不少,Python也会凑热闹。但所谓的转码,可不止这么一个小小的后端了。宽泛来说,除了CS(MSCS),还有CE,ECE,CSE,IS,IM(MSIM),DS,DE,SE,SDE,HCI,MHCI,UI,UX,BA,BIS,AI,ML,BD,DSAI,IT(info tech),SV-SE,MPCS,MIMS,以及各种各样Robotics等,涵盖的种类和方向很多,其中涉及到很多的专业交叉。这么多方向,同学们应该如何区分,又该如何申请呢?万变不离其宗。面对错综复杂的项目,我们只要理解计算机的学术方向区分,再对应每个项目的课程设置,大概就知道是不是自己想学的项目了。我们正常说的Computer Science是学术类叫法,实际上在工业界应用比较广的应该是Computer Engineering和Software Engineering。计算机软件工程师可以概括为以下大类:前端工程师。相对应的专业一般就是交互类HCI、UI以及Web类。早些年的Node和后面的JS都是前端工程师的编程语言。后端工程师。我们正常说的计算机专业,也指的就是后端,更多可能是开发SDE方向的,包括:移动端Java swift,PC端C,OS系统和嵌入式等,比如我们的同学就通过Raspberry Pi小汽车和51单片机的项目经理拿到了名校Offer。全栈工程师。Full Stack啥都会。算法工程师。比后端更会算法的工程师。数据工程师(包括数据分析师)一般涉及到BA、DA、数据等,他们一般精通数据算法、人工智能、框架等。软硬结合及人工智能工程师。计算机科学的方向和工程的方向还是有所区别的。Vision图像,视觉,算法,人工智能,生信,安全,数据库,声学的给你。面对各种各样的计算机、统计、大数据、商业分析、信息、公管、机器人等项目,我们还是要依据不同学校的课程安排去判断是否适合自己,进而决定申请范畴。
三、 推荐国家&院校:美国、德国、英国
杜克大学
卡内基梅隆大学、
斯坦福大学
加州大学伯克利分校
麻省理工学院。
慕尼黑大学
约克大学