说起伯克利的Computer Science,那可是全美排行前三的专业,和邻校Stanford一起为硅谷输送了大批人才。作为伯克利投资回报率最高的专业之一,CS及相关专业的毕业生们也是屡登毕业生起薪排行榜。
以下是来自payscale的数据:
伯克利相当一部分中国学生选择了CS专业,或者修了几门CS课程。然而过来人才知道,在伯克利,并不是所有人都适合这条路。因此在选择专业方向前,小编还是希望大家对伯克利CS稍作了解,再就专业方向做出决定。
1首先,让我们来看一下课程信息
L&S 的 Computer Science 的课程列表如下
Lower Division:
CS 61A-Structure and Interpretation of Computer Programs (主要语言:python)
CS61B-Data Structures (主要语言JAVA)
CS61C -Machine Structures (主要语言 C)
Math 1A -Calculus A (3分以上 AP AB/BC Calculus 即可满足)
Math 1B -Calculus B (5分的AP BC Calculus即可满足)
Math 54 -Linear Algebra and Differential EquationsCS 70 -Discrete Mathematics and Probability Theory
EE16A(或EE20/EE40)-Designing Information Devices and Systems I
Upper Division:
20 units in:
one design course from:
CS 149, 150, 152, 160, 162, 164, 169, 184, 186 or EE 125, 128, 130, 140, 141, 143, 149, 192
Two upper-division CS courses
Two upper division CS or EE courses
Upper Division 课程总览
申请专业对于Fall 2015以后的学生来说,申请Computer Science专业需要你的CS61A,CS61B,CS70三门课有平均3.3或以上的GPA
在你往下看之前,我必须先声明,Computer Science的课并不是教你学编程的课,61A不是”python从入门到精通”,61B也不是“从零开始学JAVA”, 如果你只是想要学习编程语言,你需要的是9系列的:
COMPSCI 9A - Matlab for Programmers
COMPSCI 9B - Pascal for Programmers
COMPSCI 9C - C for Programmers
COMPSCI 9D - Scheme and Functional Programming for Programmers
COMPSCI 9E - Productive Use of the UNIX Environment
COMPSCI 9F - C++ for Programmers
COMPSCI 9G - JAVA for Programmers
COMPSCI 9H - Python for Programmers
以上都是为了给学习编程语言的学生而设的课程。
而CS专业,是教你编程思维,如何将程序设计的更好,如何运用程序,了解数据或计算机的结构等等的专业,在CS的基础课中,教授并不会着重教你编程语法而是重在如课程标题所述的等等。因为每年都有不明真相的“勇者”为了“学习一下编程”的目的报CS61A,所以笔者在此特以强调一下。
如果是想单纯的了解编程是个什么东西的同学,你可以尝试:COMPSCI 10 - The Beauty and Joy of Computing
是一个十分简单的,入门课程。当然,如果你想要挑战自己,那么CS61A欢迎你。而看了以上后坚定了学CS的同学,你们将从这些开始:
3Lower Division课程介绍
CS61A:这是CS专业的同学的入门课程,旨在学习编程的结构与编程思维。对于没有基础的同学来说,已经是个相当难的课程了,对于有基础的同学来说,课程本身并不难。但是!它的考试非!常!难!虽然每年都有考满分的大神,但是对于正常人来说,需要一定的努力才能拿高分。
并且,这门课是一个1000人+的超级大课,不过你放心,教授不推荐所有人上课,许多同学会选择自己在家看教授上传的视频,而这些视频的内容和其在课上所讲会是一样的。除了考试,你还会面临Project和Lab的压力,所以本课是有一定workload的,所以不建议与同样具有Workload的CS61B一起上。
CS61B:建议在CS61A之后上此课,旨在学习数据结构。此课会比61A再难一层,它的考试比起61A并不算特别challenging,但是projects会比61A难很多。同时这门课十分重要,因为他是最基础并实用的课程,许多之后找工作的面试中问的问题,都会是这门课中涉及到的。
CS70: 离散数学及概率。 这是开设在CS部门下的数学课,旨在学会应用在编程问题上的数学基础。不是一门很难的课(当然,我也见过计算机大神数学却不怎么样在行的,所以对不同的人群应该不同吧),但是由于你需要保证61A,61B及70的GPA,最好考虑不要一起上这些课。
其他的数学及EE的课不再赘述,可以来了以后再自行了解。
4对于第一学期的建议
对于没有基础的同学:61A+数学(1A/1B/54)+一门breadth+你自己感兴趣的课
对于有基础的同学:61A+ CS70+ 数学(1A/1B/54)+一门breadth*以上只是general的建议,请每位同学自行根据自己情况考虑安排。
5关于教授
Hilfinger这个人教的特别好,考的也特别难
很多人(女生)会因为DeNero长得帅长得萌而坚持下来61A的课程。Hug 教的也十分好,在CS教授中评分非常高。
最后,对于决定学习CS的同学我有一个不成熟的小建议:请想明白自己以后的方向,不要因为热门就随大众的选择此专业,不管是因为以后高薪也好,或是确实喜欢,请务必考虑好再选择自己的道路。
为您推荐的相关文章:
计算机专业留学精选案例: