企业宣传,产品推广,广告招商,广告投放联系seowdb

MIPS中文学习手册

MIPS 是高效精简指令集计算机()体系结构中最优雅的一种;即使连MIPS 的竞争对手也这样以为,这可以从MIPS 关于起初研制的新型体系结构比如DEC 的Alpha 和HP 的Precision发生的剧烈影响看进去。只管自身的优雅设计并不能保障在充溢竞争的市场上长盛不衰,然而MIPS 微处置器 却经常能在 处置器 的每个技术开展阶段坚持速度最快的同时坚持设计的简洁。


美国那些大学的IT专业是强项?

斯坦福,伯克利,麻省理工,卡内基*梅隆 Stanford(斯坦福)的CS是个很大的 CS,拥有40人以上的资深教员,其中不乏响当当硬梆梆的图灵奖得主(Edward A .Feigenbaum , John McCarthy)和各个学科领域的大腕人物,比如理论方面的权威DonaldE.K nuth;数据库方面的大牛Je ffre yD.Ullm an(他还写过那本著名的编译原理,此人出自Princeton);以及R ISC技术挑头人之一的John Henn e ssy。 相信 CS的同学对此并不陌生。 该系每年毕业30多名Ph.D.以及更多的Master。 学生的出路自然是如鱼得水,无论学术界还是工业界,Stanford的学生倍受青睐。 几乎所有前十的 CS中都有Stanford的毕业生在充当教授。 当然同样享有如此地位的还包括其他三头巨牛:UC .Berkeley, MIT和CMU。 毕业于U. of Utah的Jim Clark曾经在Stanford CS当教授。 后来就是这个人创办了高性能计算机和科学计算可视化方面巨牛的SGI公司。 SUN公司名字的来历是:Stanford University Network .。 顺便提一下,创办YAHOO的华人杨致远曾在斯坦福的 EE攻读博士,后来中途辍学办了YAHOO。 CS科研方面,斯坦福无论在理论、数据库、软件、硬件和AI等各个领域都是实力强劲的顶级高手。 斯坦福的RISC技术后来成为SGI / MIPS的Rx000系列微处理器的核心技术;DASH,FLASH项目更是多处理器并行计算机研究的前沿;SU IF并行化编译器成为国家资助的重点项目,在国际学术论文中SU IF编译器的提及似乎也为某些平庸的论文平添几分姿色。 Stanford有学生多,其中研究生7000多。 CS有175人攻读博士,350人攻读硕士,每年招的学生数不详,估计少不了,但不要忘了,每年申请 CS的申请学生接近千人。 申请费高达90$。 斯坦福大学位于信息世界的心脏地带———硅谷。 加州宜人的气候,美丽的风景使得Stanford堪称CS的天堂。 33.1平方公里的校园面积怕是够学子们翻江蹈海、叱咤风云的了。 申请斯坦福是很难成功的,但也并非不可为之。 去斯坦福这样的牛校,运气很重要,牛人的推荐也很重要。 附:总的来说,前20的 CS可以分成三波: 一、4个最为优秀的 CS Program � Stanford,UC. Berkeley, MIT, CMU 二、6个其他前十的:UIUC,Cornell,U.of Washington ,Prin ce ton,U. of Tex as-Austin和U. of Wisconsin -Madison,其中UIUC, C ornell,U. of Washington和UW -Madison几乎从未出过前十名。 三、其他非常非常优秀的 CS:CalTech,U. of MarylandatCP, UCLA, Brown, Harvard,Yale, GIT, Purdue, Rice,和U. of Michigan. (注:CS=计算机科学系) 自20世纪40年代世界第一台现代计算机在美国诞生以来,美国一直执全球计算机学界之牛耳,这同时也是美国计算机产业界占据绝对优势的重要原因之一。 我们引进的教材中绝大多数也都来自美国。 计算机学科仍然在高速发展,与此对应的计算机人才培养模式也在不断变化,密切关注和跟踪国外尤其是美国名校的教学新动态,应该是非常有意义的。 本文即选择了美国计算机学科最负盛名的五所高校,对目前各校计算机科学(Computer Science)专业的本科教学体系进行了一些分析。 斯坦福大学斯坦福大学拥有独立的计算机科学系。 浏览该校的教学手册,最具特色的恐怕要算多门科普性计算机知识讲座了,一般有两到三个单元,涉及面非常之广,从量子计算到数字演员,从计算科学的伟大思想到网络安全,从网上拍卖到使用元编译发现大型开放源代码软件中的大量错误,其中还不乏对技术乌托邦、斯诺“两种文化”、计算机面临的困境以及迅速发展所带来的诸多问题的思考。 开课的老师阵容强大,基本上都是响当当的名教授,甚至包括图灵奖得主John McCarthy。 用这种讲座代替计算机科学导论性质的专门课程,可以充分展示计算机科学的丰富内涵,使学生较早地了解学科的轮廓和脉络,对于开阔学生视野,启发学生的学习兴趣也大有好处。 由于美国大学中专业的选择非常灵活,而近年来计算机学科招生受行业影响流失严重(这种情况甚至惊动了比尔·盖茨,今年微软到各大高校招兵买马时,他每站必到,利用自己的明星效应,大讲计算机学科的美妙前景),可以想象,这种讲座同样也肩负着吸引学生选择计算机专业的重大使命。 斯坦福大学典型的低年级课程设置如表1所示。 表1 斯坦福大学低年级主要课程设置数学(至少23个单元)数学 41(课程号,下同) 微积分 I 5数学 42 微积分 II 5统计 116 概率论 3~5计算机 103 离散结构 4或6以下任选两门:数学 51 微积分 5数学 103/113 线性代数 3数学 109 应用群论 3计算机 157 逻辑和自动推理 4计算机 205 机器人、视觉和图形学数学方法 3科学(至少11个单元)物理 53 力学 4物理 55 电磁学 4其他工程基础(至少13个单元)计算机 106 程序设计抽象/方法学 5工程 40 电子学基础 5选修课技术与社会(3~5个单元) 进一步的课程设置如表2所示。 表2 斯坦福大学高年级主要课程设置程序设计(2门课)计算机 107(课程号,下同) 程序设计范型5计算机 108 面向对象系统设计 4理论(2门课)计算机 154 自动机与复杂性理论 4计算机 161 算法的设计与分析 4系统(3门课)电子电气 108B或282 数字系统或计算机体系结构 4计算机 编译原理 3计算机 计算机网络 3计算机 操作系统 3应用(选2门课)计算机 人工智能 3~4计算机 数据库 3计算机 图形学 3项目(1门课)计算机 至少3个单元限选课(多门) 加州大学伯克利分校伯克利的课程设置也有很多独树一帜的地方,尤其是在专业基础课方面,除了有专业导引课程“计算机科学专题”之外,对于没有编程经验的学生,第一门编程课是符号编程入门,采用LISP语言。 有一定编程经验或者有自学能力的学生,可以选择多种语言和环境的自主学习(Self-paced)课程,包括C、Fortran、C++、Java,以及UNIX的使用等,这种多元化与伯克利计算机科学与电子电气工程同系有关。 但是所有学生在第二学期都要学习一组独特的基础课:61A“计算机程序的结构与解释”,采用MIT Abelson等编著的同名教材(中译本机械工业出版社出版,清华大学出版社出版了影印版);61B“数据结构”(教材采用自编讲义);61C“计算机结构”(Machine Structures),采用Hennessy的《计算机组织与设计》(中译本清华大学出版社出版,机械工业出版社出版了影印版)。 这项规定就是转校生也不例外,可见其中蕴涵了伯克利多年的教学经验结晶。 伯克利其他比较有特点的课程还有:将离散数学和概率论结合讲授的CS70,主讲是名教授Christos Papadimitriou;CS98-1 编程练习课,以主要大学生编程竞赛中的赛题为授课素材;CS 169 软件工程直接用Kent Beck的《极限编程》(人民邮电出版社出版了中译本)作为教材,非常超前,但是既然连Pressman的《软件工程:实践者方法》新版中敏捷方法都已经成为重头戏,既然IEEE都已经开始制定敏捷方法相关标准,这种课程选材也就不显得那么骇世惊俗了。 除了软件工程课程常见内容外,教学侧重实际,贯穿了极限编程的思想,涵盖UML、JUnit单元测试、软件架构、设计模式和反模式、重构、CVS版本控制、系统和集成测试,最后要求完成一个实际产品,并进行演示。 UIUC(伊利诺依大学厄巴尼-香槟分校)UIUC的计算机科学专业创建于1972年,到1986年基本定型,十多年来几乎没有什么变化。 其教学体系如图1所示。 图1UIUC改革前的计算机科学课程体系其中,数值分析方向课程中,Math225为矩阵论,CS257为数值方法,CS35x代表数值分析导论、常微分数值方法、偏微分与数值逼近和数值线性代数;理论方向课程中,CS173为离散结构,CS273为计算理论,CS37x包括算法、形式方法、程序验证;人工智能方向课程中,CS348为人工智能导论,CS34x包括机器人、机器学习与模式识别;软件方向,CS125为计算机科学导论,CS225为数据结构与软件工程原理,CS31x包括数据库、图形学、多媒体,CS32x包括软件工程、操作系统设计、分布式系统、编程语言与编译器、并行计算、实时系统、编译器构造、编程语言设计;硬件方向课程中,CS231为计算机体系结构I,CS232为计算机体系结构II,CS33x包括计算机组成、VLSI系统与逻辑设计、VLSI系统设计、通信网络、嵌入式体系架构与软件。 可以看到,处在图1中最下面的课程基本上都是在多门中选择一至三门,整个体系脉络清晰,具有很高的灵活性。 与斯坦福不同的是,UIUC的计算机科学导论课程比较简单,只有一门为新生开的计算机科学导向课(CS100),而且并非必修。 名为“计算机科学导论”的CS125实际上是以Java语言为主的编程入门课,涵盖了一些算法的内容。 此外还有与之配套的实验课。 当然,系里所开的许多面向高年级和研究生层次的讲座是对低年级开放的。 2003年,在工程院院长David Daniel的倡导下,计算机系对教学计划进行了改革,以反映目前社会、行业和技术的发展趋势。 主要的变化有:*在必修要求中增加了两门编程课:CS241 系统编程,采用Gary Nutt的《操作系统》作为主教材,Stevens的《Unix环境高级编程》作为编程教材;CS242 程序设计实验(Programming Studio),教学大纲基本上以Kernighan的《程序设计实践》为蓝本(以上教材机械工业出版社均出版了中译本和影印版)。 *必修要求中增加了一年的高级项目,强调团队合作和软件工程实践,包括文档写作、口头表达、项目规划与管理等,实际上是在实践中学习软件工程。 这门课也可以用两学期的软件工程或者一年的高级论文代替。 仍然充分保留了灵活性,有利于因材施教。 *增加了CS173 离散结构的学时,部分原CS273的内容移到这里,同时CS273又新增了原CS375的内容。 这实际上是提高了对计算机理论的要求。 CMU(卡内基梅隆大学)与MIT、伯克利等学校计算机科学仍然和电子与电气工程同处一系不同,CMU的计算机科学系成立于1965年,是全美最早的,如今它已经升格为计算机科学学院。 其研究生项目中除了机器人方向与硬件关系较多之外,其他基本上都是纯软的。 从这个意义上来说,CMU的教学体系对于偏软的计算机科学系应该有较大的借鉴意义。 CMU的教学手册上没有从传统意义上针对计算机科学专业学生的导论课,虽然有名为“计算机科学伟大思想”的两学期课程,但是从内容上看应该是离散数学的替代,因为此外CMU并没有其他离散数学方面的课程。 此课程没有教材,内容比传统离散数学要灵活得多,涉及概率、代数、算法、加密理论、复杂性理论、博弈论等,非常注重学习的趣味性和实用性。 与其他名校相同,CMU对程序设计的重视也给人留下很深印象:本土新生的第一堂课就是“初中级程序设计”,直接讲授Java。 然后是中高级程序设计(Java)、C语言编程技巧、高级编程实践(Java)、程序设计原理(用SML语言讲授)。 目前计算机科学专业教学计划中的一个难点,是硬件课程的设置问题。 硬件知识体系本身非常丰富,但是硬件课程多了,又削弱了计算机科学专业的特色。 CMU在这一问题上是怎样处理的呢?计算机科学学院的现任院长Randal E. Bryant 亲自给出了回答,他用15~213“计算机系统导论”一门课(12个单元)完成了硬件知识的教学。 这项教学改革的成果就是一本厚达900多页的书:《Computer Systems: A Programmers Perspective》(中译本《深入理解计算机系统》已经由中国电力出版社出版)一书。 他在该书的序言中说:“本课程的宗旨是用一种不同的方式向学生介绍计算机。 因为,我们的学生中几乎没有人有机会构造计算机系统。 而大多数学生,甚至是计算机工程师,也要求能日常使用计算机和编写计算机程序。 所以我们决定从程序员的角度来讲解系统,并采用这样的过滤方法:我们只讨论那些影响用户级C程序的性能、正确性或实用性的主题。 比如,我们排除了诸如硬件加法器和总线设计这样的主题。 虽然我们谈及了机器语言,但是不关注如何编写汇编语言,而是关心编译器怎样翻译C的各种构造,比如指针、循环、过程调用和返回,以及switch语句。 更进一步,我们将更广泛和现实地看待系统,包括硬件和系统软件,讨论链接、加载、进程、信号、性能优化、评估、I/O以及网络与并发编程。 这种做法使得我们讲授本课程的方式对学生来讲既实用、具体,又能实践,同时也非常利于调动学生的积极性。 ”网站上的一些随书配套实验,也独具匠心。 因此此书的成功是水到渠成的。 根据配套网站上的列表,它已经被全球80多所院校采用作为教材。 MIT(麻省理工学院)MIT的课程设置,只能用其学生起点高来解释。 该校没有典型意义上的计算机科学专业,偏软的只有理论计算机科学和人工智能及其应用两个专业。 因此没有类似于其他学校的导论课程。 在MIT的电子电气工程与计算机科学系中,所有学生都要参加如下四门课程:6.001“计算机程序的结构与解释”,当然与伯克利相同,采用的是Abelson等编著的同名教材;6.002“电路与电子学”;6.003“信号与系统”(自编讲义);6.004 “计算结构”(Computation Structures),与伯克利的61C“计算机结构”对等(教材是自编课件)。 此外有两门专业基础数学课:“概率系统分析”(教授自编教材)和“计算机科学数学”,后者的教材是国外院校普遍采用的Rosen所著《离散数学及其应用》(中文版由机械工业出版社出版)。 对MIT的学生而言,实验课程有多种选择:电气工程和计算机科学实验,模拟电子实验,数字系统实验,微机项目实验,半导体设备项目实验。 此外,无论何种专业,都有软件工程实验课。 值得注意的是,本科生各专业的必修课程中并没有软件工程课程。 也就是说,软件工程的内容都在实践中完成了。 带软件工程实验课的是因为提出Liskov替换原则而知名的女教授Barbara Liskov,她刚刚获得了2004年度的冯·诺依曼奖。 作为美国工程院和艺术科学院的双院士,她几十年在软件开发研究方面的经验,将有力地保证这门实验课程的质量。

