计算机科学的内涵和外延
要想学好计算机科学,我们认为首先要对计算机科学研究的内涵与外延至少有一个概要性的了解。对于刚刚入学的计算机系学生以及虽然学习了很长时间的计算机,但是还是觉得很迷茫的学生来说,究竟计算机科学研究的是什么大部分人可能还不清楚,本文着力论述计算机科学的研究范畴,以对同学们有所启发。
谈到计算机的历史中对计算机科学方向性的确定最应当提的就是美国计算机协会,1946年,美国在华盛顿哥伦比亚大学成立了美国计算机协会ACM(Association 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个月翻一番,现在基本上还可以保持这个速度,高计算机体系结构需要大量的人力物力,我们国内只有清华,国防科大,哈工大搞这方面的工作。
要想学好计算机科学,我们认为首先要对计算机科学研究的内涵与外延至少有一个概要性的了解。对于刚刚入学的计算机系学生以及虽然学习了很长时间的计算机,但是还是觉得很迷茫的学生来说,究竟计算机科学研究的是什么大部分人可能还不清楚,本文着力论述计算机科学的研究范畴,以对同学们有所启发。
谈到计算机的历史中对计算机科学方向性的确定最应当提的就是美国计算机协会,1946年,美国在华盛顿哥伦比亚大学成立了美国计算机协会ACM(Association 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个月翻一番,现在基本上还可以保持这个速度,高计算机体系结构需要大量的人力物力,我们国内只有清华,国防科大,哈工大搞这方面的工作。