美国研究生申请CS专业的那些事【转载】
先修课程,英文叫做 prerequisite,指的是你在修某一个课程前必须先修的课程。比如,你想学算法基础,你至少要先学一门计算机语言吧。所以,C、C++、Python 等都可以是算法基础这门课的先修课程。有的课程列出一堆先修课程,告诉你只要修过一门就可以了,有的课程则要求必须修过哪几门,一门都不能缺。
很多学校的硕士申请页面都有明确的列出要申请这个硕士项目的先修课程,各位可以自行去官网查看。我们列几个例子如下:
很多学校的硕士申请页面都有明确的列出要申请这个硕士项目的先修课程,各位可以自行去官网查看。我们列几个例子如下:
Stanford:
CE0050 Computer Science MS Degree
Boston U:
Cornell:
U of Southern California:
USC - Department of Computer Science
如果各位有心观察的话,你会发现他们要求其实很低,通常是要求一门数学课程(比如《高等数学》),一门计算机基础课程(比如《计算机基础》),一门语言课程(比如《C 语言》),一门算法课程(比如《数据结构与算法》),一门高级语言课程(比如《C++ 语言》)。
但是请你想想,如果你仅仅是修了这么几门课,怎么和计算机专业的学生竞争呢?所以,我们的建议是:尽量多修。以下是我们认为申请 CS 时比较重要的先修课程(个人观点,仅供参考):
一级重要:
高等数学
离散数学
计算方法
计算机基础
数据结构
计算机算法
C语言
C++
操作系统基础
二级重要:
线性代数
概率论与统计
自动机理论
计算机组成结构
计算机网络
数据库
三级重要:
Java 等其他高级语言
软件工程
人工智能
机器学习
计算机图形学
信息安全
编译原理
其他 CS 高级课程
有许多课程内容上有重复的地方,也有的仅仅是名字叫法不一样而已。但是我们觉得这对于真正操作这个事情的人来说并不是问题。因为,当你真正去做这个事情的时候,你会明白哪些地方有交叉。例如,你到时候肯定会明白:我们如果已经修了数据结构这么课的话,再修一门计算机算法的回报就没那么高了。