初中毕业能学通信技术吗

初中毕业能学通信技术吗

初中毕业能学通信技术吗?是可以的。 通信技术的学习不会有年龄甚至学历的限制的,初中毕业只是人生的一个小的岔路口,以后的路还很长,所以初中毕业的同学们如果你们有喜欢学习的东西,那就学习吧。 那么,小编给大家介绍通信技术的就业方向。

一、软件方面

1、嵌入式软件工程师。 这算是最大的一个种类了,常见的就是基于SoC系统来实现某些具体功能,常见的芯片有51、ARM9、基于Cortex-M、基于MIPS的SoC系列等等,基本上都是基于硬件工程师设计的板子上进行系统开发工作,这里面的种类太多了,只要是负责编码的都属于这一块。 一般用C,有些可能还会用到C++,所以想从事这方面工作的同学C语言功底一定要扎实。

2、驱动工程师。 这是一个需要付出大量努力进行学习的工种,但是学好了一定吃得香。 驱动,顾名思义就是要通过软件来让板子上的硬件跑起来,简单的驱动就是基于裸奔的单片机通过各种外设让相关硬件工作,更复杂的就是通过操作系统来驱动。 简单的基于单片机的驱动比较好学习,只要把相关单片机的功能寄存器弄明白,按照相关硬件功能需求,编码实现就可以了。 但是只要上了操作系统,那就是另一个世界了,要深入内核进行学习,所以建议想从事驱动的同学一定要学好C、操作系统和数电方面的知识。

