美国软件工程专业(SE)简介
软件工程(Software Engineering)是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发和维护计算机软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术和方法结合起来,以经济地开发出高质量的软件并有效地维护它。它旨在开发满足用户需求、及时交付、不超过预算和无故障的软件,以质量保证为基础,包括过程、方法和工具三个要素。
现在软件工程里面大家主要是对软件的正确性感兴趣。简单点讲,软件不正确,有错误,容易导致各种问题,造成各种经济损失。比如说,现在比较热门的计算机安全问题。安全问题和软件中的错误是成比例的。如果软件没有错误,我们可能没有100%的安全,但是最起码MS不必经常发布补丁,针对windows的攻击也会变得很困难,各种因软件所导致的损失也会大大减少。每一种攻击的方法或者工具,背后基本都是一个或者数个软件错误,有的是实现中的错误,有的甚至是设计上的。软件工程不是单纯的开发或者测试,而是围绕着用户需求的一系列的activity以及资源的分配和利用。软件工程,就是要提高productivity and reliability of software development。
美国大学软件工程专业(SE)申请要素分析
美国大学软件工程专业的申请竞争是非常激烈的。IT行业的发展造就了无数的程序员,尽管大家开发的软件应用于不同的领域,但大家都是程序员,即软件工程师,所以申请美国大学软件工程专业的时候,写过程序的都可以说有这方面的实际经验,都可以往这条船上挤。因此,美国大学的软件工程专业受到在校学生和工作人员的青睐,申请人数增多,拿Offer就比较难了, 学生拿什么跟有数年工作经验的软件工程师竞争呢。不过,美国大学软件工程专业的申请不仅仅是需要工作经验那么简单,不是单纯的比谁会写编码,谁的编码写的好。
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,除了要参加GREGeneralTest以外,建议申请者尽量参加GRE计算机专项考试(GRE Subject Test),以体现自己的专业实力,获得学校的青睐。
⑦陶瓷
其实,陶瓷的重要系数是可变的,陶瓷得法的话是很重要的,但是这个建立在一定的基础上:你的实力确实很强,你的背景与方向很合老板意思(或老板准备转的方向)!所以陶瓷一定要找准方向,找准老板,不要盲目,一些重要的原则如:一个系不要同时套2个或以上,AssisProf比Asso/Pro更急切需要人手(如果他的fund够得话)等等。
⑧个人陈述
除了其它专业的共性要求外,最好能够通过个人陈述凸显自己在计算机领域内的科研能力,向校方展现自己的研究潜力。
2、选校VS选教授
如果你可以选,建议你找个好老板.完全放弃国内培养出来的那种'名校情节'.特别牛的学校,或者你有什么另类想法例外.美国的体制,是以教授为单位,为中心的.他们要自己找钱,向外界推销自己.如果他牛,交际面广,对你以后发paper,找工作有很大的帮助.相反你如果跟错老师,以后会非常非常的郁闷.一点不夸张.
3、硕士VS博士
如果各位家里小康的话,可以考虑申请一些MSC的program,MSC是不容易拿奖的,所以比有奖的PhD容易很多。如果你申软件工程的offer,错误的申请了职业培训类型的SEmaster,你拿offer得难度至少会像MBA一样大。
申请硕士优势有三:
①可以硕士毕业就在美国工作。
②在美国再申请PhD的话比在国内方便不止一倍。
③美国有无数CS的工作岗位,报酬优厚。
鉴于美国大学奖学金的问题,中国多数学生会申请博士,相对于硕士而言,博士更容易获得奖学金。然而,很多学生在拿到硕士学位后,就中止了博士阶段的学习,开始找工作了。美国多数学校允许在博士课程阶段,修够一定的学分后,拿到一个硕士学位。在不允许这种情况的学校里,中国学生往往也会想法设法换成硕士Program,然后毕业。因此很多美国大学教授对此意见很大,对今后中国学生的申请会产生不利的影响。能否提前毕业或换成硕士毕业,主要看奖学金的来源。因为一般助教TA的奖学金来自于学校,而非系里,所以相对要容易成功一些。而助研RA的钱多与老板或系里密切挂钩,因此你的提前离去,会对项目有影响,所以往往不易,视老板关系,时机而定。