【文档说明】第一讲-计算机学科发展历程课件.ppt,共(52)页,2.013 MB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-77238.html
以下为本文档部分文字说明:
计算机学科创新创业概论计算机学院卢明波2015.9第一讲:计算机学科发展历程计算机是什么?Computersareeverywhere!2022/12/11.1.1计算机产生的史前史1.算筹算筹又称为筹、策、算子等算筹在中国的起源很早中国著名科学家祖冲之(429—500年)借助算
筹作为计算工具计算出圆周率2022/12/1祖冲之(429—500年)2.算盘算盘也称珠算,是中国劳动人民创造的一种工具由古代“算筹”演变而来素有“中国计算机”之称最早见于汉末三国时代徐岳撰写的《数术记遗》南宋时期的数学家杨辉发明了《乘除通变算宝》2022/12/13.机械计算机法国
科学家布莱斯•帕斯卡(BlaisePascal:1623—1662年)是被公认为是制造出机械计算机的第一人。2022/12/13.机械计算机德国著名数学家戈特弗里德•威廉•莱布尼茨(GottfriedWilhelmLeibn
iz:1646—阿1716年)将帕斯卡的“加法器”扩大为乘除运算1700年左右,莱布尼茨从中国“易图”(八卦)里受到启发,悟出了二进制数之真谛。2022/12/15.差分机和分析机英国剑桥大学著名科学家查理斯•巴贝奇(CharlesBabbage
:1792—1871年)在1822年设计出第一台差分机。2022/12/1Babbage(1792—1871年)6.模拟计算机托马斯•沃森(T.Watson)和IBM2022/12/16.模拟计算机布什(V.Bush)为了求解与电路有关的微分方程,制作了一台模拟计算装置
助其求解1873年,美国人鲍德温(F.Baldwin),利用齿数可变齿轮,设法制造出一种小型计算机样机2022/12/16.模拟计算机英国数学家布尔(G.Boole:1815—1864年)第一部著作《逻辑
的数学分析》1854年,已经担任柯克大学教授的布尔再次出版《思维规律的研究——逻辑与概率的数学理论基础》凭借这两部著作,布尔建立了一门新的数学学科——布尔代数2022/12/16.模拟计算机1938年,美国数学家香农(C.Shannon)第一次在布尔代数和继电器开关电路之间架起了桥梁
,以脉冲方式处理信息的继电器开关,从理论到技术彻底改变了数字电路的设计。1948年,香农凭借《通信的数学基础》一书,被誉为“信息论之父”。1956年,香农参与发起了达特默斯人工智能会议,率先把人工智能运用于计算
机下棋方面,还发明了一个能自动穿越迷宫的电子老鼠,以此验证了计算机可以通过学习提高智能。2022/12/1人工智能之父—图灵1.图灵1936年,阿伦•图灵(AlanTuring:1912—1954年)在他的一篇具有划时代意义的论文——《论可计算数及其在判定
问题中的应用》(OnComputerNumbersWithanApplicationtotheEntscheidungsProblem)中,论述了一种假想的通用计算器,也就是理想计算机,被后人称为“图灵机”(TuringMachine——TM)
。2022/12/11.图灵1939年,“图灵炸弹”(Bomba),图灵称它是“罗宾逊”。1945年,图灵领导一批优秀的电子工程师,着手制造自动计算引擎(AutomaticComputingEngineer
——ACE)。1950年,ACE样机公开表演,被称为世界上最快最强有力的电子计算机。2022/12/11.图灵1950年l0月,图灵发表了论文“计算机和智能”(ComputingMachineryandIntelligence)——“图灵测
试”(TuringTest)。图灵荣膺“人工智能之父”称号。1954年,42岁的图灵英年早逝。从1966年开始,每年由美国计算机学会(AssociationforComputingMachinery——ACM)颁发“图
灵奖”(TuringAward)给世界上最优秀的电脑科学家。2022/12/1图灵纪念馆2022/12/12.ENIAC和冯·诺依曼1946年2月,美国宾夕法尼亚大学成功研制出了ENIAC,这是世界上第一台数字电子计算机。莫尔学院的两位青年学者——36岁物理学家约翰•莫齐利(J
ohnMauchly)和他的学生,24岁的电气工程师布雷斯帕•埃克特(PresperEckert),向戈德斯坦提交了一份研制电子计算机的设计方案——“高速电子管计算装置的使用”。2022/12/12.ENIAC和冯·诺依曼1944年夏的一天,在阿贝丁火
车站,戈德斯坦邂逅了数学家约翰•冯•诺依曼(JohnVonNouma:1903—1957年),于是戈德斯坦向冯•诺依曼介绍了正在研制电子计算机,冯•诺依曼非常感兴趣。几天之后,冯•诺依曼就专程到莫尔学院参观还未完成的ENIAC,
并参加了为改进ENIAC而举行的一系列专家会议。2022/12/12.ENIAC和冯·诺依曼2022/12/1这台名为ENIAC(电子数字积分计算机的缩写)的机器,使用18800个电子管,1500多个继电器,耗电150千瓦,占地170平方米,重达30吨,可谓“庞然大
物”也。2.ENIAC和冯·诺依曼冯•诺依曼决定重新设计一台计算机,命名为“离散变量自动电子计算机”(ElectronicDiscreteVariableAutomaticCalculator:EDVAC)。1946年6月,冯•诺依曼和戈德斯坦、勃克斯回到
普林斯顿大学高级研究院,完成了另一台ISA(高级研究院的英文缩写)电子计算机,他们联名发表了计算机史上著名的“101页报告”。2022/12/12.ENIAC和冯·诺依曼1946年,英国剑桥大学威尔克斯(M.Wilkes)教授
,到宾夕法尼亚大学参加冯•诺依曼主持的培训班,完全接受了冯•诺依曼存储程序的设计思想。1949年5月,威尔克斯研制成了一台由3000只电子管为主要元件的计算机,命名为电子储存程序计算机(ElectronicDelayStor
ageAutomaticCalculator:EDSAC),由此,他获得了1967年度“图灵奖”。2022/12/1计算机的发展阶段计算机的出现是二十世纪最辉煌的成就之一,按照采用的电子器件划分,计算机大致已经历了四个阶段:1.第一代计算机(1946年—19
57年)其主要特征是逻辑器件使用电子管,用穿孔卡片机作为数据和指令的输入设备,用磁鼓或磁带作为外存储器,使用机器语言编程。第一代计算机体积大、运算速度低、存储容量小、可靠性低。几乎没有什么软件配置,主要用于
科学计算。其代表机型有:ENIAC、IBM650(小型机)、IBM709(大型机)等。2022/12/12022/12/12.第二代计算机(1958年—1964年)其主要特征是使用晶体管代替了电子管,内存储器采用了磁芯体,引入了变址寄存器和浮点运算硬件,利用I/O处理机提高了输
入输出能力。在软件方面配置了子程序库和批处理管理程序,并且推出了Fortran、COBOL、ALGOL等高级程序设计语言及相应的编译程序,降低了程序设计的复杂性。其代表机型有:IBM7090、IBM7094、CDC7600等。2022/12
/12022/12/13.第三代计算机(1965年—1972年)其主要特征是用半导体、小规模集成电路(IntegratedCircuit——IC)作为元器件代替晶体管等分立元件,用半导体存储器代替磁芯存储器,使用微程序设计技术简化处理机的结构,这使得计算机的
体积和耗电量显著减小,而计算速度和存储存量却有较大提高,可靠性也大大加强。在软件方面则广泛地引入多道程序、并行处理、虚拟存储系统和功能完备的操作系统,同时还提供了大量的面向用户的应用程序。计算机开始定向标准化、模块化、系列化,此时,计算机的应用进入到许多科学技术领域。其代表机
器有:IBM360系列、富士通F230系列等。2022/12/12022/12/14.第四代计算机(1972年—)其主要特征是使用了大规模和超大规模集成电路,大规模、超大规模块集成电路的出现,使计算机沿着两
个方向飞速向前发展。一方面,利用大规模集成电路制造多种逻辑芯片,组装出大型、巨型计算机。另一方面,利用大规模集成电路技术,将运算器、控制器等部件集成在一个很小的集成电路芯片上,从而出现了微处理器。完善的系统软件、丰富的系统开
发工具和商品化的应用程序的大量涌现,以及通信技术和计算机网络的飞速发展,使得计算机进入了一个大发展的阶段。2022/12/12022/12/1现在很多国家正在研制新一代的计算机,新—代计算机将是微电子
技术、光学技术、超导技术、电子仿生技术等多学科相结合的产物。它能进行知识处理、自动编程、测试和排错,以及用自然语言、图形、声音和各种文字进行输入和输出。新—代计算机的研究目标是试图打破计算机现有的体系结构,使得计算机能够具有
像人那样的思维、推理和判断能力。已经实现的非传统计算技术有:超导计算、量子计算、生物计算、光计算等。未来的计算机可能是超导计算机、量子计算机、生物计算机、光计算机或纳米计算机、DNA计算机等。2022/12/1著名计算机公司一、生产商整机:IBM、HP、Dell、联想、宏基
、苹果芯片:Intel、AMD、威盛软件:Microsoft、Adobe、甲骨文、网络:思科、朗讯、3COM、华为、SUN二、互联网运营商Yahoo、Google、Amazon、ebay、百度、阿里巴巴、搜狐、新浪、网易、腾讯2022/12
/1计算机的五大部件2022/12/1CPU运算器控制器运行结果程序、数据输入设备输出设备内存储器数据数据指令注:数据信号控制信号1.运算器运算器又称算术逻辑单元(ArithmeticLogicUnit——ALU),是计算机对数据进行加工处理的部件,它的主要功能是对二进制数码
进行加、减、乘、除等算术运算和与、或、非等基本逻辑运算,实现逻辑判断。运算器是在控制器的控制之下实现其功能的,运算结果由控制器发出的指令送到内存储器中。2022/12/12.控制器控制器主要由指令寄存器、译
码器、程序计数器和操作控制器等组成,控制器是用来控制计算机各部件协调工作,并使整个处理过程有条不紊地进行。基本功能就是从内存中取指令和执行指令,即控制器按程序计数器指出的指令地址从内存中取出该指令进行译码,然后根据该指令功能向有关部件发出控制命令,执行该指令。另外,控制器在
工作过程中,还要接受各部件反馈回来的信息。通常把运算器、控制器做在一个大规模集成电路块上称为中央处理器,又称CPU(CentralProcessingUnit)。2022/12/13.存储器存储器是计算机的记忆装置,用于存放
原始数据、中间数据、最终结果和处理程序。向存储器里存入信息也称为“写入”,写入新的内容则覆盖了原来的旧内容。从存储器里取出信息,也称为“读出”,信息读出后并不破坏原来存储的内容,因此信息可以重复取出,多
次利用。存储器可分为两种:内存储器与外存储器。通常把内存储器、运算器和控制器合称为计算机主机,也可以说主机是由CPU与内存储器组成的,而主机以外的装置称为外部设备,外部设备包括输入/输出设备,外存储器等。2022/12/14.输入/输出设备输入/输出设备简称I/O(Input/Output)
设备。用户通过输入设备将程序和数据输入计算机,输出设备将计算机处理的结果(如数字、字母、符号和图形)显示或打印出来。常用的输入设备有:键盘、鼠标器、扫描仪、数字化仪等;常用的输出设备有:显示器、打印机、绘图仪等。2022/12/11.2.2计算机的软件系统软件
是指用来指挥计算机运行的各种程序的总和以及开发、使用和维护这些程序所需的技术文档。计算机软件系统分为系统软件和应用软件。没有配备任何软件的硬件计算机称为裸机,裸机向外部世界提供的界面只是机器指令。用户及其他程序
都通过系统软件来使用计算机。2022/12/11.系统软件计算机系统软件由操作系统、语言处理系统、以及各种软件工具等各种软件程序组成,指挥、控制计算机硬件系统按照预定的程序运行、工作,从而达到预定的目标。简单地说,系统软件的功能主要是简化计算机操作,扩展计算机处理能力和提高计算机的效益。20
22/12/11.2.4计算机系统主要技术指标1.字长2.时钟周期和主频3.运算速度4.内存容量5.数据输入输出最高速率2022/12/12022/12/1拥有最强的并行计算能力,主要用于科学
计算。在气象、军事、能源等领域承担大规模、高速度的计算任务。趋势是用许多台计算机构成一台超级计算机。巨型计算机83年银河-I亿次机92年银河-II10亿次机97年银河-III百亿次机2022/12/1大中型计算机具有比小型机更强的数据处理
能力。价格比小型机高。在银行等最早使用计算机的行业中广泛使用。中科院计算技术研究所国家智能机中心研制的每秒200亿次的曙光2000型超级服务器2022/12/1小型计算机具有比微机更强的数据处理能力和数据存储能力。多个用户可以同时使用(多
用户,Multi-user)。目前主要用作服务器。2022/12/1微型计算机(微机,Microcomputer)台式计算机(Desktop)是通用计算机。通常是由一个用户来使用(单用户,Single-user)。配有文字、声音、图像等输入输出设备。
可通过网络与其他计算机相连。高档台式机可充当服务器。微型计算机(微机,Microcomputer)膝上型电脑(Laptop)/笔记本计算机(Notebook)2022/12/1功能与台式机类似。一体化结构。耗电更少,并配有电池,可在
没有交流电源的场合使用。可装在文件包中。微型计算机(微机,Microcomputer)掌上型电脑(Palmtop)、个人数字助理(PDA,PersonalDigitalAssistant)2022/12/1向用户提供专门的功能。靠电池供
电。可装在衣袋中。有些已具有无线通信能力。是嵌入式计算机的一类。1.5.4计算机科学课程体系的核心内容计算学科课程体系的教学内容归结为14个知识体1.离散结构(PS)2.程序设计基础(PF)3.算法与复杂性(AL)4.组织与体系结构(AR)5.操作系统(OS
)6.网络计算(NC)7.程序设计语言(PL)2022/12/1•8.人-机交互(HL)•9.图形学和可视化计算(GV)•10.智能系统(IS)•11.信息管理(IM)•12.软件工程(SE)•13.数值计算科学(CN)•14.社会和职
业问题(SP)软件工程专业知识体系(1)软件需求软件需求描述解决现实世界某个问题的软件产品,及对软件产品的约束。软件需求涉及需求抽取、需求分析、建立需求规格说明和确认,涉及建模、软件开发的技术、经济、时间可行性分析。软件需求直接影响软件设计、
软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程和软件质量等。(2)软件设计设计是软件工程最核心的内容。设计既是“过程”,也是这个过程的“结果”。软件设计由软件体系结构设计、软件详细设计两种活动组成。它涉及软件体系结构、构件、接口、以及系统
或构件的其它特征,还涉及软件设计质量分析和评估、软件设计的符号、软件设计策略和方法等。(3)软件构造通过编码、单元测试、集成测试、调试、确认这些活动,生成可用的、有意义的软件。软件构造除要求符合设计功能外,还要求控制和降低程序复杂性、预计变更、进行程序验证和制定软件构造标准。软件构造与软
件配置管理、工具和方法、软件质量密切相关。(4)软件测试测试是软件生存周期的重要部分,涉及测试的标准、测试技术、测试度量和测试过程。测试不再是编码完成后才开始的活动,测试的目的是标识缺陷和问题,改善
产品质量。软件测试应该围绕整个开发和维护过程。测试在需求阶段就应该开始,测试计划和规程必须系统,并随着开发的进展不断求精。正确的软件工程质量观是预防,避免缺陷和问题比改正好。代码生成前的主要测试手段是静态技术(检查),代码生成后采用动态技术(执行代码)。测试的重
点是动态技术,从程序无限的执行域中选择一个有限的测试用例集,动态地验证程序是否达到预期行为。软件工程专业知识体系(5)软件维护软件产品交付后,需要改正软件的缺陷、提高软件性能或其他属性、使软件产品适应新
的环境。软件维护是软件进化的继续。软件维护要支持系统快速地、便捷地满足新的需求。基于服务的软件维护越来越受到重视。软件维护是软件生存周期的组成部分。然而,历史上维护从未受到重视。现在情况有了改变,软件组织力图使软件运营时间更长,软件维护成为令人关注的
焦点。(6)软件配置管理为了系统的控制配置变更,维护整个系统生命周期中配置的一致性和可追踪性,必须按时间管理软件的不同配置,包括配置管理过程的管理、软件配置鉴别、配置管理控制、配置管理状态记录、配置管理审计、软件发布和交付管理等。(7)软件工程
管理运用管理活动,如计划、协调、度量、监控、控制和报告,确保软件开发和维护是系统的、规范的、可度量的。它涉及基础设施管理;项目管理;度量和控制计划三个层次。度量是软件管理决策的基础。近年来软件度量的标准、测度、
方法、规范发展较快。软件工程专业知识体系(8)软件工程过程管理软件工程过程的目的是,实现一个新的或者更好的过程。软件工程过程关注软件过程的定义、实现、评估、测量、管理、变更、改进,以及过程和产品的度量。软件工程过程分为,①围绕软件生存周期过程的技术和
管理活动,即需求获取、软件开发、维护和退役的各种活动。②对软件生存周期的定义、实现、评估、度量、管理、变更和改进。(9)软件工程工具和方法软件开发工具是以计算机为基础的,用于辅助软件生存周期过程。通常,工具是为特定的软件工程方法设计的,以减少手工操
作的负担、使软件工程更加系统化。软件工具的种类很多,从支持个人到整个生存周期。软件工具分为:需求工具、设计工具、构造工具、测试工具、维护工具、配置管理工具、工程管理工具、工程过程工具、软件质量工具等。软件工程方法支持软件工程活动,使软件开发更加系统,并能获得成功
。软件开发方法不断发展。当前,软件工程方法分为:①启发式方法,包括结构化方法、面向数据方法、面向对象方法和特定域方法;②基于数学的形式化方法;③用软件工程多种途径实现的原型方法,原型方法帮助确定软件需求、软件体系结
构,用户界面等。(10)软件质量软件质量贯穿整个软件生存周期,涉及软件质量需求、软件质量度量、软件属性检测、软件质量管理技术和过程等。SWEBOK还把软件工程相关学科列为知识域,它们是软件工程发展不可或缺的部分。相关学科知识域包括计算机工程、计算机科
学、数学、管理学、项目管理、质量管理、系统工程学和软件人类工程学八个领域。软件工程人才培养目标软件工程专业的学制一般为4年,授予工学学士学位。其素质结构、能力结构和知识结构要求如下:素质结构要求思想道德素质:热爱祖国,拥护中国
共产党的领导,树立科学的世界观、人生观和价值观;具有责任心和社会责任感;具有法律意识,自觉遵纪守法;热爱本专业、注重职业道德修养;具有诚信意识和团队精神。文化素质:具有一定的文学艺术修养、具有文字和口头表达能力、具有交
流和沟通能力与现代意识。专业素质:掌握科学思维方法、工程设计方法和良好工程素养;具有创新、创业精神;具有严谨的科学态度和务实的工作作风。身心素质:具有较好的身体素质和心理素质。软件工程人才培养目标能力结构要求掌握软件工程的知识与技能,具备软件工程师从事工程
实践所需的专业能力。获取知识能力:终身学习能力、信息获取能力、适应学科发展的能力等。应用知识能力:需求分析和建模的能力、软件设计和实现的能力、软件评审与测试的能力、软件过程改进与项目管理的能力、设计人机交互界面的能力、使用软件开发工具的能力等。
创新能力:在基础研发、工程设计和实践等方面具有一定的创新意识和能力。软件工程人才培养目标知识结构要求工具性知识:外语、文献检索、科技写作等。人文社会科学知识:文学、哲学、政治学、社会学、法学、心理学、思想道德、职业道德、艺术等。自然科学知识:数学、物理学等。工程学知识:
工程经济学、其它工程应用领域的基础知识。经济管理知识:经济学、管理学等。专业技术基础知识:计算机科学、数学基础知识,包括离散数学、程序设计语言和程序设计、数据结构、计算机体系结构、操作系统和网络、数据库等。专业知识:软件需求、软件建模与分析、软件设计、人机交互、软件验证与确认、软件演化、
软件过程、软件质量和软件管理等。