3、应用层软件工程师。 这里说的应用层是指基于操作系统的应用层,现在通信行业主流的操作系统有uCos、Linux和VxWorks。 这方面主要是对OS的各种系统调用API要熟悉,同时要有很好的编程功底,要懂得进程、线程、IPC、死锁等等操作系统方面的知识,编程来实现各种功能。 这里面还要懂网络编程,要熟悉五层模型、主流的二层三层协议(ARP、PPP、ICMP、FTP、TCP、UDP等等等,参考TCP/IP详解卷一),知道Linux系统的网络调用相关函数,懂得基本的网络编程模型(阻塞、多进程、多线程、select和epoll的IO复用),最好还去研究一下linux的内核,看看里面究竟是怎样实现网络的各种功能的。 这编程能力就毋庸置疑了,C++也要熟悉,数据结构算法也挺重要。

4、协议软件工程师。 咳咳,答主的行业。 简单的说,就是编码实现各种通信协议。 说道协议,那可就多了TCP/IP协议栈里就有一大堆的协议,通信设备上的协议也不少,一些主流路由协议像RIP、OSPF、ISIS等几百页的RFC文档就会让你头疼,好在大部分通信公司都是买成熟代码,编码苦手们的福音。 这一方面主要是对交换机路由器的功能要熟悉,什么MAC地址、VLAN转发表、IP路由相关的概念要懂,再就是要对具体的协议很熟悉,这里的协议主要指比较大型的协议,比如OSPF、ISIS、BGP、MPLS、LDP、RSVP、L2VPN、L3VPN等等,这些个协议有些公司一个协议就要十几号人负责,每个协议的状态机、协议报文、实现算法都要熟悉。 从事这个行业C语言要好,网络编程要熟悉,同时英语也很重要,不然几百页的RFC文档会让你吐血。 但是短处我也提到过,就是方向性太窄,不适合什么都懂的技术宅。

