申请CS软件工程方向必读

一、何为软件工程

软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发和维护计算机软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术和方法结合起来,以经济地开发出高质量的软件并有效地维护它。它旨在开发满足用户需求、及时交付、不超过预算和无故障的软件,以质量保证为基础,包括过程、方法和工具三个要素。

现在软件工程里面大家主要是对软件的正确性感兴趣。简单点讲,软件不正确,有错误,容易导致各种问题,造成各种经济损失。比如说,现在比较热门的计算机安全问题。安全问题和软件中的错误是成比例的。如果软件没有错误,我们可能没有100%的安全,但是最起码MS不必经常发布补丁,针对windows的攻击也会变得很困难,各种因软件所导致的损失也会大大减少。每一种攻击的方法或者工具,背后基本都是一个或者数个软件错误,有的是实现中的错误,有的甚至是设计上的。软件工程不是单纯的开发或者测试,而是围绕着用户需求的一系列的activity以及资源的分配和利用。

二、软件工程申请趋势和未来发展方向

软件工程申请是很激烈的。简单点讲,IT行 业的发展造就了无数的程序员,尽管大家开发的软件应用于不同的领域,但是大家都是程序员,好听一点,叫软件工程师。所以申请的时候,写过程序的,都可以说 有这方面的实际经验,都可以往这条船上挤。因此,软件工程,除了学校的学生们,公司里工作的人也很喜欢申请,申请人数就特别多,而拿offer也就显得比较难了!一清二白的学生们拿什么跟有数年工作经验的软件工程师pk?但是软件工程不仅仅是工作经验这么简单,不是单纯的比谁会写编码,谁的编码写的好。

软件工程是一个很好的方向,很适合将来在美国就业立足。比如说,如果你作一个关于测试理论或者开发方法的论文,接触一些软件开发和测试过程中的问题,找工作 面试的时候,你可以拿你的论文项目当成经验来说,容易跟别人谈的来。而且,由于很多软件工程的研究项目适用于各个领域,找工作局限性小。所以不管是EMC这样的存储公司,还是CISCO这样的网络公司,或者是ORACLE这样的数据库软件开发商,你都可以兜售自己的项目,都可以说你自己似如何在开发的过程中用什么样的方法开发,问题何在,用什么样的方法测试,coverage如何。但如果你是CS的其他方向,比方说AI研究intelligenttutoringsystem的,尽管你写过几行程序来验证自己的idea,但是公司可能想,这是个AI的项目,我们是网络公司,不需要,没门。对于硕士生找工作来说,软件工程方向局限性小一些,更容易找到工作。博士就有所不同,但是很多博士也得放下身价,到公司里写程序作高尚的软件工程师。

三、申请注意事项

1.论文>重要的荣誉/奖项/经历>出身>GPA>推荐信>TOEFL/GRE>陶瓷>PS(SoP)>GRE,这是永恒的不等式

①论文

美国大学招人最主要就是看你的研究能力,看你能不能给老板干活。虽然用论文来衡量一个人的研究能力未免太绝对,但目前主要是这样。因为看项目的话随你怎么说都行,国外的教授基本对国内的项目都不了解。这里的论文主要是指国际会议的英文论文,local的,forgetit.由于CS软件工程方向的特点,当前本学科几乎所有重要的论文基本都(至少是先)发表在国际会议上,主要是各领域的顶尖会议.当然我们不能指望我们国内的CS软件工程申请者能在这些顶尖会议上发表论文,但至少在一些比较正规的会议上有文章(如果审查委员会知道这些会议的话)绝对会大大增加你的录取机会!至于期刊的话,除非在JCST,软件学报,计算机学报之类的有文章你可以强调一下难度,其他的中文期刊,有也只是廖胜于无。

②重要的荣誉/奖项/经历

国外教授最青睐的荣誉/奖项就是数模竞赛和数学竞赛了,当然是全国级的,世界级的更好,(local的话,有也只是寥胜于无)。其它比较重要的经历如MSR等的研究经历也还不错。此外可能一些重要奖学金,大公司的研究实习经历也会起到一些作用。至于学生干部/其它特长(除非很重要很突出)之类的经历,forgetit.

③出身

