哥大、微软学长详解【计算机科学专业】 | 微信群讲座第74期实录
导语:计算机科学专业一直是近几年的热门专业。高回报率、高就业率和高收入吸引了大批学生。如何选择学校?计算机行业前景如何?棕榈大道邀请Jason为大家奉上第74期讲座实录,希望大家通过本次讲座可以有所收获。
你好,我是Jason
哥伦比亚大学研究生毕业
现任职于微软、数据可视化方向
专业介绍
计算机科学(Computer Science,CS),相对应中国专业一般为计算机科学与工程,更多在于操纵编程语言去实现目标。它涉及到很多数学知识和对编程语言的理解以及实践的技能。相类似的专业有电子工程(Electronics Engineering, EE),更关注机器级别(电路设计、嵌入式系统,通讯编解码,图像信号处理)。
还有计算机工程(ComputerEngineering,CE)。每个学校设置不同,有些学校认为CE是 EE和CS的结合。有些学校更偏向于工程级别,认为CS偏重于理论及算法,CE偏重于工业实践。同学们在申请学校前一定要了解清楚。就业来看,如果是同一个学校的CS和CE区别并不是很大,当然我们会优先CS,但是CE也会给面试也会考虑,并没有特别明显的差距。
CS和相关专业的就业前景
目前,整个高科技行业依旧是对CS有极大的需求的。作为一个中国人去到美国留学,学CS或相关专业依旧是现在热门的方向,较容易找到工作,而且起薪较高。如果可以顺利毕业并顺利被公司录取,工资起薪一般为10万到15万美元左右(折合人民币65万到100万左右),根据个人实力不同会有上下浮。
美国东西海岸就业情况比较火热,中部相对比较沉寂。西海岸有硅谷、圣莫妮卡(号称“硅滩”)等核心科技地带,大家耳熟能详的公司包括新兴的科技公司基本都坐落在这些区域。西雅图也有微软和亚马逊两大行业巨头。
东海岸雇主主要集中在纽约,纽约作为国际金融中心,衍生出很多对于高频计算、高性能计算的产业需求。纽约大部分的金融公司、投资银行和辅助的金融服务公司都需要大量的CS毕业生。例如:做金融资讯的彭博资讯(Bloomberg);做投资的贝莱德集团(BlackRock, Inc.),又称黑岩集团;其他银行包括摩根士丹利(Morgan Stanley)、高盛(Goldman Sachs)、巴克莱(Barclays Bank)及其他投行、金融机构等。
除去西部的硅谷、硅滩、西雅图和东部的纽约,美国其他地区对于CS毕业生的需求量并不大。整个美国中部需求量相对较大的是德克萨斯和芝加哥。由于芝加哥有很多开放的金融机构,所以会有一定的需求。德州有一些传统的科技公司,比如说德州仪器。又因为德州有石油,一些公司会在德州有一些期权期货中心,比如巴克莱,所以在德州CS专业毕业生也有一定的求职空间。总的来说大部分机会还是在西海岸的硅谷、硅滩、西雅图和东海岸的纽约。
CS专业的传统强校
在大家选校、选项目的过程中,需要考虑排名。我所说的排名是研究生院和专业排名,因为这些排名能代表一个学校的科研能力。推荐大家关注U.S News统计的排名,包括研究生院校、专业排名等。一般来说不同项目排名每年都会更新,但CS前几名的变化很小,基本保持稳定。
第一梯队有四所学校,分别是卡内基梅陇大学(Carnegie Mellon University,简称CMU)、麻省理工学院(MassachusettsInstitute of Technology,简称MIT)、斯坦福大学(Stanford University)、加州大学伯克利分校(University of California—Berkeley,简称UCB)。这四所学校大部分时间是并列第一名,专业项目上各有所长,但总体实力上不相上下。其中卡内基梅陇大学、麻省理工学院、斯坦福大学是私立大学,加州大学伯克利分校是公立大学。这意味着他们在学费上有区别,伯克利大学会相对便宜一点。斯坦福大学可能是最贵的,但这四所在CS学生眼中都是殿堂级名校。
除此之外也有一些其他的传统强校,但和第一梯队有一定差距。
伊利诺伊大学香槟分校(University ofIllinois—Urbana-Champaign,简称UIUC),在美国中部北边,距离芝加哥较近。
康奈尔大学(Cornell University)在纽约州。
华盛顿大学(University of Washington)在西雅图。
普林斯顿大学(Princeton University)在新泽西。
佐治亚理工学院(Georgia Institute of Technology)在南边的亚特兰大。
德克萨斯大学奥斯汀分校(University of Texas—Austin)在德克萨斯州。
加州理工学院(California Institute ofTechnology)是生活大爆炸中主角所在学校,学校很有名,科研能力非常强,之所以排名不理想是因为学校的容量比较小,学校规模相对较小,但拥有的任何一个学科都能与世界任何一所学校竞争。
加州大学洛杉矶分校(University ofCalifornia—Los Angeles,简称UCLA),对中国人比较友好,中国学生人数也比较高。
密歇根安娜堡分校(University ofMichigan—Ann Arbor,简称Umich),中国人比例较高,而且上海交通大学和安娜堡有合作项目,所以很多上海交通大学的本科生会在大学后两年去密歇根大学就读。
还有就是我就读的哥伦比亚大学(Teachers College,Columbia University),也对华人比较友好。
什么样的学生适合就读CS
CS的学生性格差距比较大,有很活泼的也有很内向的,不能一概而论。但总的来说CS是一个理工科专业,需要很强的计算能力以及对一些数学概念的理解。如果你对数学、物理或逻辑推导不擅长,我个人不建议学习CS专业。因为大部分时间你需要通过逻辑实现结果,简单来说,需要把你的想法用编程语言呈现出来。
如果你是一个偏向于文理类的学生,更喜欢读书或者与人交流,或者做一些商业策划的话,我也不建议学习。CS在大部分的学习中会比较孤独,你会有很长的时间独自面对问题,并且解决问题。不管是在学习还是工作中,这将是你生活的一个常态,所以需要你要比较强的专业能力和自学能力。不管你在学校学到多少,在工作领域常会遇到新的话题甚至新的编程语言。
我认为CS是一个非常适合本科学习的专业,对现有的大部分专业来说编程都是不可缺少的一项本领,不管你是做金融、数学或者商科,有编程基础都是一个非常好的事情。所以很多人会选择本科读CS,研究生转其他专业继续深造。当然也有同学本科就读数学或者金融,然后研究生再转CS。我觉得两种方向都是可以接受的,最重要的是你要明白你是不是喜欢编程这种生活。这种生活回报率很高,但并不光鲜多彩,而且相对比较枯燥、孤单。
如果申请CS专业
高中阶段可以做哪些准备
根据我自己的经历和身边人的经验,高中阶段如果参加过国际大赛或者独立做过一些项目,包括移动端的App、制作网站以及对编程有一定的理解,这都是非常有帮助的,至少可以让你明白自己是不是适合这个专业、是不是喜欢编程这种行为。
我个人认为最有帮助的是国际信息学竞赛,信息学竞赛可以认为是本科阶段美国大学生数学建模竞赛的前身,主要是考验高中生的编程技巧,让他们去解决一些问题。竞赛的难度相对比较大,我读高中的时候,每个省会有预赛,一等奖会进行筛选组成省代表队去国家比赛,然后国家筛选组成国家队去全世界比赛。当时可以拿到省一等奖也会具有保送清华北大的资格,比赛本身的竞争是非常激烈的,并不是一件轻松的事情。
如果没有时间搞竞赛或者超越了你的能力范围,可以试着自己做一些网站、App。这些事情可以锻炼自我学习的能力,包括了解网站是怎么做的、前端后端都有哪些工作、怎么把一个东西放到网上,或者怎么用现有的模板去做一个应用App。同时,这些实用的技能可以展示给别人,让别人更好的理解你编程的实现能力,更好地评估你是不是适合CS专业。
Q & A
Q:CS专业排名对学校好坏是否有决定性影响?
答:CS专业排名与学校综合实力排名关系不大。很多学校综合排名不高,但是CS排名非常好。一般就业的时候我们更关注专业排名。前4所学校和之后学校会有一定差距。个人认为专业排名在50名之后的学校基本是没有竞争力的。建议大家关注前专业在前50名最好是前20名的学校。
Q:学校的地域性有什么影响?
答:CS专业毕业的学生就业机会大部分在加州、西雅图和纽约。我建议选学校的时候首先考虑加州的学校,特别是北加部分,之后是是西雅图、纽约,然后是德州。奥斯汀并不是一个就业空间非常大的地方。
Q:本科是否重点看综合排名而非专业排名?奥斯汀是否很少录取中国人?工程牛校有哪些?
答:本科看综合排名还是专业排名主要依照你个人发展规划。如果本科只是你一个打基础的部分,之后想转专业或者你并不关注在CS这个领域的话,我建议还是选择综合排名高一点的学校比较好。但如果你认为CS会成为你未来的职业发展方向,我建议还是专业排名比较重要。
从研究生情况来看奥斯汀大学并不存在排斥中国人的情况,虽然他录取的人数并不是很多,但我觉得是一个合情合理的数量。
大体来看CS专业排名靠前的学校工程类排名都不差。具体情况可以去网站查询。
Q:公立私立计算机专业分别排名?CS未来一二十年的前景?学编程是不是年纪越小越好?
答:学校排名的时候是不分公立私立的。公立学校中有第一梯队的伯克利大学,但大部分比较牛的都是私立学校。
我也没有预见一二十年之后发展趋势的能力,但以我的理解,短时间内CS不会没落。现在计算机快速运算、大量运算和应用级别的实现依旧是我们主要解决问题的方式。我认为智能设备,比如无人直升机或者机器人,可能会更火热。与硬件相关的编程可能会变成热点。
编程和任何艺术一样也是需要天赋的,并不是开始学习的年纪小就一定可以做得好。但是起步早一定会有帮助,当别人还在纠结CS的基本概念时你可能已经可以上手了。至少对求职阶段肯定是开始越早越好的。
Q:学校的计算机系里有很多专业,这些专业所学的内容交叉性高不高?
答:这个要具体学校具体商量。我没有办法给你一个统一的答案,但是一般来说专业名字是CS的应该是他最正派的专业。其他有很多是一些擦边球的专业。课程安排上会学一些CS,也会学一些其他的。通常这些专业录取的门槛会低很多,这样他可以扩大招生,又不需要投入很多资源。比如很多人会为了卡内基的名声去报考并不是CS的专业,然后混一些CS的课程,方便之后找工作。计算机系选CS是最保险的。
Q:加州除了伯克利还有哪个学校CS强?
答:斯坦福大学。个人认为斯坦福的就业和创业空间都比伯克利强。还有加州大学洛杉矶分校、南加州大学、加州大学圣迭戈分校、加利福尼亚大学戴维斯分校、加州大学河滨分校。建议先关注前4所。加州大学圣迭戈分校也还不错。之后的学校稍微有一点差距但也可以考虑,毕竟加州就业空间会好很多。
Q:如果想往人工智能方向发展,要选择CS还是CE?
答:理论上要选择CS。但是就本科或者研究生来说,CS和CE都会覆盖这个领域,所以并不存在你选择了一个领域就不能做另一个领域的情况。主要看学校在这一方面是否有很大的投入、是否有很强的实验室或者是否有老师在这一方面做出了卓越的贡献。
Q:CS和计算机信息技术的异同?信息技术想转CS是不是需要自学一些专业课程?计算机信息技术专业转行CS有什么劣势?
答:计算机信息技术就是我所说的打擦边球的专业,还有计算机信息、信息管理、软件管理等。它们在课程难度和专业上都没有CS那么专注。转专业还是需要提升自己的编程能力,尽量做一些CS的研究项目或者实习。计算机信息技术专业想转行CS,在背景上会比CS专业毕业的学生略逊一筹,同样情况会先考虑CS毕业的学生,但如果你编程实力非常强,专业并不是问题。
Q:德克萨斯大学奥斯汀分校CS的图灵项目和伯克利的CS比哪个更好?
答:我并不是很了解奥斯汀的项目,但从就业角度和学校名望角度讲,我会认为伯克利更好。但如果你有特别强烈的专业研究兴趣,或你对一些老师特别崇拜的话,也可以考虑奥斯汀。选择哪儿在于你个人倾向。
Q:英国、美国或滑铁卢大学的CS有什么不同或者优缺点?
答:当今大部分成功的互联网公司都在美国,英国和加拿大的计算机并不是一个火爆的行业,所以这两个国家在创造性、投资以及创业氛围上都远远不如美国。加拿大学生有机会去美国实习及工作。英国不具备这个条件,并不是很适合学CS。
英国读书的优势在于第一获得学位的时间比较短。第二生活比较幸福,英国人比较享受生活,可以经常去欧洲旅行。我建议学CS还是首选美国,然后是滑铁卢。对于滑铁卢还有加拿大的其他学校我还想说它的地理位置会差一点,没有很多大公司实习的机会。很多公司会在温哥华有分部但目前在慢慢的撤走,或者规模在慢慢变小。
Q:从CS的专业角度怎么看卡内基梅陇大学?工程专业转CS容易吗?
答:首先卡内基梅陇大学在CS领域绝对一流学校。以我的了解想从卡内基的其他专业转去CS是非常难的。
Q:很多人说计算机很难读,到底哪里难?
答:计算机很难学是因人而异的,就像很多人说数学很难学,很多人觉得数学并不难学,在于你个人对学科的理解。我认为学习CS的普遍难点在于起步阶段。你需要以一种完全不符合你生活常识的方式去操纵计算机。编程语言和人类正常语言、编程思路和数学思路都是不一样的,在最开始需要一个转化过程,可能会比较困难。我的很多同学在刚开始学CS的时候都很崩溃,但是两三个学期之后就都克服了。
Q:高中没有基础可以申请CS专业吗?
答:大部分人在入学的时候都是没有基础的,这并不是一个很大的门槛。主要关注你是不是喜欢数学或者理论逻辑思考、是不是对新兴科技有热情以及之后是不是要从事这个行业。
Q:从什么时候开始实习比较合适?
答:实习是越早越好的,如果大二能开始最好,大三再找一家,这样才有机会在毕业后去一个比较牛的公司。一般第一个实习是起步,可以找一家小公司练习。大三申请实习时主要投一些你以后想就职的公司,比如谷歌、微软等等。实习主要看重编程技巧,有一部分可以通过做题来准备,因为很多问题都是标准化的,但更多的是平时的基本功,不要期待自己会在短时间内有爆发性的进步。
Q:CS是吃青春饭的吗?中年转行的多吗?
答:都说做程序员辛苦,其实很多行业都存在这种问题。年轻的时候期望有高回报,大部分职业都需要你超时工作,更多的投入在你的工作上,所以这并不是CS的问题。大公司程序员的生活也并没有你想象的那么悲惨,加班也不会是每天的常态。一般工作时间长了都会做到管理层,你需要指导别人去写程序。如果技术好可能会成为架构师,如果更有野心可以自己开公司,总体来说转行的情况很多,很少有人一辈子都在写程序。所以不要想着30岁35岁之后不能通宵熬夜就会被排斥掉,如果你一直在提高的话,到时候会有更重要的职位让你担当,不需要担心。
Q:CS、CE做教授容易吗?
答:任何一个专业做教授都不容易。首先学术要非常出色,第二要读完博士,第三要能拿到学校给的offer才能去做一个助理教授,再几年才能转正。在美国想当教授是很多博士的理想,但只有最优秀的人才能做到这一点。很多卡耐基梅龙实验室平均博士毕业就需要九年十年。
另一个问题是对于CS来说,做教授并不是回报最高的一种选择,如果你的技术真的很厉害,可能你工作带给你的回报会远远高于当教授,做一个顶级的程序员达到年薪几十万美金是非常正常的,如果你是技术员大部分可以拿到40万美金,如果自己创业的话更高。如果你加入一些初级公司,比如facebook、推特上市之前就加入,你可能在他上市的瞬间就会有几百万美金的进账。
所以我不觉得当教授是一个回报很高的选择。更重要的是当教授是不是你兴趣的选择,如果你真的很喜欢做教师,可以考虑,如果你只是想过的更潇洒,工作是个更好的选择。
Q:CS后期发展会窄吗?
答:在于你怎么解读后期,学校后期还是职业发展后期。职业发展初期CS无疑是一个非常好的选择,之后更多的在于你个人修炼技能,如果你想做管理职位或者有决断力的职位,CS的经历肯定是不够的,很多人会选择去读MBA,之后再去做一些管理职位。不过基本上都是一些科技公司的管理职位。
Q:英属哥伦比亚大学专业设置有哪些区别?
答:学校的具体情况我不是很清楚,但从专业名字来看大概是CS更专注于编程。 CE就是一部分要学EE的课程,比如嵌入式,另一部分就是CS的编程,所以可能更多的是做嵌入式级别的应用,算是交叉学科,没有CS那么专注。EE就是纯粹的电子工程,比如说芯片级嵌入式信号处理通讯等,可能编程的课程并不会很多。
——End——
留学规划、学校选择
棕榈愿意助孩子一臂之力,让孩子走的更远!
扫描下方二维码,添加Rhea老师为好友
【相关阅读】
CS&EE专业详解|苹果软件工程师一场讲座带你读懂CS&EE
让一个学过六个不同专业的人来给你讲讲专业选择,相信你会有不一样的收获。
申请干货汇总2016年度刊,你要的申请、选校、专业等信息都在这!
欢迎关注、转发,建议先收藏再阅读!