5、FAE。 Field ApplicationEngineer,通俗点说就是技术支持工程师。 从事这岗位的人一般都是从研发转过去的,而且之前都是从事芯片驱动的工作,要对某一款或几款通信芯片特别熟悉,比如Broadcom,然后等你不想写代码了就做这些芯片的技术支持,如果有公司用到你所支持的芯片出现了某些问题不能解决,就找你救急了。 据我所知FAE的工资很高,而且一个区域就两三个这样的人,所以对人的研发能力也是有很高的要求。 但是如果能从事FAE的话,办公比较自由,没事的话完全可以soho,发发邮件,打打电话,再不行就到现场支持(貌似是这样的,如果有误请原谅并指出)。

6、网络工程师。 就是各种组网,懂得利用通信设备来组织具体功能需求的网络,主流设备有Cisco、Juniper、华为、中兴、烽火等。 这个岗位需要对通信的各种路由协议很熟悉,但是不用知道协议的实现具体原理,只需要知道协议的功能和具体配置。 这个岗位可能需要一系列证书,比如CCNA、CCIE、CCNP、华三的各种认证等,我一大学同学大四考了个CCIE(考试费用很贵,机试+笔试当时一共,而且当时要到香港去考),毕业之后在通信公司从事组网工作,年薪30W。 这个岗位貌似出差比较多,而且必须手机24小时开机,因为工程上指不定出什么问题了第一时间就是找你。