就是你出自的学校了,很现实的事,出身绝对重要!事实上不管在国内还是美国,出身(毕业学校)都非常重要,传统名校/常青藤毕业的学生在择校/工作等方面确实比一般其他学校的受到更好的照顾。当然看一个人绝对不能光看出身,但一般而言,出身绝对重要。就拿申请而言,一般名校是只看国内top10的学校的,看其他国家也是(比如印度,只认IIT,其它的都被丢垃圾桶去了),如果不是top10出身,又没有其他特别突出的强项,那么下场只有一个。

④GPA

虽然前十名的学校中大多数宣称在4.0中获得3.0以上的GPA就足以申请,但根据历年的实际经验,成功申请TOP10计算机专业的GPA一般都在3.6以上,个别学校的入学新生平均GPA可达3.8。

⑤推荐信/PS(SoP)

推荐信其实国外教授还是看的,如果有比较强的support的话(看你的推荐人,以及里面的写法)还是很重要的。从某种程度上来说,其实大家应该更重视推荐信甚于ps!当然由于国内众所周知的原因,可靠性会打一定折扣,但如果你的推荐人牛,或推荐老师很负责或你的内容组织的好的话,还是比较重要的。

⑥TOEFL/GRE

TOEFL/GRE只要过了一些门槛就可以了,而这个门槛大多数中国学生还是容易达到的,当然可能TOEFL难一些达到。不少学校有对TOEFL单门不能低于多少分是有限制,而且一些学校对录取学生的TOEFL成绩的要求还蛮高的!国际学生申请美国大学的TOEFL成绩底线为600分(老TOEFL),实际经验是前十名的计算机专业往往要达到630-650分。

由于计算机专业应用广泛,大多数美国本土申请者往往选择硕士,而学术型的博士学位申请一般在国际学生之间进行竞争,因此优异的TOEFL成绩是必不可少的。而GRE,除了要参加GRE General Test以外,建议申请者尽量参加GRE计算机专项考试(GRE Subject Test),以体现自己的专业实力,获得学校的青睐。

⑦陶瓷

其实,陶瓷的重要系数是可变的,陶瓷得法的话是很重要的,但是这个建立在一定的基础上:你的实力确实很强,你的背景与方向很合老板意思(或老板准备转的方向)!所以陶瓷一定要找准方向,找准老板,不要盲目,一些重要的原则如:一个系不要同时套2个或以上,AssisProf比Asso/Pro更急切需要人手(如果他的fund够得话)等等。

⑧个人陈述

除了其它专业的共性要求外,最好能够通过个人陈述凸显自己在计算机领域内的科研能力,向校方展现自己的研究潜力。

2.选校VS选教授

如果你可以选,建议你找个好老板.完全放弃国内培养出来的那种'名校情节'.特别牛的学校,或者你有什么另类想法例外.美国的体制,是以教授为单位,为中心的.他们要自己找钱,向外界推销自己.如果他牛,交际面广,对你以后发paper,找工作有很大的帮助.相反你如果跟错老师,以后会非常非常的郁闷.一点不夸张.

3.硕士VS博士

如果各位家里小康的话,可以考虑申请一些MSC的program,MSC是不容易拿奖的,所以比有奖的phd容易很多。如果你申软件工程的offer,错误的申请了职业培训类型的SEmaster,你拿offer得难度至少会像MBA一样大。申请硕士优势有三:1,可以硕士毕业就在美国工作。2,在美国再申请phd的话比在国内方便不止一倍。3,美国有无数CS的 工作岗位,报酬优厚。但鉴于奖学金的问题,中国多数同学申请的是博士,相对于硕士而言,博士容易获得奖学金。然而,目前的实际情况是,很多同学在拿到硕士 学位后,即退学找工作去了,美国多数学校允许在博士的课程阶段,修够一定学分以后,可以拿到一个硕士学位。在不允许这种情况的学校里,中国学生往往也会设 法换成硕士PROGRAM,然后毕业。目前许多教授对此意见很大,估计今后对申请上也会有不利影响。能否提前毕业或换成硕士毕业,主要看奖学金的来源。因为一般助教TA的奖学金来自于学校,而非系里,所以相对要容易成功一些。而助研RA的钱多与老板或系里密切挂钩,因此你的提前离去,会对项目有影响,所以往往不易,视老板关系,时机而定。

