由于美国大学的计算机科学(Computer Science,缩写CS)研究生专业就业率高,起薪高,就连抽H1B签的几率也是最高的。因此,申请CS研究生的竞争也是最激烈的。申请者中除了计算机本专业的学生,其他专业如电子工程、自动化、数学、物理、统计,甚至貌似毫不相关的环境工程、土木工程……等专业的同学都纷至沓来!那么,如果本科不是CS专业,甚至不是理工类专业,能够申请美国大学的CS研究生吗?
首先,我们先了解一下美国的CS硕士专业。
什么是CS?
计算机科学,研究计算机及其周围各种现象和规律的科学,亦即研究计算机系统结构、程序系统(即软件)、人工智能以及计算本身的性质和问题的学科。
计算机科学是一门包含各种各样与计算和信息处理相关主题的系统学科,从抽象的算法分析、形式化语法等等,到更具体的主题如编程语言、程序设计、软件和硬件等。
那么,对于本科非CS专业的学生想申请美国的CS硕士项目,如何在千军万马中杀出一条血路呢?根据季老师多年的申请经验,建议同学们从以下几个方面准备。
1.课程
建议学生在数学课程方面修微积分、线性代数、概率论和离散数学。在计算机基础课程方面建议修编程、数据结构、机器结构、数字系统设计、操作系统、算法、编译。
对于非CS专业的同学来说,一方面,不同的专业需要修的课程是不同的,需要根据同学的本科专业的课程设置分析对比才能确定需要修的课程。另一方面,修课的途径不同,在美国大学的认可度也不同,建议同学们咨询专业的机构后确定。
2.软实力
一般来说,项目经历可以粗略地划分为四类:
第一类是计算机相关课程上的课程设计。
第二类是竞赛类。可以通过编程马拉松,算法竞赛等活动,证明自己的实践能力。
第三类则是实验室研究项目。这类难度较大,适合更为进阶地了解下自己对于CS哪个细分方向更感兴趣。
第四类是实习。对于CS申请,名企高质量的CS相关实习对CS申请,尤其是转CS的申请起到了重要的作用。
对于非CS专业的同学而言,如果有第一类中的课程准备,再进行进阶第第二类和第三类相关的竞赛和科研项目,再加上第四类的实习,这样的准备是比较充分的了。
3.选校策略
虽然美国几乎所有的学校都能找到CS研究生项目,但是在申请中,高综排大名气/重专排讲实力/地理位置好方便实习等多个方面往往不可得兼。有些学校还有好几个CS的项目,更让人眼花缭乱。如何平衡各个关键因素,选出合适的项目呢?
首先,可以考虑专门为转CS设置的项目,比如University of Pennsylvania - Master of Computer and Information Technology,USC MS CS Scientists and Engineers(37学分),NEU align CS等等。
此外,还可以考虑其他跟CS有交叉的项目,比如Computer Engineering(CE),有的学校把CE单独列为一个系和EE, CS并列,有的是在ECE系下的一个分支,有的是CS下的一个分支,而且个别学校在ECE和CS系都有CE的项目,比如TAMU,课程设置略有区别,难度也不同,要注意区分,不要申请错了项目。