二、硬件方面

1、硬件工程师。 就是能根据需求来制定电路板,包括各种电路的设计、电器元件的选择、芯片选型等等。 这方面的工作硬件知识就一定要强了,什么模电数电要信手拈来,而且对常用的各种电器元件和芯片要熟悉,知道什么功能用什么硬件来实现,也要懂画PCB,焊接功夫不用说,各种工具比如万用表、示波器要像长在自己身上一样。 硬件工程师比较重要的还有调试能力,因为硬件的调试不像软件,必须要上板子调,而且硬件是个自然学科,有时候出现什么古怪问题可能新手会死命查不出,所以我觉得硬件工程师的话是一个很靠经验的行当。 不过硬件不会像软件那样需要不停的学新东西,底层的知识变化没那么快。

2、射频工程师。 RF,RadioFrequency,就是负责无线射频技术。 这行当可就深了,首先一般从事RF的都是微波专业的,也就是学电磁场与电磁波专业,这专业学通信的都知道,巨费脑细胞,反正答主当年上课全是在当听天书。 但是这个行业潜力巨大,RFID是风头正好的物联网的基础核心,如果射频工程师硬件好,同时软件也会,那完全就是各大射频芯片制造公司的抢手山芋,薪水让你掉下巴,我一师姐就在武汉的一个芯片公司,月薪接近3W,注意,是在武汉。 所以微波专业的同学硬件是一定要懂的,因为据我的所见射频工程师天天都在调各种板子,如果软件功底够好那完全衣食无忧。

3、FPGA工程师。 这个在通信行业很重要,因为数据转发不是靠芯片就是靠这个,因为FPGA是并行运算,速度够快,比如像OAM这类保护倒换就必须用FPGA来实现发包,这样才能达到时间性能需求。 同时FPGA可以用来实现芯片功能,比如我现在所在的公司就有很多FPGA工程师开发公司自己的转发芯片。 FPGA用的是VHDL硬件语言,而且数电模电功底要扎实。

4、PCB制板工程师。 就是画电路板,这个一般的硬件工程师都会,但是大点的公司里面都有专门的PCB专项组,专门从事PCB布线工作。

三、非研发类

1、销售。 大家都知道,每个行业都少不了销售。 如果嘴皮子好,性格比较外向的同学可以从事这方面的工作。 销售做好了不缺银子,我一大学寝室哥们在深圳从事某品牌手机销售工作,四年了现在是东南亚的区域代理,而且经常出入泰国(你懂的),逍遥的很。 但是不要以为销售不用懂技术,最起码那些通信的具体参数你要能脱口成章吧。 更懂技术的销售才是通信行业的好销售。

2、文档工程师。 就是写文档喽,公司的设备都需要指导手册来指导用户进行操作呀。 这个岗位英语一定要好,因为文档一般都会写中英文双份。 沟通能力也要好,各种功能的实现你要找相应的工程师来了解才能制定文档。 所以这岗位我觉得比较适合女生,本来就是个笔头功夫,而且在狼多肉少的通信公司,一个女生去进行各种功能沟通会很受欢迎的哦,嘿嘿。 工作量的话看情况,设备不复杂就还好,如果需要写大型通信设备比如什么高端交换机之类的文档,可能会稍微大点,一本手册就是一本厚厚的书,但是第一版写完之后也就轻松了。

3、预研部门。 这个部门在稍微大一点的通信设备公司都有,就是通过市场调查,来找出最符合公司下一步产品的技术和功能,然后制定各种计划给研发部门来实现。 这个也比较适合女生(这个部门我不是很清楚,大致是这样,如果有错误请原谅并指出)。

4、测试工程师。 在通信设备厂商,测试是一个很重要的部门,人数有可能比研发的还多,因为测试部门包揽着公司所有设备的测试工作,如果设备种类较多,设备功能较大,测试部门就有的忙了。 测试工作的话不用怎么懂编程,设备每个功能的研发人员会提供相关的测试文档,或者有相关的测试标准(比如移动选型测试标准),照着这些资料进行配置,然后检查结果就OK了,如果没通过就找相应的研发人员解决。 所以研发工程师打交道最多的就是测试工程师了,你们的关系一定要好哦,么么哒。 现在的测试很多都是自动化脚本了,所以最好会一门相关的脚本语言,比如Python。 工作量的话不好说,就我的经验,小公司还好,但是大型通信公司测试相当累,要陪着研发加班,设备超多,有的公司为了防止机房着火甚至每天还要安排测试人员通宵守着,而且机房里的设备很多,噪声超大,即使带上耳塞也会很烦躁,反正我如果在里面呆上半个小时就受不了了,不敢想那些测试人员怎么可以一呆那么长时间。 因为不用编码,不怎么费脑细胞,比较适合女生。

小编总结

通信技术的研究领域逐渐在扩大,也就意味着我们的生活已经离不开通信技术给我们带来的便利。 所以我们更需要加倍的努力,来赶上社会的进步,不要被社会的竞争所淘汰。