四、CS强校专业录取条件比较

1.卡内基•梅隆大学CarnegieMellonUniversity(CMU)

卡耐基-梅隆大学(CMU)是美国著名的综合性私立大学,在软件工程教育领域,卡耐基-梅隆大学在全美始终排名第一。目前国际上最权威、实用,并被各国软件产业界采纳的软件生产工程标准--能力成熟度模型(CMM),就是由该校下属的软件工程研究中心创立的。

海外生年费/房租伙食:17,900美元/5,690美元入学要求:平均入标准:SATVerbal500分;Math600分,海外生须具TOEFL600分

本科申请者必须递交高中时候的成绩单、学校指定考试的成绩单(SAT Reasonin gTestor ACT with Writing SAT Subject Tests (2)、Math LevelI ,IorII、Physics,Chemistryor Biology)老师推荐信,个人陈述等等;CMU对于申请者的SATorACTorGPA都没有明确的规定,但是以往能够进入CMU的CS软件工程专业的SAT-CR†成绩在650-750左右,而SAT-M†则是在720-800左右,而GPA是3.77.研究生申请者必须要有两年以上的软件开发工作经验;必须要有相关的软件开发的学习背景,例如在本科时曾上过数学,运算法则,数据结构或编程语言等课程;必须掌握一些面向对象的编程语言,例如JAVA,C++,Pascal,Modula2,Ada或者C语言;必须要有编译技术、编程语言,操作系统,数据系统中的任何两种技能。

2.斯坦福大学StanfordUniversity

斯坦福大学计算机科学系成立于1965年,在计算机理论、硬件、软件、数据库和人工智能等各个领域都居于美国乃至世界领先地位。在全球知名的IT公司中,由四位Stanford校友所创立的SUN公司名称实际上就是“StanfordUniversityNetwork”的首字母缩写,而Yahoo公司的创始人杨致远也曾在Stanford大学就读。从某种意义上来说,离开了Stanford大学的支撑,美国计算机业界的天堂硅谷(SiliconValley)也未必会成为今日的硅谷。

申请Stanford的截止日期为12月12日,申请者需要提交的材料有:3封推荐信、两套完整的官方成绩单、个人陈述、GRE。对于TOEFL成绩斯坦福大学没有特别的要求,但以往被录取的学生大都TOEFL机试成绩在260分以上。因为standford不会向非英语母语国家的学生提供英语课程,所以申请者必须要有很强的英语能力。而在GPA方面斯坦福大学也是没有硬性规定的,但以往被录取的学生大都在3.6和4.0之间,或者是高中是学校排名在15%以内。对于TOEFL成绩学校是有一个硬性规定的,机考的最低申请分数是270,而笔试是650,IBT是108。

3.麻省理工学院MassachusettsInstituteofTechnology(MIT)

MIT的计算机科学专业没有整合成为独立的计算机学院,而是分列在以下7个最主要的研究群体和实验室之中,包括:设计和优化的计算机处理(ComputationforDesignandOptimization)、计算结构(ComputationStructuresGroup)、经济学和管理学计算机研究中心(CenterforComputationalResearchinEconomicsandManagement)、计算机结构研究(ComputerArchitectureGroup)、计算机图形研究(ComputerGraphicsGroup)、计算机资源实验室(ComputerResourceLaboratory)和计算机科学与人工智能实验室(ComputerScienceandArtificialIntelligenceLaboratory)。申请该系的截止日期为12月15日,申请者需通过单独的研究生申请网址——http://apply.csail.mit.edu/向该系提交申请表格。对于国际申请者而言,必须提交TOEFL和GRE成绩,申请费为70美元。申请者要递交theSATReasoningTest或者ACTPlusWriting成绩,也可以提交TOEFL和两份SATSubject的成绩,但必须是SATSubjectinmath(level1or2)andinscience(physics,chemistry,orbiologye/m)的SATSubject成绩。

去年学校的theSATReasoningTestCriticalReading成绩大概在670-770之间而SATReasoningTestMath就在730-800之间。而TOEFL成绩,计算机科学系规定的最低分数线是笔试600,机试250,IBT100。

美勤精英顾问