美国斯坦福大学计算机专业留学介绍
很多学习计算机专业的学生会选择去美国斯坦福大学就读,那么斯坦福大学的计算机专业到底是如何的好呢?这是很多学生比较感兴趣的问题。和一起来看看美国斯坦福大学计算机专业留学介绍,欢迎阅读。
一、专业全面介绍
美国大学中,斯坦福大学的计算机专业CS是个很大个的CS,拥有40人以上的Faculty成员,其中不乏响当当硬梆梆的图灵奖得主和各个学科领域的大腕人物,比如理论方面的权威 Donald E. Knuth;数据库方面的大牛Jeffrey D. Ullman(他还写过那本着名的编译原理,此人出自Princeton);以及RISC技术挑头人之一的John Hennessy。相信CS的同学对此并不陌生。该系每年毕业30多名Ph.D.以及更多的Master。学生的出路自然是如鱼得水,无论学术界还是工业界,Stanford的学生倍受青睐。几乎所有前10的CS中都有Stanford的毕业生在充当教授。
二、专业申请要求
本科入学要求:SAT成绩2000-2300(阅读650-760,数学680-780,写作670-760)。雅思要求7.0分,TOEFL要求80+。
第一,计算机专业对本科所学的专业没有要求,也就是说任何专业都可以申请计算机专业的Master和PHD,但是要具备一定的定量分析能力。
第二,假如你在其它学校获得了MS学位,那么在斯坦福你就不能再申请MS;但是如果你在其它学校获得了MSCS学位,你可以申请斯坦福的计算机专业PHD。
第三,在同一学年你不能同时申请两次计算机专业,详细的重新申请情况可以查看学校申请网页。
第四,与其他理工科相比,CS显然不是那么容易拿奖学金,特别是像生物、物理、化学这样一些专业,拿奖学金比较容易,全奖也比较多。
第五、从申请难易来看,像软件工程、数据挖掘、分布式计算是现在比较热门的专业,录取的人数比较多;而人工智能,计算机理论,算法分析,研究方向偏基础,相对来说申请的人数也会少很多,拿奖学金的机会也会比较大。
三、专业课程特点
1.开阔眼界的通识教育课(GER)
GER课程在斯坦福大学本科教学中占有很大的比例。为了拓宽学生视野,学校开设了700多门GER相关课程,涵盖人文科学、自然科学、应用科学与技术、人类和社会学等各个领域,学生必须从四个领域选修10门课程。
与国内通识教育课程可轻松过关的情形不同,斯坦福的GER课程常常伴随着大量阅读,学生需要读很多书,写论文,作报告。一位曾就读清华的中国留学生感叹到,斯坦福的人文课真不容易过关。然而,正是这一门门通识教育课开阔了学生的视野,潜移默化地培养了学生的写作和语言表达能力。
在教育学生做人方面,通识教育课起了不可替代的作用。以人文科学导论子领域为例,开设了公民、认识自我、阅读与个性形成、传统与变革、生死观、爱情与谎言、大自然思考、高雅艺术与大众文化的变迁等课程,通过这些课程,学生认识自我、了解社会、思考人生,学习如何做一名合格公民。培养方案规定学生在入学第一学季必须选修其中一门课程,体现了为学先为人的教学理念。
2. 启迪思维的计算机公共基础课
国内高校的计算机入门课主要以技能性操作练习为主,辅以基础知识介绍,比如众多高校开设的全校选修课“计算机文化基础”中,Windows操作、Office练习占了很大比重。斯坦福大学的计算机公共基础课以启迪思维、拓宽视野为主,开设了一系列新生研讨课,如“计算机系统结构的未来”,通过此课程介绍典型的计算机体系结构、技术发展以及局限性,探讨未来计算机一些可供选择的组织结构及程序系统;又如“计算机与信息安全”,介绍黑客入侵、计算机系统常见漏洞,防范攻击的技术措施、密码技术与计算机安全有关的法律问题;再如“计算机领域的重大突破”(Great Ideas in Computer Science),介绍计算机发展史上的主要成就,考查计算机理论与实践的相互影响,涉及的问题有计算能力的局限性、算法效率、密码技术、语言翻译、人工智能、计算机网络等。此外还有“计算机系统灾难”(The Downside of Computer System),同时还讨论计算机系统如何失效,计算机系统崩溃对社会造成的影响,并介绍了计算机崩溃导致灾难的一些实例,讨论计算机安全、容差结构等问题。
可见,国外一流大学的公共基础课是以计算机导论形式多角度地介绍计算机核心基础知识。不仅从正面介绍计算机技术成就、给社会带来的巨变,也从反面介绍计算机的局限性和教训,提出学习计算机需要思考的问题。同时引入新生研讨课的教学形式,这种课程模式对激发学生的求知欲有很大帮助。
3. 体系完整的编程及编程语言课
在程序设计方面,国内计算机专业只开设C、Java等少数几门编程课。而斯坦福大学计算机系开设的程序设计及编程语言课多达15门,既有讲解C、C++、C#、Java的专门的程序设计课,也有强调面向对象为特征的“C++与面向对象的编程”、“面向对象的系统设计”等编程课,还有讲解java、HTML、CSS、XML的网络客户端编程课;既有横向比较各语言难点和精髓的高级编程课,也有突出训练程序设计能力的软件实践类课,还有编程语言基础理论课。
程序设计入门课因分快慢班有三个课号,分别为CS106A、CS106B和CS106X。其中CS106A使用C,为初级编程,CS106B是CS106A的后续课,使用C++。CS106X面向有编程基础的学生,涵盖CS106A和CS106B的内容,在一学季完成。CS106是全校的公共基础课,也是绝大多数专业的必修课,每学季选课人数众多。为此,学校配备了大量助教,通常由修过此课的高年级本科生承担,称为Section Leader(SL)。学生每十余人分为一个小组,由一名SL负责辅导,并经常组织讨论。
最值得推荐的编程课有“程序设计范式”(CS107 Programming Paradiams),这是一门计算机专业的必修课,重点分析比较C、C++、Java、LISP的特点及难点,比如内存管理、系统资源利用、输入、输出等。讲解实现一种算法的过程中各语言的设计步骤和注意点。每1~2周有一个大作业,针对不同的任务,要求学生用不同的语言实现,使学生加深了解各类编程语言的应用场合。
与国内相比,必修的计算机专业课门数并不多,但几乎每门课程都有编程大作业,负担很重。虽然未设软件工程课,但通过一些大作业训练了学生的软件工程思想。
4. 重视培养表达能力的专业写作课
在培养方案中,设置专门的写作要求是斯坦福大学本科培养方案的一大特色。写作训练分为两个阶段。首先是基础写作,重点培养学生一般的写作能力和修辞技巧;其次是专业写作,学生需从含有较高写作要求的三门课程中选择一门,完成专业写作训练。
培养方案中没有综合论文训练环节,但有一门实践类课程“软件项目设计”(Software Project)使学生不仅受到了一次真正的软件设计训练,同时也受到了一次综合论文写作训练。在为期10周的课程中,学生1~4人分为一组,以Team Work形式完成一个有实用价值的软件项目,要求实现从设计立项、任务描述、编程到测试的软件开发全过程。除编写每阶段设计文档外,还要求学生撰写用户使用手册。这里没有抄书的余地,因为一切文档都与自己开发的软件相关。
斯坦福大学非常注意培养学生的表达能力,为此设立了专门的指导机构Stanford Writing Center。该中心开设了十多门写作课程,并时常举办写作系列讲座。工程学院也开设了一些旨在提高学生写作和演讲能力的课程。如写作实践课,帮助学生提高学术论文和学位论文写作水平;又如公众演讲课,内容涵盖正式演讲、即兴发言等与口语表达相关的方方面面。此外还设立了演讲与写作答疑室,配备了录像和播放设备,使前来答疑的学生可以看到自己的试讲录像,对提高学生的演讲能力帮助极大。