1、信息工程学院信息工程学院崔剑波崔剑波20222022年年5 5月月2020日日信息工程学院信息工程学院信息工程学院信息工程学院 计算机科学与技术学科是一门创造性很强、涉及人计算机科学与技术学科是一门创造性很强、涉及人类一切活动领域的综合性学科。其宗旨是:类一切活动领域的综合性学科。其宗旨是: 通过不断地实践和科学研究,创造出有利于人类通过不断地实践和科学研究,创造出有利于人类生存与发展、性能更高的自动化电子装置和相应软生存与发展、性能更高的自动化电子装置和相应软件,逐步用由数字装置控制的自动化机械代替体力件,逐步用由数字装置控制的自动化机械代替体力劳动,用智能化软件控制的电脑代替人脑的同时,劳
2、动,用智能化软件控制的电脑代替人脑的同时,通过信息的获取、处理、加工和控制,为人类带来通过信息的获取、处理、加工和控制,为人类带来更多的物质财富和精神享受。更多的物质财富和精神享受。 计算机学科发展与世界上一切伟大事业一样,也计算机学科发展与世界上一切伟大事业一样,也经历过挫折和失败,但最终由于找到了一个正确的经历过挫折和失败,但最终由于找到了一个正确的指导思想而发展起来,以至有了今天的成就。指导思想而发展起来,以至有了今天的成就。 信息工程学院信息工程学院 17世纪有一个伟大的科学家,他不仅与牛顿同时创立了微积分学,而且还提出了如下设想: 如果能够建立一种符号化体系来表示人类的思维,并能找到
3、模拟人类思维的演化方法,那么就可以对人类的思维进行推理。 这个人就是莱布尼兹!信息工程学院信息工程学院 在莱布尼兹的设想里蕴含了这样一个命题: 如果莱布尼兹的设想是成立的,那么就可以制造一种机械装置来对人类思维进行推理。 为了这一命题,从17世纪到19世纪30年代初,许多人为之做了大量的工作,但都不能从理论上证明这个命题。信息工程学院信息工程学院 1936年英国有一个年青人围绕莱布尼兹的设想,证明了这样一个命题: 可制造一种十分简单但运算能力极强的计算装置,用来计算所有能想象得到的可计算函数。 1938年他果真制造出了这样的一种计算装置。 这个人就是被誉为人工智能之父的图灵! 后人也把他制造的
4、计算装置称为图灵机。信息工程学院信息工程学院 图灵机被公认为现代计算机的原型,这台机器可以读入一系列的零和一,这些数字代表了解决某一问题所需要的步骤,按这个步骤走下去,就可以解决某一特定的问题。 在图灵看来,这台机器只用保留一些最简单的指令,一个复杂的工作只用把它分解为若干最简单的操作就可以实现。他相信有一个算法可以解决大部分问题,而困难的部分则是如何确定最简单的指令集,怎么样的指令集才是最少的,而且又能顶用,还有一个难点是如何将复杂问题分解为若干简单操作并把它们指令化的问题。 信息工程学院信息工程学院 图灵机问世以后,立即引起了英国和美国军方的注意,他们在图灵机的基础上来研制用于军事用途的计
5、算装置,即计算机。 1944年1月英国研制了世界上第一台“巨人”计算机,用以破译德军密码。 1946年2月美国在 “巨人”计算机的基础上研制了ENIAC 计算机,用以弹道计算。 但这两台计算机的不足之出是: 没有真正的存储器,只有若干个暂存器,它的程序是外插型的,指令存储在计算机的其他电路中。这样,解题之前,必需先相好所需的全部指令,通过手工把相应的电路联通。这种准备工作要花几小时甚至几天时间,而计算本身只需几分钟。计算的高速与程序的手工存在着很大的矛盾。 信息工程学院信息工程学院 为了解决计算的高速与程序的手工存在着很大的矛盾这一问题,1945年美国一位青年人提出了制造电子计算机和程序设计的
6、新思想 : 计算机应由五个部分组成,包括:运算器、逻辑控制装置、存储器、输入和输出设备。计算机的指令应采用二进制,逻辑代数应是逻辑电路的分析的主要方法。这是计算机发展史上一个划时代的思想,它向世界宣告:电子计算机的时代开始了。 而提出这一思想的年青人就是: 被称为“计算机之父”的美籍匈牙利数学家冯诺依曼。 信息工程学院信息工程学院 上一世纪60年代之后,一方面人们开始不满足于让计算机仅仅进行科学计算和简单的符号处理,而想让计算机具有更强的逻辑运算和图形图像的符号处理能力,从而真正能够模拟人类思维,真正能够在计算机上进行采集、编辑、制作、操纵、人机交互式的展示具有图、文、声、并茂的现实虚拟世界;
7、 另一方面不满足在单一计算机上的操作,而想在多个计算机上的同时操作,实现计算的互联和相互通讯。这些想法的出现,酝酿着计算机多媒体时代、网络时代、和智能时代即将开始。信息工程学院信息工程学院 建立在心理学刺激反应模型基础上的物理符号系统的形成,标志着计算机学科发展进入了一个崭新的阶段,即从以模拟机和智能软件并行开发为主的研究方向,逐步过渡到以智能软件为主、数字机硬件更新和完善为辅的研究方向,并由此利用智能计算来研究图像的压缩与解压缩问题、利用智能计算来解决计算机的互联问题。 到了上一世纪80年代之后随着上述两个问题的解决,才形成了今天这样的一个信息时代。信息工程学院信息工程学院 在计算机科学与技
8、术发展的过程中,人们发现:现实世界中多数问题不是数字计算,而是符号处理。那么如何进行符号处理呢? 现代计算机能否进行符号处理?面对这两个问题,出现了两种观点。 一种观点认为,以Turing理论为指导所形成的计算机,是不能进行复杂的逻辑运算和图形图像处理的,它的主要功能是数字计算。 而要处理复杂的逻辑运算和图形、图像处理问题,必须开发一种新型的、与现有数字计算机的结构不同的计算机来。于是研究模拟机和智能软件并行开发为主要研究方向的新型课题便应用而生,被称为人工智能。信息工程学院信息工程学院 另一种观点认为:在不断的完善和改进现有硬件的性能和功能的基础上,从现阶段“数字计算机”的实际出发,把Tur
9、ing理论与现阶段的数字计算机的实际情况结合起来,探索出一条能够用现阶段的计算机处理复杂的逻辑运算的新路子来。他们首先回答了用机器处理问题的本质是什么以及如何用机器处理问题这两个核心问题,即:无论用什么样的计算机处理问题,即无论是数字计算机还是符号处理,其本质还是二进制数字计算,其理论依据还是Turing理论。虽然Turing理论的原始论述只是对数论函数(以自然数为输入)而言的,但可以把它推广到任意函数、人脑功能甚至一切物理现象。因此,处理复杂的逻辑运算问题关键在于软件而非硬件,只要方法得当,现实中任何一台计算机都能处理复杂的逻辑问题,所不同的是速度和内存问题。 信息工程学院信息工程学院 目前
10、,处理数值计算问题的方法已经相对比较完善,而研究思维模拟的主要方法则有四种:基于心理学的符号处理方法;基于社会学层次型的智能体方法;基于生物进化的演化计算与自适应方法以及基于生理学的人工神经网络方法。 我们不应该把智能与计算对立起来,不要谈到人工智能就马上想到逻辑、规则、推理,而一谈到计算机联想到矩阵运算、解微分方程等;不要过分强调数字计算机与符号计算的区别,而应该强调综合集成。要从现阶段计算机硬件实际情况出发,应用遗传算法、人工神经网络等方法,借助于现阶段的计算机处理现实存在的较为复杂的实际问题。在这一思想的指导下,终于形成了一种新的理论智能计算。信息工程学院信息工程学院 智能计算理论是Tu
11、ring理论的丰富和完善,是人工智能的一个重要分支,是结合现阶段的计算机硬件水平,通过开发智能化软件来解决较为复杂的逻辑运算问题的一种软件开发技术。这一理论之所以能够形成,最根本的一条是计算机专家们敢于解放思想,从传统的条条框框中解放出来,认为无论用什么类型的计算机处理问题都仅仅是手段,而本质的问题是数字计算,核心问题是计算方法算法。正是这种思想的指导下,从80年代开始,计算机的科学研究取得突破性的发展,各种智能软件相继推出,为处理大规模的人工智能问题奠定了基础。例如,智能化数学软件Maple,MATHEMATICA和Axion,其共同的特点就是提供了符号运算和精确计算的功能。现在,智能计算机
12、已经广泛地运用到了最优化控制、符号回归、程序自动化生成以及模式识别等许多实际问题的求解中。信息工程学院信息工程学院 计算机科学主要研究计算机系统结构、程序系统(即软件)、人工智能以及计算本身的性质和问题的学科。计算机是一种进行算术和逻辑运算的机器,而且对于由若干台计算机联成的系统而言还有通信问题,并且处理的对象都是信息,因而也可以说,计算机科学是研究信息处理的科学。 信息工程学院信息工程学院计算机科学研究的课题是:计算机程序能做什么和不能做什么(可计算性); 如何使程序更高效的执行特定任务(算法和复杂性理论); 程序如何存取不同类型的数据(数据结构和数据库); 程序如何显得更具有智能(人工智能
13、); 人类如何与程序沟通(人机互动和人机界面)。 信息工程学院信息工程学院 计算机科学的大部分研究是基于“冯诺依曼计算机”和“图灵机”的,它们是绝大多数实际机器的计算模型。作为此模型的开山鼻祖,邱奇-图灵论题(Church-Turing Thesis)表明,尽管在计算的时间,空间效率上可能有所差异,现有的各种计算设备在计算的能力上是等同的。尽管这个理论通常被认为是计算机科学的基础,可是科学家也研究其它种类的机器,如在实际层面上的并行计算机和在理论层面上概率计算机和量子计算机。 信息工程学院信息工程学院 计算机科学分为理论计算机科学和实验计算机科学两个部分。后者时常称为“计算机科学”而不冠以“实
14、验”二字。前者还有其他名称,如计算理论、计算机理论、计算机科学基础、计算机科学数学基础等。在数学文献中所说的计算机科学,一般是指理论计算机科学。实验计算机科学还包括有关开辟计算机新的应用领域的研究。学科起源 计算机科学中的理论部分在第一台数字计算机出现以前就已存在。 信息工程学院信息工程学院 一般认为,计算机科学主要包括理论计算机科学、计算机系统结构、软件工程的一部分和人工智能。 理论计算机科学是在20世纪30年代发展起来的。 20世纪40年代机电与电子的计算机出现后,关于现实计算机及其程序的数学模型性质的研究以及计算复杂性(早期称作计算难度)的研究迅速发展起来,形成自动机论、形式语言理论、程
15、序设计理论、算法设计与分析和计算复杂性理论几个领域。 信息工程学院信息工程学院 计算机系统结构 上一世纪50年代以来,计算机的性能在计算速度和编址空间方面已提高了几个数量级。但大部分是通过元件更新而获得的。在系统结构方面基本上仍是属于40年代后期形成的存储程序型,即所谓诺伊曼型机器。这种结构的主要特点是它属于控制流型。在这种结构中,一项计算先做什么后做什么是事先确定了的,程序中指令的顺序是事先确定了的。 为了在计算机的性能方面取得大的进展,需要突破这种旧的形式。计算机系统结构方面的重要课题之一,是探索非诺伊曼型机器的设计思想。在非诺伊曼型机器中,有一种是70年代初提出的数据流机器(又名数据驱动
16、机器)。美国、苏联和英国都已制成这种机器。这种机器的特点是,在一项计算中先做什么后做什么不是事先确定,所执行的指令是动态排序的。排序的原则是操作数已准备就绪的先做,因而称作数据驱动机器。这种类型的机器更便于实现并行计算。 信息工程学院信息工程学院软件工程 程序设计在相当长的时间内是一种类似“手艺”而不是类似现代工程的技术。上一世纪60年代以来出现了大程序。这些大程序的可靠性很难保证。到上一世纪60年代后期,西方国家出现了“软件危机”。这是指有些程序过于庞大(包含几十万条以至几百万条指令),成本过高而可靠性则比较差。于是提出了软件工程的概念,目的在于使软件开发遵守严格的规范,使用一套可靠的方法,
17、从而保证质量。现代软件工程的方向是形式化和自动化,而形式化的目的在于自动化。这里所说的自动化就是将程序设计中可以由机器来完成的工作,尽量交给机器去做。中心课题之一是程序工具和环境的研究。程序工具是指辅助人编程序的程序,如编译程序、编辑程序、排错程序等;程序环境则是指一套结合起来使用的用来辅助人编程序的程序工具。 信息工程学院信息工程学院人工智能 用计算机模拟人的智能,特别是模拟思维活动的技术及其有关理论。 由于人的思维活动离不开语言,而且人对于某一类问题进行思索和探索解法时,总是需要以关于这一类问题的基本知识(专业知识或常识)作为出发点。于是,知识表示和机器对自然语言的理解就构成人工智能的两个
18、重要领域。 所谓知识表示,是指将原来用自然语言表示的知识转换成用符号语言表示的,从而可以储存在机器内供机器使用的知识。 信息工程学院信息工程学院 人工智能的研究角度有探索法的角度和算法的角度。通常所说的解题算法是指机械的和总是有结果的方法,而这里所说的算法却是广义的,包括那些机械的而在使用时不一定有结果的算法。这种方法时常称作半可判定的方法。 人在解决问题时,时常采用探索法。这种方法具有“试错法”的性质,也就是说,试验若干条途径,一条路走不通时再试另一条,直到问题得到解决时为止。机器可以模拟人用探索法解题的思维活动。但由于可能途径的数目非常之大,不可能进行穷举式的探索。人一般是只选出一些最有希
19、望得到结果的途径去进行探索。人的这种能力,就是进行创造性思维的能力。这是机器极难模拟的事情。 信息工程学院信息工程学院 采用算法角度,使用特定的解题算法或半可判定的方法时,会遇到另一方面的困难。那就是当问题的复杂程度较高时(比如说是指数的),即使问题是有结果的,机器也无法在实际可行的时间内得到结果。 在计算机出现的初期,人们曾寄希望于机器的高速度,以为在模拟人的思维时,机器可能用它的高速度来换取它所不具有的创造性思维。但通过“组合性爆炸”问题(“组合性爆炸”是指一些组合数学中的问题,在参数增大时,计算时间的增长率时常是指数的,甚至高于指数),人们认识到,单纯靠速度不能绕过组合性爆炸所产生的障碍
20、。有无办法来克服这种困难,尚有待于进一步研究。 信息工程学院信息工程学院计算机科学与其他学科的关系 计算机是由物理元件构成的,迄今主要是由电子元件构成的。因此,物理学的一些分支和电子工程便构成计算机科学的基础。 同时,计算机科学在一定意义上是算法的科学,而算法是一个数学概念。因此,数学的某些分支如算法理论(即可算性理论,又名递归函数论)也构成计算机科学的基础。 但计算机科学已发展成为一门独立的技术科学,既不是物理电子学的一个分支,也不是数学的一个分支。这是就这个学科的整体而言。 信息工程学院信息工程学院 至于理论计算机科学,由于它可以看作是计算机科学的数学基础,在一定意义上,可以看作是数学的一
21、个分支。 另一个与计算机科学有密切关系的学科是控制论。控制论作为应用数学方法来研究机械系统和生命系统中的控制和通信现象的学科,同计算机科学有内容上的交叉,但后者不是它的一部分。 信息工程学院信息工程学院 自从上以世纪40年代制成数字计算机以来,计算机的性能有了很大的提高。但在系统结构方面变化不大。一些计算技术发达国家正在研制新一代的计算机。这种计算机的系统结构将与过去40年的机器很不相同,所用的程序设计语言也将是新型的。 计算机科学将研究由此出现的新问题,如有关并行计算的问题。对计算的数学性质的研究大都还是关于串行计算的,对并行计算性质的研究自上一世纪70年代才发展起来,预计将成为计算机科学的
22、中心课题之一。 信息工程学院信息工程学院 另一个问题是程序设计的自动化问题。在程序设计方面,明显的趋势是将机器能做的尽量交给机器去做。程序环境的研究构成了软件工程的一个中心课题。形式化方法越来越受到重视,因为它是提高自动化程度所必需的。 信息工程学院信息工程学院 计算机科学根植于电子工程、数学和语言学,是科学、工程和艺术的结晶。它在20世纪最后的三十年间兴起成为一门独立的学科,并发展出自己的方法与术语。早期,虽然英国的剑桥大学和其他大学已经开始教授计算机科学课程,但它只被视为数学或工程学的一个分支,并非独立的学科。剑桥大学声称有世界上第一个传授计算的资格。世界上第一个计算机科学系是由美国的普渡
23、大学在1962年设立,第一个计算机学院于1980年由美国的东北大学设立。现在,多数大学都把计算机科学系列为独立的部门,一部分将它与工程系、应用数学系或其他学科联合。信息工程学院信息工程学院 计算机科学领域的最高荣誉是ACM设立的图灵奖,被誉为是计算机科学的诺贝尔奖。它的获得者都是本领域最为出色的科学家和先驱。华人中首获图灵奖的是姚期智先生.他于2000年以其对计算理论做出的诸多“根本性的、意义重大的”贡献而获得这一崇高荣誉。 信息工程学院信息工程学院 计算机领域中所运用的技术方法和技术手段,称为计算机技术。 计算机技术包括:运算方法的基本原理与运算器设计、指令系统、中央处理器)设计、流水线原理
24、及其在CPU设计中的应用、存储体系、总线与输入输出。 计算机技术的内容可分为计算机系统技术、计算机器件技术、计算机部件技术和计算机组装技术等几个方面。 信息工程学院信息工程学院1、计算机系统技术 计算机作为一个完整系统所运用的技术。主要有系统结构技术、系统管理技术、系统维护技术和系统应用技术等。系统结构技术 它的作用是使计算机系统获得良好的解题效率和合理的性能价格比。现代计算机的系统结构技术主要有两个方面:一为从程序设计者所见的系统结构,它是系统的概念性结构与功能,关系到软件设计的特性;其二为从硬件设计者所见的系统结构,实际上是计算机的组成或实现,主要着眼于性能价格比的合理化。 信息工程学院信
25、息工程学院 20世纪50年代以来,程序设计者所见的系统结构变化不大,传统计算机的计算机技术硬件组成与高级语言之间的严重脱节,给软件的可靠性、源程序编译效率,以及系统的解题效率等方面带来不利的影响,这是计算机系统结构技术需要解决的重要课题。以提高系统运算速度为主要目的而发展起来的并行处理技术,是20世纪70年代以来系统组成技术的一个重要努力方向。 20世纪70年代出现的数据流计算机系统结构思想,把传统计算机的指令控制流控制方法改变为数据控制流的控制方法。从而有可能自动免除运算相关性的障碍,达到高度平行的目的。由于器件价格大幅度下降,为某种特殊用途专门设计的系统,可以显著提高性能价格比,如数据库计
26、算机,图像处理计算机等。信息工程学院信息工程学院系统管理技术 计算机系统管理自动化是由操作系统实现的。操作系统的基本目的在于最有效地利用计算机的软件、硬件资源,以提高机器的吞吐能力、解题时效,便利操作使用,改善系统的可靠性,降低算题费用等。操作系统的基本功能,是对计算机系统的各种资源以至用户程序施行有效的管理、调度和指挥,主要为作业管理、文件管理、数据管理、处理器管理、输入输出管理、存储空间管理、人机通信管理、终端网络管理、系统故障管理、系统再组合以及对其他软件的管理等。此外还负责对诸用户的数据和程序实施保护和保密,以及收费计算等。操作系统技术正向提高通用性、可扩展性、可移植性及工作效率、降低
27、辅助时间等方面改进。信息工程学院信息工程学院系统维护技术 计算机系统实现自动维护和诊断的技术。实施维护诊断自动化的主要软件为功能检查程序和自动诊断程序。功能检查程序针对计算机系统各种部件各自的全部微观功能,以严格的数据图形或动作重试进行考查测试并比较其结果的正误,确定部件工作是否正常。自动诊断根据部件的具体逻辑,以特定的算法生成大量的测试数据和故障字典,利用诊断机或其他特设硬件作为“硬核”,对故障部件有关的测试路径进行布数启动,并回收测试结果。对有故障者查询故障字典以确定故障部位。自动诊断目前尚只能解决单个坏死故障。由于受到电路本身和测试算法等的限制,诊断的覆盖面一般在90左右,故障定位范围约
28、在13个插件之内。信息工程学院信息工程学院系统应用技术 计算机系统的应用十分广泛。程序设计自动化和软件工程技术是与应用有普遍关系的两个方面。 程序设计自动化,即用计算机自动设计程序,是使计算机得以推广的必要条件。早期的计算机靠人工以机器指令编写程序,费时费力,容易出错,阅读和调试修改均十分困难。 信息工程学院信息工程学院 20世纪50年代初期开始使用的汇编语言,与机器指令一一对应以记忆码和符号地址替代机器指令的操作码和地址码,再通过翻译器产生机器指令,有效地改善了程序设计的条件,虽然它是低级语言,但因可人工编写出高质量的程序而仍保有其生命力。 信息工程学院信息工程学院 20世纪50年代中期出现
29、的高级程序设计语言,可根据课题算法的规律与特点,定义严格的语言和描述方法,使设计者可以用语言形式编制出课题的源程序,然后通过编译程序,自动编出以机器指令形式表达的目的程序,大大提高了程序设计的劳动生产率。高级程序设计语言已多达数百种,其中主要者有BASIC、FORTRAN、ALGOL、COBOL、PASCAL等。由于语言繁多又互不相通,程序移植困难,造成很大浪费。因此,人们对创造统一语言的问题相当重视,美国ADA语言就是一例。接近自然语言的算法语言也在探索之中。 信息工程学院信息工程学院 软件生产工程化对计算机技术的发展具有重大意义。软件生产方式比较落后,以人工为主,自动化程度较差。设计、修改
30、、维护费用昂贵,产品错误率较高,以致发生所谓“软件危机”。因此,在20世纪60年代末提出了“软件工程”,即将软件生产视为一种工程或工业,使软件生产采取与硬件相类似的形式,创立软件设计、调试、维护、生产组织管理等的科学方法,制定软件标准,研制软件生产工具等。 信息工程学院信息工程学院 软件工程的主要内容包括软件开发的方法论和软件开发的支援系统。方法论研究程序设计的原理、原则和技术,借以生产出价格合理、可靠和易读的程序。支援系统则主要对软件生产过程各阶段提出支持工具,以提高软件生产的效率与质量。软件工程已受到很大重视并获得较普遍的推广。 信息工程学院信息工程学院计算机器件技术 电子器件是计算机系统
31、的物质基础,计算机复杂逻辑的最基层线路为“与门”、“或门”和“反相器”。由此组成的高一层线路有“组合逻辑”和“时序逻辑”两类。这些逻辑由电子器件来实现,通常以电子器件在技术上的变革作为计算机划代的标志。 计算机部件技术主要有运算与控制技术、信息存储技术和信息输入输出技术等。 信息工程学院信息工程学院计算机组装技术 组装技术同计算机系统的可靠性、维修调试的方便性、生产工艺性和信息传递的延迟程度有密切的关系。计算机电子器件的可靠性随着环境温度和湿度的升高而下降,尘埃的积聚可能造成插件或底板的短路或断路,因此制冷和空调是组装技术需要解决的重要问题。 信息工程学院信息工程学院 组装技术需要解决的另一个
32、问题是提高组装密度。计算机器件进入亚纳秒级后,几厘米长的导线所产生的信号延迟已足以影响机器的正常工作,使组装密度问题更加突出。计算机电子器件的变革,对组装技术产生极大影响,组装技术的进步始终与计算机的换代相协调,不断促使计算机向小型、微型化发展。 信息工程学院信息工程学院 计算机技术面临着一系列新的重大变革。诺伊曼体制的简单硬件与专门逻辑已不能适应软件日趋复杂、课题日益繁杂庞大的趋势,要求创造服从于软件需要和课题自然逻辑的新体制。并行、联想、专用功能化以及硬件、固件、软件相复合,是新体制的重要实现方法。计算机将由信息处理、数据处理过渡到知识处理,知识库将取代数据库。自然语言、模式、图像、手写体
33、等进行人-机会话将是输入输出的主要形式,使人-机关系达到高级的程度。 信息工程学院信息工程学院(2)成果形式不用:计算机科学的目的是形成知识,最终成果为学术论文或著作,计算机科学成果属于知识形态范畴;计算机技术是为了形成产品,最终成果为计算机的硬软件系统、输入、输出设备等物化商品。 (3)产生过程不同:计算机科学是实践到理论的转化,计算机技术是理论到实践的转化。信息工程学院信息工程学院(4)问题的语词不同:计算机科学的问题是计算机系统是怎样的?计算机技术的问题是计算机系统应该怎样做? (5)社会价值不同,计算机科学是认知价值,计算机技术是生产力价值。 (6)社会规范不同:计算机科学规范,知识共
34、有,无私利;计算机技术规范:专利和保密制度 。信息工程学院信息工程学院 计算机科学为计算机技术提供强大的知识和方法的支持,计算技术使计算机科学中的原理和方法变为现实的产品:计算机系统。其不同之处为: (1)目的不同:计算机科学的根本目的是认识计算机系统原理和工作方法,不断开发计算机系统的未知领域;计算机技术的目的是不断制造出性能更高的计算机,来有效地来解决问题;不断满足人类对信息获取、信息处理、加工和控制的现实需要。信息工程学院信息工程学院 计算机科学与技术这一学科最终为我们提供了计算机这一工具,具体地讲这一工具包括计算机及其输入输出设备,计算机操作系统及其管理、维护软件工具,应用系统开发工具
35、等,利用这些工具来解决实际问题,称为计算机应用。 从学科角度来讲,计算机应用是计算机应用是研究计算机应用于各个领域的理论、方法、技术和系统等,是计算机学科与其他学科相结合的边缘学科 ,是计算机学科的组成部分。计算机应用分为数值计算和非数值应用两大领域。非数值应用又包括数据处理、知识处理 等领域。 信息工程学院信息工程学院 计算机应用系统分析和设计是计算机应用研究普遍需要解决的课题。应用系统分析在于系统地调查、分析应用环境的特点和要求,建立数学模型,按照一定的规范化形式描述它们,形成计算机应用系统的技术设计要求。应用系统设计包括系统配置设计、系统性能评价、应用软件总体设计以及其他工程设计,最终以
36、系统产品的形式提供给用户。 信息工程学院信息工程学院计算机应用已深入到科学、技术、社会的广阔领域,按其应用问题信息处理的形态,大体上可以分为 : 科学计算。求取各种数学问题的数值解。 数据处理。用计算机收集、记录数据,经处理产生新的信息形式。主要包括数据的采集、转换、分组、组织、计算、排序、存储、检索等。 信息工程学院信息工程学院计算机辅助设计、制造、测试(CADCAMCAT)。用计算机辅助进行工程设计、产品制造、性能测试。办公自动化:用计算机处理各种业务、商务;处理数据报表文件;进行各类办公业务的统计、分析和辅助决策。 经济管理 :国民经济管理,公司企业经济信息管理,计划与规划,分析统计,预
37、测,决策;物资、财务、劳资、人事等管理。 信息工程学院信息工程学院情报检索:图书资料、历史档案、科技资源、环境等信息检索自动化;建立各种信息系统。自动控制:工业生产过程综合自动化,工艺过程最优控制,武器控制,通信控制,交通信号控制。模式识别:应用计算机对一组事件或过程进行鉴别和分类,它们可以是文字、声音、图像等具体对象,也可以是状态、程度等抽象对象。信息工程学院信息工程学院家庭自动化:系指利用微处理电子技术,来集成或控制家中的电子电器产品或系统,例如:照明灯、咖啡炉、电脑设备、保安系统、暖气及冷气系统、视讯及音响系统等。专家系统:是一种模拟人类专家解决某一领域问题的计算机程序系统。它应用人工智
38、能技术和计算机技术,根据某领域一个或多个专家提供的知识和经验,进行推理和判断,模拟人类专家的决策过程,以便解决那些需要人类专家处理的复杂问题。信息工程学院信息工程学院应用系统开发 根据用户对应用系统的技术要求,分析手工处理的信息流程,设计计算机系统的内部结构,并加以实现和维护的过程。计算机应用系统的开发是计算机技术的二次开发。 开发过程一般分为4个阶段,即分析、设计 、实现和维护。 信息工程学院信息工程学院 分析阶段 。根据计算机用户对于输入、处理过程和输出特性的需要,对原有系统的现状进行调查分析,并在此基础上提出建立新系统或改造旧系统的初步建议,即对新系统的目标、功能、成本、效益、人员、进度
39、等作出预测和描述。这一阶段也称为可行性研究阶段。 信息工程学院信息工程学院设计阶段。首先根据调查确定系统的构成和软件、硬件环境的要求,并提出系统建议书。在进行方案论证并获得通过后转入物理设计,也就是对系统的输入输出、处理过程、信息流向、数据结构、显示和打印格式,以及人机对话方式等逐层细化,进行设计。这时,应将系统划分为若干模块和过程,分析其相互关系和处理顺序,保证系统的完整性、正确性和适应性。经过仔细的分析和对各种方法的选择,在本阶段结束时提出实施计划和进度安排,写出系统用户手册和操作使用说明书。分析和设计工作均由系统分析员完成。 信息工程学院信息工程学院实现阶段。按照系统设计方案实现应用系统
40、,分别完成机器配置安装、现场改造、程序编制、人员培训和数据准备等各方面的工作。这个阶段的工作由程序员和操作员完成。 维护阶段。系统从投入运行开始,就进入维护阶段 。维护工作一般包括正确性、完整性和适应性3 个方面。这一工作通过向用户发出修改通知或更新版本来进行。 信息工程学院信息工程学院系统评价对计算机应用系统的开发有直接指导意义,需要对功能指标、性能指标、可用性、可靠性、易理解性、可维护性、可移植性和系统成本进行定性或定量的分析。这些指标的好坏决定系统寿命的长短。 随着网络技术的发展,计算机应用已被信息技术应用替代。 信息工程学院信息工程学院 本专业培养具有良好的科学素养,系统、较好地掌握计
41、算机硬件、软件与应用的基本理论、基本知识和基本技能与方法,能在科研部门、教育单位、企业、事业、技术和行政管理部门等单位从事计算机教学、科学研究和应用的高素质人才。 信息工程学院信息工程学院 从历史上看,在计算机学科发展的早期,数学、逻辑、电子学、程序语言和程序设计是支撑学科发展的主要专业基础知识。 到了20世纪60-70年代,数据结构与算法、计算机原理、编译技术、操作系统、程序设计与程序语言、数据库系统原理等成为学科的主要专业基础知识。 信息工程学院信息工程学院 从20世纪80年代开始,并行与分布计算、网络技术、软件工程等开始成为新的学科内容,突破了计算机学科原有的专业设置框架,逐渐形成了在“
42、计算机科学与技术”一个专业之下分为计算机科学、计算机工程、软件工程、信息技术等多个专业发展方向的新格局。信息工程学院信息工程学院一、计算机学科的方法论一、计算机学科的方法论 在计算机学科教育中,了解和学习该学科方法论是非常重要的。计算机学科方法论是系统地研究该领域认识和实践过程中的使用的一般方法,研究这些方法及其性质、特点、内在联系、变化与发展。 它主要包含三个方面:学科方法论的三个过程(又称为学科的三个形态)、重复出现的12个基本概念、典型的学科方法。 前者描述了认识和实践的过程,后两者分别描述了贯穿于认识和实践过程中问题求解的基本方面与要点。1 1、三个过程、三个过程 学科方法论的三个过程
43、为:理论、抽象、设计。 信息工程学院信息工程学院理论: 它与数学所应用方法类似,主要要素为定义和公理、定理、结果的解释。用这一过程来建立和理解计算机学科所依据的数学原理。其研究内容的基本特征是构造性数学特征。抽象(模型化): 解决一个问题,首先在于把握问题内部的本质结构和本质关系,我们把问题的本质结构和本质关系称为模型,用适当的语言把模型描述出来称为建立模型。 无论用什么工具和手段来解决问题,我们都需要建立问题的模型。只有建立了正确的模型,才有可能解决问题,得到我们所要的结果。 信息工程学院信息工程学院设计: 源于工程学用来开发求解给定问题的系统和设备。 主要要素为需求说明、规格说明、设计和实
44、现方法、测试和分析,重复出现的12个基本概念。 蕴含学科基本思想的重要概念是计算机学科方法论的第二个方面。 作为问题求解过程中要考虑的一些要点,对它们的深入了解,并在实际工作中使用这些概念,是学生能成为计算机科学家和工程师的重要标志之一。 这些概念包括: 信息工程学院信息工程学院绑定: 通过把一个抽象的概念和附加特性相联系,使得抽象的概念具体化的过程。也就是具体问题的合理抽象描述和抽象描述对具体问题的恰当表示。大问题的复杂性: 随着问题规模的增长,复杂性呈非线性增加的效应。这是区分和选择各种方法的重要因素。依次来度量不同的数据规模、问题空间和程序规模。概念和形式模型: 对一个想法和问题进行形式
45、化、特征化、可视化和思维的各种方法。这是实现计算机问题求解的最典型、最有效的途径。一致性和完备性: 包括正确性、健壮性和可靠性这类相关概念。从某种意义上说,这是一个计算机系统所追求的。信息工程学院信息工程学院效率: 关于诸如空间、时间、人力、财力等资源消耗的度量,要求人们在设计和实现系统时,要对相应的因素给予强烈的关注。演化: 变更的实施和它的意义。变更时对整个系统的各个层次所造成的影响,以及面对变更的事实,抽象、技术和系统的适应性及充分性的过程。抽象层次: 计算中抽象的本质和使用。在处理复杂事物、构造系统、隐藏细节和获取重复模式方面使用抽象,通过具有不同层次的细节和指标的抽象,能够表达一个实
46、体和系统。 信息工程学院信息工程学院按空间排序: 在计算机学科中局部性和近邻性的概念。除物理上的定位外,还包括组织方式的定位,及概念上的定位。按时间排序: 事件排序的时间概念。包括在形式概念中把时间作为参数,把时间作为分布于空间的进程同步的手段,作为算法执行的基本要素。重用: 在新的情况或环境下,特定的技术概念和系统成分可被再次使用的能力。信息工程学院信息工程学院(11)安全性: 软件和硬件系统对合适的请求给予响应,并抗拒不合适的、非预期的请求以保护自己的能力;系统承受灾难事件的能力。(12)折中与决策: 计算中折中的实现和这种折中的处理意见。选择一种设计来代替另一种设计所产生的技术、经济、文
47、化等方面的影响。 折中是存在于所有知识领域各层次上的基本事实。 例如:算法研究中时间和空间的折中,对于矛盾的设计目标的折中,硬件设计折中,在各种约束下优化计算能力所蕴含的折中。信息工程学院信息工程学院2 2、典型的学科方法、典型的学科方法 典型的学科方法是计算学科方法论的第三部分。包括数学方法和系统科学方法。(1)数学方法 数学方法是指以数学为工具进行科学研究的方法,该方法用数学语言表达事物的状态、关系和过程,经推导形成解释和判断。 包括问题的描述、变换。如:公理化方法、构造性方法(以递归、归纳和迭代为代表)、内涵与外延方法、模型化与具体化方法等。 其基本特征是:高度抽象、高精确、具有普遍意义
48、。 它是科学技术研究简洁精确的形式化语言、数量分析和计算方法、逻辑推理工具。 信息工程学院信息工程学院(2)系统科学方法 系统科学方法的核心是将研究的对象看成一个整体,以使思维对应于适当的抽象级别上,并力争系统的整体优化。 一般遵循如下原则:整体性、动态、最优化、模型化。 具体方法有:系统分析法(如结构化方法、原型法、面向对象的方法等)、黑箱方法、功能模拟方法、整体优化方法、信息分析方法等。 我们在系统设计中常用的具体方法还有:自底向上、自顶向下、分治法、模块法、逐步求精等。信息工程学院信息工程学院二、相关学科及影响本学科教育的因素二、相关学科及影响本学科教育的因素 计算机科学与技术学科正在加
49、速向其他学科渗透,不仅成为信息科学的基础,而且还在同其他学科的结合中形成新的研究领域。 因此,一方面,计算机科学与技术学科在其他学科的改造中扮演着重要的角色。 另一方面,不断增长的应用需求和学科本身研究的进展推动着计算机科学与技术学科迅速地发展和延伸,以至其他经过扩展和发展形成的新学科被称为计算科学与技术学科的分支学科。信息工程学院信息工程学院1 1、计算学科分类、计算学科分类 20世纪60年代至70年代这段期间,计算机专业的课程体系大多数都是基于ACM68课程体系(后来发展为ACM78课程体系)。 到了20世纪70年代末,教学计划的多样性局面开始出现,但那时的计算机学科仍然是基础。 计算学科
50、仍然是一个年轻的学科,学科的高速发展决定了他的内容的加速增长,形成了有计算机科学(CS)、计算机工程(CE)、软件工程(SE)、信息系统(IS)、信息技术(IT)。 甚至还有网络工程、电子商务、信息安全等新派生的分支。这些分支拥有共同的核心。信息工程学院信息工程学院2 2、技术的变化、技术的变化 影响计算机学科变化的大部分因素来自于技术的进步。 Intel公司创始人戈登摩尔在1965年预测:微处理器芯片的速度将每18个月翻一番。我们称之为摩尔定律。该定律目前继续成立。 可以看到,可用的计算机能力是以指数速度增加的,这使得几年前还无法解决的问题在近期得到解决成为可能。 学科其他方面的变化更大,例