美国那些大学的软件专业很厉害

斯坦福,伯克利,麻省理工,卡内基*梅隆 Stanford(斯坦福)的CS是个很大的 CS,拥有40人以上的资深教员,其中不乏响当当硬梆梆的图灵奖得主(Edward A .Feigenbaum , John McCarthy)和各个学科领域的大腕人物,比如理论方面的权威DonaldE.K nuth;数据库方面的大牛Je ffre yD.Ullm an(他还写过那本著名的编译原理,此人出自Princeton);以及R ISC技术挑头人之一的John Henn e ssy。 相信 CS的同学对此并不陌生。 该系每年毕业30多名Ph.D.以及更多的Master。 学生的出路自然是如鱼得水,无论学术界还是工业界,Stanford的学生倍受青睐。 几乎所有前十的 CS中都有Stanford的毕业生在充当教授。 当然同样享有如此地位的还包括其他三头巨牛:UC .Berkeley, MIT和CMU。 毕业于U. of Utah的Jim Clark曾经在Stanford CS当教授。 后来就是这个人创办了高性能计算机和科学计算可视化方面巨牛的SGI公司。 SUN公司名字的来历是:Stanford University Network .。 顺便提一下,创办YAHOO的华人杨致远曾在斯坦福的 EE攻读博士,后来中途辍学办了YAHOO。 CS科研方面,斯坦福无论在理论、数据库、软件、硬件和AI等各个领域都是实力强劲的顶级高手。 斯坦福的RISC技术后来成为SGI / MIPS的Rx000系列微处理器的核心技术;DASH,FLASH项目更是多处理器并行计算机研究的前沿;SU IF并行化编译器成为国家资助的重点项目,在国际学术论文中SU IF编译器的提及似乎也为某些平庸的论文平添几分姿色。 Stanford有学生多,其中研究生7000多。 CS有175人攻读博士,350人攻读硕士,每年招的学生数不详,估计少不了,但不要忘了,每年申请 CS的申请学生接近千人。 申请费高达90$。 斯坦福大学位于信息世界的心脏地带———硅谷。 加州宜人的气候,美丽的风景使得Stanford堪称CS的天堂。 33.1平方公里的校园面积怕是够学子们翻江蹈海、叱咤风云的了。 申请斯坦福是很难成功的,但也并非不可为之。 去斯坦福这样的牛校,运气很重要,牛人的推荐也很重要。 附:总的来说,前20的 CS可以分成三波: 一、4个最为优秀的 CS Program � Stanford,UC. Berkeley, MIT, CMU 二、6个其他前十的:UIUC,Cornell,U.of Washington ,Prin ce ton,U. of Tex as-Austin和U. of Wisconsin -Madison,其中UIUC, C ornell,U. of Washington和UW -Madison几乎从未出过前十名。 三、其他非常非常优秀的 CS:CalTech,U. of MarylandatCP, UCLA, Brown, Harvard,Yale, GIT, Purdue, Rice,和U. of Michigan. (注:CS=计算机科学系) 自20世纪40年代世界第一台现代计算机在美国诞生以来,美国一直执全球计算机学界之牛耳,这同时也是美国计算机产业界占据绝对优势的重要原因之一。 我们引进的教材中绝大多数也都来自美国。 计算机学科仍然在高速发展,与此对应的计算机人才培养模式也在不断变化,密切关注和跟踪国外尤其是美国名校的教学新动态,应该是非常有意义的。 本文即选择了美国计算机学科最负盛名的五所高校,对目前各校计算机科学(Computer Science)专业的本科教学体系进行了一些分析。 斯坦福大学斯坦福大学拥有独立的计算机科学系。 浏览该校的教学手册,最具特色的恐怕要算多门科普性计算机知识讲座了,一般有两到三个单元,涉及面非常之广,从量子计算到数字演员,从计算科学的伟大思想到网络安全,从网上拍卖到使用元编译发现大型开放源代码软件中的大量错误,其中还不乏对技术乌托邦、斯诺“两种文化”、计算机面临的困境以及迅速发展所带来的诸多问题的思考。 开课的老师阵容强大,基本上都是响当当的名教授,甚至包括图灵奖得主John McCarthy。 用这种讲座代替计算机科学导论性质的专门课程,可以充分展示计算机科学的丰富内涵,使学生较早地了解学科的轮廓和脉络,对于开阔学生视野,启发学生的学习兴趣也大有好处。 由于美国大学中专业的选择非常灵活,而近年来计算机学科招生受行业影响流失严重(这种情况甚至惊动了比尔·盖茨,今年微软到各大高校招兵买马时,他每站必到,利用自己的明星效应,大讲计算机学科的美妙前景),可以想象,这种讲座同样也肩负着吸引学生选择计算机专业的重大使命。 斯坦福大学典型的低年级课程设置如表1所示。 表1 斯坦福大学低年级主要课程设置数学(至少23个单元)数学 41(课程号,下同) 微积分 I 5数学 42 微积分 II 5统计 116 概率论 3~5计算机 103 离散结构 4或6以下任选两门:数学 51 微积分 5数学 103/113 线性代数 3数学 109 应用群论 3计算机 157 逻辑和自动推理 4计算机 205 机器人、视觉和图形学数学方法 3科学(至少11个单元)物理 53 力学 4物理 55 电磁学 4其他工程基础(至少13个单元)计算机 106 程序设计抽象/方法学 5工程 40 电子学基础 5选修课技术与社会(3~5个单元) 进一步的课程设置如表2所示。 表2 斯坦福大学高年级主要课程设置程序设计(2门课)计算机 107(课程号,下同) 程序设计范型5计算机 108 面向对象系统设计 4理论(2门课)计算机 154 自动机与复杂性理论 4计算机 161 算法的设计与分析 4系统(3门课)电子电气 108B或282 数字系统或计算机体系结构 4计算机 编译原理 3计算机 计算机网络 3计算机 操作系统 3应用(选2门课)计算机 人工智能 3~4计算机 数据库 3计算机 图形学 3项目(1门课)计算机 至少3个单元限选课(多门) 加州大学伯克利分校伯克利的课程设置也有很多独树一帜的地方,尤其是在专业基础课方面,除了有专业导引课程“计算机科学专题”之外,对于没有编程经验的学生,第一门编程课是符号编程入门,采用LISP语言。 有一定编程经验或者有自学能力的学生,可以选择多种语言和环境的自主学习(Self-paced)课程,包括C、Fortran、C++、Java,以及UNIX的使用等,这种多元化与伯克利计算机科学与电子电气工程同系有关。 但是所有学生在第二学期都要学习一组独特的基础课:61A“计算机程序的结构与解释”,采用MIT Abelson等编著的同名教材(中译本机械工业出版社出版,清华大学出版社出版了影印版);61B“数据结构”(教材采用自编讲义);61C“计算机结构”(Machine Structures),采用Hennessy的《计算机组织与设计》(中译本清华大学出版社出版,机械工业出版社出版了影印版)。 这项规定就是转校生也不例外,可见其中蕴涵了伯克利多年的教学经验结晶。 伯克利其他比较有特点的课程还有:将离散数学和概率论结合讲授的CS70,主讲是名教授Christos Papadimitriou;CS98-1 编程练习课,以主要大学生编程竞赛中的赛题为授课素材;CS 169 软件工程直接用Kent Beck的《极限编程》(人民邮电出版社出版了中译本)作为教材,非常超前,但是既然连Pressman的《软件工程:实践者方法》新版中敏捷方法都已经成为重头戏,既然IEEE都已经开始制定敏捷方法相关标准,这种课程选材也就不显得那么骇世惊俗了。 除了软件工程课程常见内容外,教学侧重实际,贯穿了极限编程的思想,涵盖UML、JUnit单元测试、软件架构、设计模式和反模式、重构、CVS版本控制、系统和集成测试,最后要求完成一个实际产品,并进行演示。 UIUC(伊利诺依大学厄巴尼-香槟分校)UIUC的计算机科学专业创建于1972年,到1986年基本定型,十多年来几乎没有什么变化。 其教学体系如图1所示。 图1UIUC改革前的计算机科学课程体系其中,数值分析方向课程中,Math225为矩阵论,CS257为数值方法,CS35x代表数值分析导论、常微分数值方法、偏微分与数值逼近和数值线性代数;理论方向课程中,CS173为离散结构,CS273为计算理论,CS37x包括算法、形式方法、程序验证;人工智能方向课程中,CS348为人工智能导论,CS34x包括机器人、机器学习与模式识别;软件方向,CS125为计算机科学导论,CS225为数据结构与软件工程原理,CS31x包括数据库、图形学、多媒体,CS32x包括软件工程、操作系统设计、分布式系统、编程语言与编译器、并行计算、实时系统、编译器构造、编程语言设计;硬件方向课程中,CS231为计算机体系结构I,CS232为计算机体系结构II,CS33x包括计算机组成、VLSI系统与逻辑设计、VLSI系统设计、通信网络、嵌入式体系架构与软件。 可以看到,处在图1中最下面的课程基本上都是在多门中选择一至三门,整个体系脉络清晰,具有很高的灵活性。 与斯坦福不同的是,UIUC的计算机科学导论课程比较简单,只有一门为新生开的计算机科学导向课(CS100),而且并非必修。 名为“计算机科学导论”的CS125实际上是以Java语言为主的编程入门课,涵盖了一些算法的内容。 此外还有与之配套的实验课。 当然,系里所开的许多面向高年级和研究生层次的讲座是对低年级开放的。 2003年,在工程院院长David Daniel的倡导下,计算机系对教学计划进行了改革,以反映目前社会、行业和技术的发展趋势。 主要的变化有:*在必修要求中增加了两门编程课:CS241 系统编程,采用Gary Nutt的《操作系统》作为主教材,Stevens的《Unix环境高级编程》作为编程教材;CS242 程序设计实验(Programming Studio),教学大纲基本上以Kernighan的《程序设计实践》为蓝本(以上教材机械工业出版社均出版了中译本和影印版)。 *必修要求中增加了一年的高级项目,强调团队合作和软件工程实践,包括文档写作、口头表达、项目规划与管理等,实际上是在实践中学习软件工程。 这门课也可以用两学期的软件工程或者一年的高级论文代替。 仍然充分保留了灵活性,有利于因材施教。 *增加了CS173 离散结构的学时,部分原CS273的内容移到这里,同时CS273又新增了原CS375的内容。 这实际上是提高了对计算机理论的要求。 CMU(卡内基梅隆大学)与MIT、伯克利等学校计算机科学仍然和电子与电气工程同处一系不同,CMU的计算机科学系成立于1965年,是全美最早的,如今它已经升格为计算机科学学院。 其研究生项目中除了机器人方向与硬件关系较多之外,其他基本上都是纯软的。 从这个意义上来说,CMU的教学体系对于偏软的计算机科学系应该有较大的借鉴意义。 CMU的教学手册上没有从传统意义上针对计算机科学专业学生的导论课,虽然有名为“计算机科学伟大思想”的两学期课程,但是从内容上看应该是离散数学的替代,因为此外CMU并没有其他离散数学方面的课程。 此课程没有教材,内容比传统离散数学要灵活得多,涉及概率、代数、算法、加密理论、复杂性理论、博弈论等,非常注重学习的趣味性和实用性。 与其他名校相同,CMU对程序设计的重视也给人留下很深印象:本土新生的第一堂课就是“初中级程序设计”,直接讲授Java。 然后是中高级程序设计(Java)、C语言编程技巧、高级编程实践(Java)、程序设计原理(用SML语言讲授)。 目前计算机科学专业教学计划中的一个难点,是硬件课程的设置问题。 硬件知识体系本身非常丰富,但是硬件课程多了,又削弱了计算机科学专业的特色。 CMU在这一问题上是怎样处理的呢?计算机科学学院的现任院长Randal E. Bryant 亲自给出了回答,他用15~213“计算机系统导论”一门课(12个单元)完成了硬件知识的教学。 这项教学改革的成果就是一本厚达900多页的书:《Computer Systems: A Programmers Perspective》(中译本《深入理解计算机系统》已经由中国电力出版社出版)一书。 他在该书的序言中说:“本课程的宗旨是用一种不同的方式向学生介绍计算机。 因为,我们的学生中几乎没有人有机会构造计算机系统。 而大多数学生,甚至是计算机工程师,也要求能日常使用计算机和编写计算机程序。 所以我们决定从程序员的角度来讲解系统,并采用这样的过滤方法:我们只讨论那些影响用户级C程序的性能、正确性或实用性的主题。 比如,我们排除了诸如硬件加法器和总线设计这样的主题。 虽然我们谈及了机器语言,但是不关注如何编写汇编语言,而是关心编译器怎样翻译C的各种构造,比如指针、循环、过程调用和返回,以及switch语句。 更进一步,我们将更广泛和现实地看待系统,包括硬件和系统软件,讨论链接、加载、进程、信号、性能优化、评估、I/O以及网络与并发编程。 这种做法使得我们讲授本课程的方式对学生来讲既实用、具体,又能实践,同时也非常利于调动学生的积极性。 ”网站上的一些随书配套实验,也独具匠心。 因此此书的成功是水到渠成的。 根据配套网站上的列表,它已经被全球80多所院校采用作为教材。 MIT(麻省理工学院)MIT的课程设置,只能用其学生起点高来解释。 该校没有典型意义上的计算机科学专业,偏软的只有理论计算机科学和人工智能及其应用两个专业。 因此没有类似于其他学校的导论课程。 在MIT的电子电气工程与计算机科学系中,所有学生都要参加如下四门课程:6.001“计算机程序的结构与解释”,当然与伯克利相同,采用的是Abelson等编著的同名教材;6.002“电路与电子学”;6.003“信号与系统”(自编讲义);6.004 “计算结构”(Computation Structures),与伯克利的61C“计算机结构”对等(教材是自编课件)。 此外有两门专业基础数学课:“概率系统分析”(教授自编教材)和“计算机科学数学”,后者的教材是国外院校普遍采用的Rosen所著《离散数学及其应用》(中文版由机械工业出版社出版)。 对MIT的学生而言,实验课程有多种选择:电气工程和计算机科学实验,模拟电子实验,数字系统实验,微机项目实验,半导体设备项目实验。 此外,无论何种专业,都有软件工程实验课。 值得注意的是,本科生各专业的必修课程中并没有软件工程课程。 也就是说,软件工程的内容都在实践中完成了。 带软件工程实验课的是因为提出Liskov替换原则而知名的女教授Barbara Liskov,她刚刚获得了2004年度的冯·诺依曼奖。 作为美国工程院和艺术科学院的双院士,她几十年在软件开发研究方面的经验,将有力地保证这门实验课程的质量。

© 版权声明
评论 抢沙发
加载中~
每日一言
不怕万人阻挡,只怕自己投降
Not afraid of people blocking, I'm afraid their surrender