计算机科学的内涵和外延

曾毅

 

转自微软中国

 

要想学好计算机科学,我们认为首先要对计算机科学研究的内涵与 外延至少有一个概要性的了解。对于刚刚入学的计算机系学生以及虽然学习了很长时间的计算机,但是还是觉得很迷茫的学生来说,究竟计算机科学研究的是什么大 部分人可能还不清楚,本文着力论述计算机科学的研究范畴,以对同学们有所启发。

谈到计算机的历史中对计算机科学方向性的确定最应当提的就是美国计 算机协会,1946年,美国在华盛顿哥伦比亚大学成立了美国计算机协会ACMAssociation for Computing Machinery 他们对计算机学科的发展做出了前瞻性的预测:将计算机学科的发展方向分为三个部分:

[]计算机基础问题的研究:

1)计算理论: (theory of computation)

计算理论是关于计算和计算机械的数学理论。

主要内容包括:

1.算法(algorithm):解题过程的精确描述

2.算法学(algorithmics):系统的研究算法的设计,分析与验证的学科

3.计算复杂性理论(computational complexity theory):用数学方法研究各类问题的计算复杂性学科。

4.可计算性理论(computability theory):研究计算的一般性质的数学理论。

5.自动机理论(automata theory):以研究离散数字系统的功能和结构以及两者之关系为主要 内容的数学理论。

6.形式语言理论:用数学方法研究自然语言和人工语言的语法理论。

2)计算几何学 :(Computational geometry

研究几何外形信息的计算机表示,分析和综合的新兴边缘学科,它是计算机辅 助几何设计(CAGD)的数学基础。

主要内容如:

1.贝塞尔曲线和曲面 2.B样条曲线和曲面 3.孔斯曲面

3)并行计算问题 : (parallel computation)

所谓并行计算就是同时执行多个计算问题

他的延伸学科有:

并行编译程序(parallel zing compilers)

并行程序设计语言(parallel programming language )

并行处理系统(parallel processing system

并行数据库(parallel database

并行算法(parallel algorithm

4)形式化方法(formal method)

建立在严格数学基础上的软件开发方法。软件开发的全过程中,从需求分析,规约,设计,编程,系统集成,测试,文档生成,直至维护各个阶段,凡是采用严格的数学语言,具有精确的数学语义的方法,都称为形式化方法。

5)程序设计语言理论: Theory of programming language

研究书写计算机程序语言的学科。

主要内容:研究语法,语义,语用以及程序设计语言的优劣。

  (6)人工智能:

我国人工智能创始人之一,北京科技大学涂序彦教授对人工智能这样定义:人工智能是模仿、延伸和扩展人与自然的智能的技术科学。在美国人工智能官方教育网站上对人工智能作了如下定义:Artificial Intelligence, or AI for short, is a combination of computer science, physiology, and philosophy. AI is a broad topic, consisting of different fields, from machine vision to expert systems. The element that the fields of AI have in common is the creation of machines that can "think".

研究的问题:

1)符号主义: (符号学派)

符号计算与程序设计基础

知识表达方法 :知识与思维,产生式规则,语意网络,一阶谓词逻辑

问题求解方法:搜索策略,启发式搜寻,搜寻算法

问题规约方法

谓词演算:归结原理,归结过程

专家系统:建立专家系统的方法及工具

2)联接主义(神经网络学派)

神经网络学派通过研究模拟生命神经组织的工作状况,力求突破人工智能的一些前沿问题。1988年美国权威机构指出:数据库,网络发展呈直线上升, 神经网络可能是解决人工智能的唯一途径。

[]系统:

7)体系结构:

众所周知计算机界的摩尔定律:计算机硬件性能每18个月翻一番,现在基本上还可以保持这个速度,高计算机体系结构需要大量的人力物力,我们国内只有清华,国防科大,哈工大搞这方面的工作。

目前的新型计算机有:光计算机,量子计算机 ,生物计算机。

8)网络与通讯:

目前美国已经铺遍了第二代英特尔网,用于远程教学,远程诊断(如机械诊断)我国第二代Inter网上的协同国家重点实验室的评估由北航软件所负责单位,关于具体的研究内容我们在今后的文章会涉及。

9)面向对象:(OOA,OOD,OOP

设计类及由类构造程序的方法与过程,用计算机对象模拟现实世界对象。

10)约束程序设计:

含有变量的关系表达式称为约束。

11)软件工程:

应用计算机科学,数学及管理科学等原理,开发软件的工程学科

CMM划分将软件工程的等级划分为0—9级,中国的软件设计处于3

12)软件质量控制:

软件质量:反映软件系统或软件产品满足明确或隐含需求能力的特性总和。

13)实时系统与嵌入式系统

实时系统:时间标准完全等于系统原模型的系统。

嵌入式系统:作为一个信息处理部件嵌入到其他系统当中的系统。

14)数据库系统( Database System)

简称 DBS.DBS是实现有组织地、动态地存储大量相关的结构化数据,方 便各类用户 使用数据库的计算机软件/硬件资源的集合。

即采用了数据库技术的计算机系统。

15)大规模计算中的I/O

在大规模计算中实现计算机主机与外围设备进行信息交换的技术。

[]计算机应用:

16)科学与工程计算:

这个范围很广,简单说说就有: 生物信息处理 ,天气预报等等

17)电子商务与数字化图书馆

18)人机交互: 三维虚拟现实:应用方面比较突出的比如说外科手术

19)计算机教育:用于教学,培养计算机人才

关于未来的计算机究竟向何方向发展,我们不妨了解一下,中国科学院前不久对中国计算机科学发展趋势作出了如下论断: 概括起来即是:MMOON

即:超大规模计算机+多媒体处理能力+开放式的系统结构+面向对象+网络上的计算将会创造一个人机和谐的计算环境。

下面再谈谈计算科学研究的主线,看看对大家有没有一定的启发:从最底层往上谈起

应用层:

移动计算与全球定位 计算机自动控制 计算机辅助制造 计算机集成制造系统

机器人学 计算可视化与虚拟现实 数据与信息检索 计算机创作 计算机网络应用软件

科学计算 多媒体信息系统 计算机辅助设计 信息管理与决策系统 自然语言处理

模式识别与图像处理技术 计算机图形学 计算几何 人工智能与知识工程

数据表示与存储 网络与开放系统互连标准 软件测试技术 人机工程学(人机界面)

计算科学专业基础层:

软件开发方法学:软件工程技术,程序设计方法学,软件开发工具和环境,软件开发规范

编码理论 密码学 计算机体系结构 程序理论 数据表示理论与数据库系统

电子计算机系统基础 计算机接口与通信 计算机网络与数据通信技术 自动推理

故障诊断与器件测试技术 容错技术 汇编技术 操作系统 高级语言程序设计

数字系统设计 符号计算与计算机代数 数据结构技术 算法设计与分析 编译与解释技术

计算科学基础层:

控制论基础 数字系统设计基础 信息论基础 网论(Petri网理论等) 形式语义学

框图理论 算法理论 可计算性(递归论) 计算复杂性 程序设计语言理论

计算模型(各种抽象机) 模型论与非经典逻辑 公理集合论 形式语言与自动机

数学与物理层:

 

光电子技术基础 电路基础 电子线路基础 数字与模拟电路基础 数值分析与计算方法

大学物理学 函数论基础(复变函数,演算,泛函分析) 泛代数 概率论与数理统计

常微分方程 偏微分方程 集合论与图论 组合数学 抽象代数 数理逻辑基础

空间解析几何 数学分析 布尔代数 高等代数 数论

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值