1. 美国 留学计算机专业有哪些学校
1、美国斯坦福大学计算机专业
斯坦福大学拥有独立的计算机科学系。浏览该校的教学手册,最具特色的恐怕要算多门科普性计算机知识讲座了,一般有两到三个单元,涉及面非常之广,从量子计算到数字演员,从计算科学的伟大思想到网络安全,从网上拍卖到使用元编译发现大型开放源代码软件中的大量错误,其中还不乏对技术乌托邦、斯诺“两种文化”、计算机面临的困境以及迅速发展所带来的诸多问题的思考。开课的老师阵容强大,基本上都是响当当的名教授,甚至包括图灵奖得主John McCarthy。用这种讲座代替计算机科学导论性质的专门课程,可以充分展示计算机科学的丰富内涵,使学生较早地了解学科的轮廓和脉络,对于开阔学生视野,启发学生的学习兴趣也大有好处。由于美国大学中专业的选择非常灵活,而近年来计算机学科招生受行业影响流失严重(这种情况甚至惊动了比尔•盖茨,2004年微软到各大高校招兵买马时,他每站必到,利用自己的明星效应,大讲计算机学科的美妙前景),可以想象,这种讲座同样也肩负着吸引学生选择计算机专业的重大使命。
2、美国加州大学伯克利分校计算机专业
伯克利的课程设置也有很多独树一帜的地方,尤其是在专业基础课方面,除了有专业导引课程“计算机科学专题”之外,对于没有编程经验的学生,第一门编程课是符号编程入门,采用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版本控制、系统和集成测试,最后要求完成一个实际产品,并进行演示。
3、美国UIUC(伊利诺依大学厄班纳-香槟分校)计算机专业
UIUC的计算机科学专业创建于1972年,到1986年基本定型,十多年来几乎没有什么变化。其中,数值分析方向课程中,Math225为矩阵论,CS257为数值方法,CS35x代表数值分析导论、常微分数值方法、偏微分与数值逼近和数值线性代数;
理论方向课程中,CS173为离散结构,CS273为计算理论,CS37x包括算法、形式方法、程序验证;
人工智能方向课程中,CS348为人工智能导论,CS34x包括机器人、机器学习与模式识别;
软件方向,CS125为计算机科学导论,CS225为数据结构与软件工程原理,CS31x包括数据库、图形学、多媒体,CS32x包括软件工程、操作系统设计、分布式系统、编程语言与编译器、并行计算、实时系统、编译器构造、编程语言设计;
硬件方向课程中,CS231为计算机体系结构I,CS232为计算机体系结构II,CS33x包括计算机组成、VLSI系统与逻辑设计、VLSI系统设计、通信网络、嵌入式体系架构与软件。
4、美国CMU(卡内基梅隆大学)计算机专业
与MIT、伯克利等学校计算机科学仍然和电子与电气工程同处一系不同,CMU的计算机科学系成立于1965年,是全美最早的,如今它已经升格为计算机科学学院。其研究生项目中除了机器人方向与硬件关系较多之外,其他基本上都是纯软的。从这个意义上来说,CMU的教学体系对于偏软的计算机科学系应该有较大的借鉴意义。
CMU的教学手册上没有从传统意义上针对计算机科学专业学生的导论课,虽然有名为“计算机科学伟大思想”的两学期课程,但是从内容上看应该是离散数学的替代,因为此外CMU并没有其他离散数学方面的课程。此课程没有教材,内容比传统离散数学要灵活得多,涉及概率、代数、算法、加密理论、复杂性理论、博弈论等,非常注重学习的趣味性和实用性。
与其他名校相同,CMU对程序设计的重视也给人留下很深印象:本土新生的第一堂课就是“初中级程序设计”,直接讲授Java。然后是中高级程序设计(Java)、C语言编程技巧、高级编程实践(Java)、程序设计原理(用SML语言讲授)。
目前计算机科学专业教学计划中的一个难点,是硬件课程的设置问题。硬件知识体系本身非常丰富,但是硬件课程多了,又削弱了计算机科学专业的特色。CMU在这一问题上是怎样处理的呢?计算机科学学院的现任院长Randal E. Bryant 亲自给出了回答,他用15~213“计算机系统导论”一门课(12个单元)完成了硬件知识的教学。这项教学改革的成果就是一本厚达900多页的书:《Computer Systems: A Programmer's Perspective》。他在该书的序言中说:
“本课程的宗旨是用一种不同的方式向学生介绍计算机。因为,我们的学生中几乎没有人有机会构造计算机系统。而大多数学生,甚至是计算机工程师,也要求能日常使用计算机和编写计算机程序。所以我们决定从程序员的角度来讲解系统,并采用这样的过滤方法:我们只讨论那些影响用户级C程序的性能、正确性或实用性的主题。
比如,我们排除了诸如硬件加法器和总线设计这样的主题。虽然我们谈及了机器语言,但是不关注如何编写汇编语言,而是关心编译器怎样翻译C的各种构造,比如指针、循环、过程调用和返回,以及switch语句。更进一步,我们将更广泛和现实地看待系统,包括硬件和系统软件,讨论链接、加载、进程、信号、性能优化、评估、I/O以及网络与并发编程。
这种做法使得我们讲授本课程的方式对学生来讲既实用、具体,又能实践,同时也非常利于调动学生的积极性。”
5、美国MIT(麻省理工学院)计算机专业
MIT的课程设置,只能用其学生起点高来解释。该校没有典型意义上的计算机科学专业,偏软的只有理论计算机科学和人工智能及其应用两个专业。因此没有类似于其他学校的导论课程。
在MIT的电子电气工程与计算机科学系中,所有学生都要参加如下四门课程:6.001“计算机程序的结构与解释”,当然与伯克利相同,采用的是Abelson等编着的同名教材;6.002“电路与电子学”;6.003“信号与系统”(自编讲义);6.004 “计算结构”(Computation Structures),与伯克利的61C“计算机结构”对等。此外有两门专业基础数学课:“概率系统分析”和“计算机科学数学”,后者的教材是国外院校普遍采用的Rosen所着《离散数学及其应用》。
2. 雅虎是哪个国家的
雅虎历史及概况
正如计算机时代的很多新事物一样,Yahoo!起源于一个想法,随后变成一种业余爱好,最终成了使人全身心投入的一项事业。Yahoo!的两位创始人杨致远(Jerry Yang)和大卫 费洛(David Filo),美国斯坦福大学电机工程系的博士生,于1994年4月建立了自己的网络指南信息库,将其作为记录他们个人对互联网的兴趣的一种方式。但是不久,他们就发现他们自己编写的列表变得很长,不便于处理。于是他们开始在Yahoo!身上花费越来越多的时间。
1994年,他们将Yahoo!变成了一个可定制的数据库,旨在满足成千上万的、刚刚开始通过互联网社区使用网络服务的用户的需要。他们开发了可定制的软件,帮助他们有效地查找、识别和编辑互联网上存储的资料。
Yahoo!的含义是“另一个层次化的、非正式的预言”,但是大卫?费罗和杨致远更愿意说,他们之所以选择这个名称是因为他们认为自己是yahoo (野蛮人)。最初Yahoo!存放在杨致远的学生工作站“akebono”上,而搜索引擎存放在Filo的计算机“konishiki”上。(这些计算机的名称都来自于一些具有传奇色彩的夏威夷摔交手)
1995年初,Netscape Communications 公司(位于加州Mountain View)的联合创始人之一Marc Andreessen邀请大卫?费罗和杨致远将他们的文件转移到Netscape公司提供的更大的计算上。这一做法不仅使斯坦福大学的计算机网络恢复了正常,而且令双方都有所受益。
3. 美国计算机图形学不错的大学有哪些
1、美国斯坦福大学计算机专业
斯坦福大学拥有独立的计算机科学系。浏览该校的教学手册,最具特色的恐怕要算多门科普性计算机知识讲座了,一般有两到三个单元,涉及面非常之广,从量子计算到数字演员,从计算科学的伟大思想到网络安全,从网上拍卖到使用元编译发现大型开放源代码软件中的大量错误,其中还不乏对技术乌托邦、斯诺“两种文化”、计算机面临的困境以及迅速发展所带来的诸多问题的思考。开课的老师阵容强大,基本上都是响当当的名教授,甚至包括图灵奖得主John McCarthy。用这种讲座代替计算机科学导论性质的专门课程,可以充分展示计算机科学的丰富内涵,使学生较早地了解学科的轮廓和脉络,对于开阔学生视野,启发学生的学习兴趣也大有好处。由于美国大学中专业的选择非常灵活,而近年来计算机学科招生受行业影响流失严重(这种情况甚至惊动了比尔•盖茨,2004年微软到各大高校招兵买马时,他每站必到,利用自己的明星效应,大讲计算机学科的美妙前景),可以想象,这种讲座同样也肩负着吸引学生选择计算机专业的重大使命。
4. 急~~~~~ 用英语写个书面通知 主题 计算机的用途和利用网络进行学习专题讲座
Jisuanji de yongtu he liyong wangluo jinxing xuexi zhuanti jiangzuo
zhujiangren beijingdaxue zhangjiaoshou
shijian shieryueliuri (xingqiri) shangwujiudian
didian tushuguan silou baogaoting
canjiazhe diannaoaihaozhe
qitashixiang qijian kexiang zhangjiaoshou tiwen
zhuban xueshenghui
xie tong shijian shieryueyiri (xingqiyi)
5. 计算机考研哪里培训好呢,最好是网校
在大纲出来之前能把四本书从头到尾细看一遍,对每一门课掌握一个完整的体系结构,并建议每一科准备一个笔记本,在看书的同时把重要的知识点抄下来。操作系统和组成原理,基本概念名词术语比较多,进行归类整理。对于数据结构,最好把一些经典算法也写在笔记上,适当注释,以后再看笔记进展会快很多。 多做一些习题,书后的习题、题集上的题目,还有往年试题,有些经典题目要做多遍。
计算机考研专业课知识点分析:操作系统【视频讲座】
地址:http://..com/question/94887278.html
计算机考研专业课知识点分析:数据结构【视频讲座】
地址:http://..com/question/94887278.html
计算机考研专业课知识点分析:计算机网络【视频讲座】
地址:http://..com/question/94887278.html
计算机考研专业课知识点分析:计算机组成原理【视频讲座】
地址:http://..com/question/94887278.html
6. 计算机网络是如何跨越山川,海洋,陆地,构成全球internet网络呢
互联网始于1969年的美国,又称因特网。是美军在ARPA(阿帕网,美国国防部研究计划署)制定的协定下将美国西南部的大学UCLA(加利福尼亚大学洛杉矶分校)、Stanford ResearchInstitute(斯坦福大学研究学院)、UCSB(加利福尼亚大学)和UniversityofUtah(犹他州大学)的四台主要的计算机连接起来。这个协定由剑桥大学的BBN和MA执行,在1969年12月开始联机。
1968年
1968年,参议员TedKennedy(特德.肯尼迪)听说BBN赢得了ARPA协定作为内部消息处理器(IMP),特德.肯尼迪向BBN发送贺电祝贺他们在赢得“内部消息处理器”协议中表现出的精神。
1978年
1978年,UUCP(UNIX和UNIX拷贝协议)在贝尔实验室被提出来,1979年,在
互联网时代
UUCP的基础上新闻组网络系统发展起来。新闻组(集中某一主题的讨论组)紧跟着发展起来,它为在全世界范围内交换信息提供了一个新的方法。然而,新闻组并不认为是互联网的一部分,因为它并不共享TCP/IP协议,它连接着遍布世界的UNIX系统,并且很多互联网站点都充分地利用新闻组。新闻组是网络世界发展中的非常重大的一部分。
第一个检索互联网的成就是在1989年发明出来,是由PeterDeutsch和他
title
的全体成员在Montreal的McFillUniversity创造的,他们为FTP站点建立了一个档案,后来命名为Archie。这个软件能周期性地到达所有开放的文件下载站点,列出他们的文件并且建立一个可以检索的软件索引。检索Archie命令是UNIX命令,所以只有利用UNIX知识才能充分利用他的性能。
McFill大学,拥有第一个Archie的大学,发现每天从美国到加拿大的通讯中有一半的通信量访问Archie。学校关心的是管理程序能否支持这么大的通讯流量,因此只好关闭外部的访问。幸运的是当时有很多很多的Archie可以利用。
BrewsterKahle,当时是在ThinkingMachines(智能计算机)发明了WAIS(广域网信息服务),能够检索一个数据库下所有文件和允许文件检索。根据复杂程度和性能情况不同有很多版本,但最简单的可以让网上的任何人可以利用。在它的高峰期,智能计算机公司维护着在全世界范围内能被WAIS检索的超过600个数据库的线索。包括所有的在新闻组里的常见问题文件和所有的正在开发中的用于网络标准的论文文档等等。和Archie一样,它的接口并不是很直观,所以要想很好的利用它也得花费很大的工夫。
1989年
1989年,在普及互联网应用的历史上又一个重大的事件发生了。TimBe
互联网的标志
rners和其他在欧洲粒子物理实验室的人----这些人在欧洲粒子物理研究所非常出名,提出了一个分类互联网信息的协议。这个协议,1991年后称为WorldWideWeb,基于超文本协议――在一个文字中嵌入另一段文字的-连接的系统,当你阅读这些页面的时候,你可以随时用他们选择一段文字链接。尽管它出现在gopher之前,但发展十分缓慢。
由于最开始互联网是由政府部门投资建设的,所以它最初只是限于研究部门、学校和政府部门使用。除了以直接服务于研究部门和学校的商业应用之外,其它的商业行为是不允许的。90年代初,当独立的商业网络开始发展起来,这种局面才被打破。这使得从一个商业站点发送信息到另一个商业站点而不经过政府资助的网络中枢成为可能。
1991年
1991年,第一个连接互联网的友好接口在Minnesota大学被开发出来。当时学校只是想开发一个简单的菜单系统可以通过局域网访问学校校园网上的文件和信息。紧跟着大型主机的信徒和支持客户-服务器体系结构的拥护
因特网(8张)
者们的争论开始了。开始时大型主机系统的追随者占据了上风,但自从客户-服务器体系结构的倡导者宣称他们可以很快建立起一个原型系统之后,他们不得不承认失败。客户-服务器体系结构的倡导者们很快作了一个先进的示范系统,这个示范系统叫做Gopher。这个Gopher被证明是非常好用的,之后的几年里全世界范围内出现10000多个Gopher。它不需要UNIX和计算机体系结构的知识。在一个Gopher里,你只需要敲入一个数字选择你想要的菜单选项即可。今天你可以用theUofMinnesotagopher选择全世界范围内的所有Gopher系统。
当University of Nevada(内华达州立大学)的Reno创造了VERONICA(通过
互联网应用示例
Gopher使用的一种自动检索服务),Gopher的可用性大大加强了。它被称为VeryEasyRodent-的首字母简称。遍布世界的gopher象网一样搜集网络连接和索引。它如此的受欢迎,以致很难连接上他们,但尽管如此,为了减轻负荷大量的VERONICA被开发出来。类似的单用户的索引软件也被开发出来,称做JUGHEAD().
Archie的发明人PeterDeutsch,一直坚持Archie是Archier的简称。当VERONICA和JUGHEAD出现的时候,表示出非常的厌恶。[3-4]
7. 留学美国大学本科计算机系需要什么条件
20 世纪40年代世界第一台现代计算机在美国诞生以来,美国一直执全球计算机学界之
牛耳,这同时也是美国计算机产业界占据绝对优势的重要原因之一。我们成批量地引进
的国外众多优秀教材绝大多数也都来自美国。计算机学科仍然在高速发展,与此对应的
计算机人才培养模式也在不断变化,密切关注和跟踪国外尤其是美国名校的教学新动态
乃至培养思路和教育思想,应该是非常有意义的。
本文即选择了美国计算机学科最负盛名的五所高校,对目前各校计算机科学(Computer
Science)专业的本科教学体系进行了一些分析。
斯坦福大学
斯坦福大学拥有独立的计算机科学系。浏览该校的教学手册,最具特色的恐怕要算多门
科普性计算机知识讲座了,一般有两到三个单元,涉及面非常之广,从量子计算到数字
演员,从计算科学的伟大思想到网络安全,从网上拍卖到使用元编译发现大型开放源代
码软件中的大量错误,其中还不乏对技术乌托邦、斯诺“两种文化”、计算机面临的困
境以及迅速发展所带来的诸多问题的思考。开课的老师阵容强大,基本上都是响当当的
名教授,甚至包括图灵奖得主John McCarthy。用这种讲座代替计算机科学导论性质的专
门课程,可以充分展示计算机科学的丰富内涵,使学生较早地了解学科的轮廓和脉络,
对于开阔学生视野,启发学生的学习兴趣也大有好处。由于美国大学中专业的选择非常
灵活,而近年来计算机学科招生受行业影响流失严重(这种情况甚至惊动了比尔·盖茨,
2004年微软到各大高校招兵买马时,他每站必到,利用自己的明星效应,大讲计算机学
科的美妙前景),可以想象,这种讲座同样也肩负着吸引学生选择计算机专业的重大使命
。
斯坦福大学典型的低年级课程设置如表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所示。
图1 UIUC改革前的计算机科学课程体系
其中,数值分析方向课程中,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 程序设计实验(Progr
amming Studio),教学大纲基本上以Kernighan的《程序设计实践》为蓝本(以上教材机
械工业出版社均出版了中译本和影印版)。
* 必修要求中增加了一年的高级项目,强调团队合作和软件工程实践,包括文档写作、
口头表达、项目规划与管理等,实际上是在实践中学习软件工程。这门课也可以用两学
期的软件工程或者一年的高级论文代替。仍然充分保留了灵活性,有利于因材施教。
* 增加了CS173 离散结构的学时,部分原CS273的内容移到这里,同时CS273又新增了原C
S375的内容。这实际上是提高了对计算机理论的要求。
* 在专业课程中增加了数据挖掘、信息检索和高级图形学。
CMU(卡内基梅隆大学)
与MIT、伯克利等学校计算机科学仍然和电子与电气工程同处一系不同,CMU的计算机科
学系成立于1965年,是全美最早的,如今它已经升格为计算机科学学院。其研究生项目
中除了机器人方向与硬件关系较多之外,其他基本上都是纯软的。从这个意义上来说,C
MU的教学体系对于偏软的计算机科学系应该有较大的借鉴意义。
CMU 的教学手册上没有从传统意义上针对计算机科学专业学生的导论课,虽然有名为“
计算机科学伟大思想”的两学期课程,但是从内容上看应该是离散数学的替代,因为此
外CMU并没有其他离散数学方面的课程。此课程没有教材,内容比传统离散数学要灵活得
多,涉及概率、代数、算法、加密理论、复杂性理论、博弈论等,非常注重学习的趣味
性和实用性。
与其他名校相同,CMU对程序设计的重视也给人留下很深印象:本土新生的第一堂课就是
“初中级程序设计”,直接讲授Java。然后是中高级程序设计(Java)、C语言编程技巧、
高级编程实践(Java)、程序设计原理(用SML语言讲授)。
目前计算机科学专业教学计划中的一个难点,是硬件课程的设置问题。硬件知识体系本
身非常丰富,但是硬件课程多了,又削弱了计算机科学专业的特色。CMU在这一问题上是
怎样处理的呢?计算机科学学院的现任院长Randal E. Bryant 亲自给出了回答,他用15
~213“计算机系统导论”一门课(12个单元)完成了硬件知识的教学。这项教学改革的成
果就是一本厚达900多页的书:《Computer Systems: A Programmer's Perspective》(
中译本《深入理解计算机系统》已经由中国电力出版社出版)一书。他在该书的序言中说
:
“本课程的宗旨是用一种不同的方式向学生介绍计算机。因为,我们的学生中几乎没有
人有机会构造计算机系统。而大多数学生,甚至是计算机工程师,也要求能日常使用计
算机和编写计算机程序。所以我们决定从程序员的角度来讲解系统,并采用这样的过滤
方法:我们只讨论那些影响用户级C程序的性能、正确性或实用性的主题。
比如,我们排除了诸如硬件加法器和总线设计这样的主题。虽然我们谈及了机器语言,
但是不关注如何编写汇编语言,而是关心编译器怎样翻译C的各种构造,比如指针、循环
、过程调用和返回,以及switch语句。更进一步,我们将更广泛和现实地看待系统,包
括硬件和系统软件,讨论链接、加载、进程、信号、性能优化、评估、I/O以及网络与并
发编程。
这种做法使得我们讲授本课程的方式对学生来讲既实用、具体,又能实践,同时也非常
利于调动学生的积极性。”
网站上的一些随书配套实验,也独具匠心。因此此书的成功是水到渠成的。根据配套网
站上的列表,它已经被全球80多所院校采用作为教材。
MIT(麻省理工学院)
MIT的课程设置,只能用其学生起点高来解释。该校没有典型意义上的计算机科学专业,
偏软的只有理论计算机科学和人工智能及其应用两个专业。因此没有类似于其他学校的
导论课程。
在MIT 的电子电气工程与计算机科学系中,所有学生都要参加如下四门课程:6.001“计
算机程序的结构与解释”,当然与伯克利相同,采用的是Abelson等编着的同名教材;6.
002“电路与电子学”;6.003“信号与系统”(自编讲义);6.004 “计算结构”(Comput
ation Structures),与伯克利的61C“计算机结构”对等(教材是自编课件)。此外有两
门专业基础数学课:“概率系统分析”(教授自编教材)和“计算机科学数学”,后者的
教材是国外院校普遍采用的Rosen所着《离散数学及其应用》(中文版由机械工业出版社
出版)。
对MIT的学生而言,实验课程有多种选择:电气工程和计算机科学实验,模拟电子实验,
数字系统实验,微机项目实验,半导体设备项目实验。此外,无论何种专业,都有软件
工程实验课。值得注意的是,本科生各专业的必修课程中并没有软件工程课程。也就是
说,软件工程的内容都在实践中完成了。带软件工程实验课的是因为提出Liskov 替换原
则而知名的女教授Barbara Liskov,她刚刚获得了2004年度的冯·诺依曼奖。作为美国
工程院和艺术科学院的双院士,她几十年在软件开发研究方面的经验,将有力地保证这
门实验课程的质量。
分析与总结
由上面的材料可以看出,各个学校的教学体系之间还是有不小差异的。这首先得归因于
历史沿革形成的专业侧重、机构设置上的不同。其中MIT算是一极,由于和电子电气专业
深深地融合,计算机专业带有很强的“硬派”色彩。而CMU可以算作另一极,计算机科学
有自己的独立学院,非常罕见,因此它的课程设置“软化严重”——与硬件相关的只用
一门课就解决了。UIUC和斯坦福由于都拥有独立的科系,所以可以归入后一阵营。伯克
利可以认为处于两极中间,但是仔细分析起来,它的计算机科学专业目前虽然仍属于电
子电气和计算机科学系,但是有相当大的独立性,1973年创立以来,一直有自己的主席
和教学安排,所以离后者更近一些。
此外,各校在专业导入课程的设置上差别也非常明显。基本上可以分为三类。按
IEEE-ACM《Computer Curricula 2001》(以下简称CC2001)的分法,斯坦福属于广度优先
(有明确的注重广度的导引课程),MIT的属于函数为先(采用函数式语言),CMU和 UIUC属
于对象为先(直接采用Java)。伯克利有些特殊,它有导引课,但是广度稍差,紧接着又
采用函数语言,同时开设学生自学为主可以任选的多种语言课程,属于混合多元型。应
该说各个学校在刚入门时如何调动学生积极性,培养对专业的感情上都有自己的思考。
无论哪种类型,将课堂变得有趣,能够容纳更多计算机科学的方面,都已经成为一种趋
势。
无论如何,各校存在的差异并不妨碍各自培养出同样优秀的人才,这也给我们提供了一
种有益的启示,办学思路和方法应该是因地制宜的。
当然,总的来说,各学校之间的共性还是主要的。归纳起来,有这么几个特点,值得我
们思考:
1. 硬件课程整体在减少
偏软类的三所院校中,CMU最为彻底,硬件课程只有一门课,而UIUC也只有两门必修(两
门体系结构),斯坦福也是两门(电子学、体系结构或数字系统)。其中的原因,前面引述
的Randal E. Bryant所言作出了解释,毕竟计算机科学需要关注的在计算机系统层次中
已经越来越高,底层越来越变得透明了。事实上,CC2001中制定的硬件课程也只有一门
。而国内目前一般还开设数字逻辑、微机原理、计算机组成与结构、微机实验等硬件类
课程。
2. 程序设计日益重视
在CMU, UIUC和斯坦福,必修的程序设计类课程往往在四五门左右。伯克利加起来也有
四门。MIT虽然没有大量前导性的编程课程,但是由于在后面计算机系统工程、计算机语
言工程、软件工程实验、Web软件工程诸课程都有实际的项目要完成,所以实际学时也很
多,UIUC的改革更说明了这一点。同时,还出现了强调提高程序设计技巧,与软件工程
环境和工具相结合,提倡团队合作,高级程序设计课程与数据结构、算法课融合的趋势
。这方面的代表有斯坦福。该校副系主任Eric Roberts曾执教入门类课程多年,总结了
一套在语言教学中融入软件工程和现代程序设计观念,结合算法和数据结构教学的经验
。其成果就是《C语言的科学和艺术》和《C程序设计的抽象思维》两本书(影印版已由机
械工业出版社出版)。作为CC2001工作组两位主席之一,他在C语言教学中强调库与接口
设计、编程风格的重要性,并进而介绍抽象、封装的概念,产生了很大影响。反观国内
目前很多学校的语言教学和程序设计教学,不仅学时偏少,与其他课程孤立,而且脱离
实际,造成语言学习和相关专业课学习都变得非常枯燥,不利于调动学生的积极性。
应该说,这些名校的教学体系、教材和经验都是丰富的宝藏,值得好好挖掘,比如每门
核心课程的教学法,实验课程的安排,各门课程的衔接,大型项目的选材等。
美国大学本科的基本入学条件是
1. 要有SAT成绩:至少1600分
2.平均分/GPA 成绩至少80分/GPA 3.0以上
3.IBT成绩85分
8. 计算机网络的由来
因特网是Internet的中文译名,它的前身是美国国防部高级研究计划局(ARPA)用于军事目的的通信网络。
20世纪60年代末,正处于冷战时期。当时美国军方为了自己的计算机网络在受到袭击时,即使部分网络被摧毁,其余部分仍能保持通信联系,便由美国国防部的高级研究计划局(ARPA)建设了一个军用网,叫做“阿帕网”(ARPAnet)。阿帕网于1969年正式启用,当时仅连接了4台计算机,供科学家们进行计算机联网实验用。这就是因特网的前身。到70年代,ARPAnet经过独断发展,又设立了新的研究项目,最终形成“互联网”。研究人员将之简称“Internet”。这个名词就一直沿用到现在。
Internet的发展引起了商家的极大兴趣,从而使Internet开始走向商业化。在最近几年,因特网更以惊人的速度向前发展,很快就达到了今天的规模。
中国互联网络的发展
第一个阶段:与INTERNET电子邮件的连通
第二个阶段:与INTERNET实现全功能的TCP/IP连接
1994年4月
中国科技网
(科技)
1995年5月
中国公用计算机互联网
(商业)
1995年11月
中国教育与科研计算机网
(教育)
1995年11月
中国金桥信息网
(商业)
计算机网络目前正处于迅速发展的阶段,网络技术的不断更新,进一步扩大了计算机网络的应用范围。计算机网络具有以下几个主要方面的应用。
(1)资源共享
利用网络将共用信息在网上发布,实现信息资源利用的最大化。
(2)信息传输
将信息利用互联网传输,实现低成本、快捷、高效,无时空间限制的传输方式。
(3)远程登录
远程登录是指允许一个地点的用户与另一个地点的计算机上运行的应用程序进行交互对话。
(4)传送电子邮件
计算机网络可以作为通信媒介,用户可以在自己的计算机上把电子邮件(E-mail)发送到世界各地,这些邮件中可以包括文字、声音、图形图像等信息。
(5)电子数据交换
电子数据交换(EDI)是计算机网络在商业中的一种重要的应用形式。它以共同认可的数据格式,在贸易伙伴的计算机之间传输数据,代替了传统的贸易单据,从而节省了大量的人力和财力,提高了效率。
(6)联机会议
利用计算机网络,人们可以通过个人计算机参加会议讨论。联机会议除了可以使用文字外,还可以传送声音和图像。
国际互联网的新功能是层出不穷的,但一般来说,各种新功能的开发都是基于以上的几个主要功能衍生、发展而来的。总之,计算机网络的应用范围非常广泛,它已经渗透到国民经济以及人们日常生活的各个方面。
9. 雅虎好像是中国的一个(好像是周鸿袆)创办的吗怎么现在说是美国雅虎公司
雅虎是美国公司,在前几年雅虎公司的中国大陆网站卖给了阿里巴巴。周鸿袆曾经担任雅虎中国总经理,但是在阿里巴巴接管雅虎中国后,周鸿袆就退出了。