“计算作为一门学科”的定义
Computer science and engineering is the systematic study of algorithmic processes-their theory, analysis, design, efficiency, implementation, and application that describe and transform information. The fundamental question underlying all of computing is, What can be (efficiently) automated . This discipline was born in the early 1940s with the joining together of algorithm theory, mathematical logic, and the invention of the stored-program electronic computer.
计算机科学和计算机工程是 对计算过程(algorithmic processes)的系统研究,计算过程包括描述信息和转换信息的理论、分析、设计、效率、现实和应用。这些计算(过程)的基本问题是什么是能够被有效 地自动化的。这一学科起始于上世纪四十年代初,结合了算法理论、数理逻辑和存储程序式电子计算机的发明。
The roots of computing extend deeply into mathematics and engineering. Mathematics imparts给予;传授 analysis to the field; engineering imparts design. The discipline embraces its own theory, experimental method, and engineering, in contrast with most physical sciences, which are separate from the engineering disciplines that apply their findings (e.g., chemistry and chemical engineering principles). The science and engineering are inseparable because of the fundamental interplay between the scientific and engineering paradigms within the discipline.
计 算学科的基础深深植根于数学和工程学,吸收了数学的“分析”和工程学的“设计”。同时,计算学科包含了自己的一套理论、实践方法和工程学;而一般的学科不 是这样的,像物理的科学是把理论学科与工程学科分开的(比如,化学与化工原理)。计算学科的科学理论与工程学不分开的原因是……FIXME
For several thousand years, calculation has been a principal concern of mathematics. Many models of physical phenomena have been used to derive equations whose solutions yield predictions of those phenomena-for example, calculations of orbital 轨道的 trajectories弹道, weather forecasts, and fluid flows. Many general methods for solving such equations have been devised-for example, algorithms for systems of linear equations, differential equations, and integrating functions. For almost the same period, calculations that aid in the design of mechanical systems have been a principal concern of engineering. Examples include algorithms for evaluating stresses in static objects, calculating momenta动量 of moving objects, and measuring distances much larger or smaller than our immediate perception.
几千年以来,算术一直是数学至为关心的内容。有很多物理现象的模型被用来创立方程式,并通过计算该方 程式对物理现象进行预测,比如像弹道轨迹的计算、天气广播和流体力学。很多解这些方程式的通用方法也发明出来了,比如,线性方程组、差分方程和积分方程的 算法。几乎在同一时期,算术用于辅助机械系统设计也成了工程学至为关心的内容。例子如静止物体压力评估的计算、运动物体的动力量计算等。
One product of the long interaction between engineering and mathematics has been mechanical aids for calculating. Some surveyors' and navigators' instruments date back a thousand years. Pascal and Leibniz built arithmetic calculators in the middle 1600s. In the 183Os, Babbage conceived of an “analytical engine” that could mechanically and without error evaluate logarithms, trigonometric functions, and other general arithmetic functions. His machine, never completed, served as an inspiration for later work. In the 192Os, Bush constructed an electronic analog computer for solving general systems of differential equations. In the same period, electromechanical calculating machines capable of addition, subtraction, multiplication, division, and square root computation became available. The electronic flip-flop provided a natural bridge from these machines to digital versions with no moving parts.
工程学与数学之间的一个一直以来合作的产品便是计算器(机械辅助计算的工具)了。最早的计算工具可追溯回千年以前;Pascal和 Leibniz在17世纪中期发明的机械式算术计算器。19世纪三十年代,Babbage曾构想过一架“分析机”,一种可以计算对数、三角函数和其它一般 的算术函数的机械装置。“分析机”没有被完成,它的思想却保存下来了。到二十世纪二十年代,Bush 建造了一台可解差分方程组的电动模拟计算机;同时期,可进行加减乘除和开平方的电动机械式计算机也被开发出来了。电子触发器(flip-flop)是从机 械式到电气式计算机的很自然的过渡桥梁。
Logic is a branch of mathematics concerned with criteria of validity of inference and formal principles of reasoning. Since the days of Euclid, it has been a tool for rigorous mathematical and scientific argument. In the 19th century a search began for a universal system of logic that would be free of the incompletenesses observed in known deductive systems. In a complete system, it would be possible to determine mechanically whether any given statement is either true or false. In 1931, Godel published his “incompleteness theorem,” showing that there is no such system. In the late 193Os, Turing explored the idea of a universal computer that could simulate any step-by-step procedure of any other computing machine. His findings were similar to Godel's: some well-defined problems cannot be solved by any mechanical procedure. Logic is important not only because of its deep insight into the limits of automatic calculation, but also because of its insight that strings of symbols, perhaps encoded as numbers, can be interpreted both as data and as programs.
逻辑学作为数学的一门分 支,主要研究推论和推理的形式原理的合法性的标准(criteria )。自欧几里德以来,逻辑是数学(证明)和科学论证的严谨工具。到19世纪人们开始研究通用逻辑系统,目的为了解决现有的推理系统的不完全性。在一个完全 的系统中,可以机械地判定一个命题的真值,不受自然语言的模糊性影响。1931年,哥德尔发表“不完全性定理”,证明不存在这样的系统。三十年代后期,图 灵探索了通用计算机模型——可以模拟任何计算机器过程的抽象计算机。图灵的发现类似于哥德尔的“一些定义良好的问题不能机械地解决”。逻辑的重要性不仅在 于它深刻揭示自动化计算的局限,还在于它深刻揭示了符号串(也可能被编码成数字)可以被解释成数据或指令。
This insight is the key idea that distinguishes the stored program computer from calculating machines. The steps of the algorithm are encoded in a machine representation and stored in the memory for later decoding and execution by the processor. The machine code can be derived mechanically from a higher-level symbolic form, the programming language.
后一个揭示是区分存储程序式计算机与计算器的关键点。算法的步骤可被编码成机器指令并存放于内存用于处理机执行时再进一步对指 令解码。(算法的步骤的)机器指令可以从更高级的符号——高级语言(通过编译系统)翻译而得。(KEMIN:这里是理解算法的本质的关键点。为什么说符号 串可以被解释成数据或指令是得益于对数理逻辑的研究呢?)(kemin:算法的本质——符号运算!可以拿算术运算来比较理解。二者都是算得一个结果的过 程,只是计算的材料和规则大不一样。符号是一般化了的数字,符号不仅仅有数字的语义,可被赋任何语义!而计算规则也可因问题而定。)
It is the explicit and intricate复杂的, 错综的 intertwining of the ancient threads of calculation and logical symbol manipulation, together with the modern threads of electronics and electronic representation of information, that gave birth to the discipline of computing.
在过去,算术与逻辑符号处理本有着错综复杂的关系和交互活动很长一段时期,再加上现代以来的电子技术(用电信号表达信息)便产生了计算学科。
We identified nine subareas of computing:
我们把计算学科划分为九个子领域:
- 1. Algorithms and data structures
2. Programming languages
3. Architecture
4. Numerical and symbolic computation
5. Operating systems
6. Software methodology and engineering
7. Databases and information retrieval
8. Artificial intelligence and robotics
9. Human-Computer communication
Each has an underlying unity of subject matter, a substantial theoretical component, significant abstractions,and substantial design and implementation issues. Theory deals with the underlying mathematical development of the subarea and includes supporting theory such as graph theory, combinatorics, or formal languages. Abstraction (or modeling) deals with models of potential implementations; the models suppress detail, while retaining essential features, and provide means for predicting future behavior. Design deals with the process of specifying a problem, deriving requirements and specifications, iterating and testing prototypes, and implementing a system. Design includes the experimental method, which in computing comes in several styles: measuring programs and systems, validating hypotheses, and prototyping to extend abstractions to practice.
每一个子领域都有自己研究的问题对象、相关理论、抽象模型和设计实现问题。理论是子领域底下的数学模型,包括一些基本的支撑理论,像图论、组合论和形式语言。抽象
(或者叫建模)是理论实现的所有潜在模型;这些模型省略掉细节只留下本质的特征,目的为了能对模型的行为进行预测。设计包括分析问题、评估需求和限制、反复测试问题原型和实现系统的过程……FIXME
Although software methodology is essentially concerned with design, it also contains substantial elements of theory and abstraction. For this reason, we have identified it as a subarea. On the other hand, parallel and distributed computation are issues that pervade all the subareas and all their components (theory, abstraction, and design); they have been identified neither as subareas nor as subarea components.
The subsequent numbered sections provide the details of each subarea in three parts-theory, abstraction, and design. The boundaries between theory and abstraction, and between abstraction and design, are necessarily fuzzy; it is a matter of personal taste where some of the items go.
Our intention is to provide a guide to the discipline by showing its main features, not a detailed map. It is important to remember that this guide to the discipline is not a plan for a course or a curriculum; it is merely a framework in which a curriculum can be designed. It is also important to remember that this guide to the discipline is a snapshot of an organism undergoing constant change. It will require reevaluation and revision at regular intervals.
参考
分享到:
相关推荐
《计算作为一门学科》报告由ACM教育委员会最终认可并发布,由Peter J. Denning、Douglas E. Comer、David Gries、Michael C. Mulder、Allen Tucker、A. Joe Turner和Paul R. Young等多位专家撰写,旨在为计算学科...
计算机学科是一门研究计算和信息处理的学科,旨在描述和变换信息的算法过程,包括对其理论、分析、设计、效率、现实和应用等进行系统研究。计算机学科起源于20世纪40年代初,来源于对算法理论、数理逻辑、计算模型、...
数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象、存储结构、算法和它们之间的关系的学科。因此,数据结构是一个非常重要的基础知识点,对于计算机科学和技术的发展有着深远的影响。 1. 数据结构的...
这门学科关注的是如何组织和管理数据,以便更高效地进行处理和检索。数据结构的形式定义为(D, R),其中D代表数据元素的有限集合,R则表示D上关系的有限集合。 数据结构主要包括三个方面:逻辑结构、存储结构和...
- **学科定义**:1985年,ACM和IEEE-CS合作,最终在1989年发布了“计算作为一门学科”的报告,明确了计算学科的核心内容及其教育框架。 ##### 1.3 计算科学与技术方法论的建立 - **方法论定义**:计算科学与技术...
1984年,美国计算机科学与工程博士单位评审部的讨论促成了计算作为一门学科的共识,将计算机科学、计算机工程、软件工程和信息技术等多个领域统一为计算学科。 计算学科的定义涵盖了对信息处理的算法过程的研究,...
《408计算机学科专业基础综合》是中国计算机专业硕士研究生入学考试的一门重要科目,涵盖了计算机组成原理、数据结构、操作系统和计算机网络四个主要领域。这份资料包含了过去八年的真题及答案,对于备考学生来说是...
1. **文本分类**:文本分类是自然语言处理(NLP)中的一个重要任务,其目标是根据内容将文本自动分配到预定义的类别中。在本项目中,这涉及到将论文按照其研究主题或学科领域进行划分,如计算机科学、数学、物理学等...
绿色化学是一门研究如何在化学过程中减少或消除有害物质产生的学科。与绿色化学类似,绿色计算也强调减少有害物质的产生,但其重点在于计算机系统的整个生命周期内减少对环境的负面影响。两者都注重通过技术创新实现...
- **掌握基本概念、原理与方法**:对于每一门课程,考生都需要熟悉基本概念、理论和实践方法。 - **分析与解决问题**:能够将所学的知识应用于解决具体的理论和实际问题。 - **综合运用能力**:具备将不同课程的知识...
计算机专业计算理论是一门深入探讨计算本质的学科,它涵盖了形式语言、自动机、图灵机的可计算性、递归函数以及计算复杂性等多个重要领域。这些知识点构成了理论计算机科学的基础,对于理解和解决实际计算问题具有...
定义:机器学习是一门专门研究计算机怎样模拟或实现人类学习行为的学科,它使用算法和统计模型,使计算机系统能够在大量数据中找到规律,并使用这些规律来预测或描述新数据。 性质:机器学习是一门多学科交叉的专业...
- **起源与发展**:计算机视觉作为一门学科起源于20世纪60年代初期,而在80年代取得了许多重要的基础研究成果。 - **国际重视**:一些发达国家,如美国,将计算机视觉研究视为对经济和科学有着广泛影响的重大基本...
3. **主要内容**:课程详细讲解了计算学科的发展历程、学科定义及其根本问题,强调了计算学科的三个学科形态(理论、系统和应用),以及硬件、软件、程序、算法和数据结构的核心概念。此外,课程还探讨了计算学科中...
### 机器学习——一门多领域交叉学科 #### 定义 机器学习(Machine Learning, ML)是一门跨学科的研究领域,旨在让计算机具备通过经验自动改进的能力,无需显式编程即可学习并执行任务。该领域涉及到概率论、...
化学信息学,也被称为计算机化学,是一门新兴的交叉学科,随着计算机技术与信息技术的快速发展而兴起,主要关注如何利用这些技术解决化学问题,特别是在分子结构分析、化学数据处理及信息检索方面。化学信息学的发展...