计算机科学与技术方法论
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机科学与技术方法论*
董荣胜古天龙蔡国永谢春光
(桂林电子工业学院计算机系桂林 541004)
METHODOLOGY OF COMPUTER SCIENCE AND TECHNOLOGY DONG Rong-Sheng GU Tian-Long CAI Gou-Yong XIE Chun-Guang (Department of Computer Science and Technology, Guilin institute of electronic technology, Guilin 541004)
摘要本文介绍了“Computing as a discipline”和“Computing Curricula 1991”报告的重要内容,指出了它们对计算机科学与技术方法论的重要贡献。在此基础上,我们以一般科学技术方法论为指导,给出了计算机科学与技术方法论的定义,阐述了计算机科学与技术方法论中的抽象、理论和设计三个学科形态、核心概念、根本问题、数学方法和系统方法的基本内容,指出了计算机科学与技术方法论是计算认知领域的一个理论体系的思想。
关键词方法论学科形态核心概念根本问题数学方法系统方法
Abstract In this paper, two documents of “Computing as a discipline”and “Computing Curricula 1991”are briefly introduced, and their main contributions to the methodology of computer science and technology are pointed out. Then based on the general methodology of science and technology, the definition of computer science and technology is given, and its three paradigms (abstraction, theory, design), fundamental problem, core concept, mathematical methods and system approaches are presented, Finally, we conclude that the methodology of computer science and technology is a new theory in the computing cognition field.
Key words methodology, paradigms, fundamental problem, core concept, mathematical method, systematic approach 1 引言
今天,当我们步入新世纪的时候,计算(Computing)技术作为现代技术的标志,已成为世界许多经济增长的主要动力。计算领域也已成为一个极其活跃的领域,计算学科正以令人惊异的速度发展,并大大延伸到传统的计算机科学的边界之外,成为一门范围极为宽广的学科。如何理解这个学科,引发了长期以来激烈的争论。
为了解决这类争论,学术界进行了大量的工作。1984年7月,美国计算机科学与工程博士单位评审部的领导们,在犹他州召开的会议上对计算教学问题进行了讨论,表面上看这类问题是关于计算教学问题,实际上是关于计算学科的认知问题。这一讨论以及其他类似讨论推动了ACM和IEEE/CS联手组成攻关组并用新的思维方式来理解计算学科。经过近5年的工作,ACM攻关组提交了“Computing as a discipline”的报告,该报告的主要内容刊登在1989年1月的《Communications of the ACM》杂志上[1]。
ACM攻关组提交的报告得到了ACM教育委员会的认可并批准发行,该报告的重要贡献不仅在于它第一次给出了计算学科一个透彻的定义,回答了计算学科中长期以来一直争论的一些问题,更重要的在于,它找到了一个思考我们学科的“知识框架”(Intellectual framework),而非对策;一个指导方针,而非(具体)指示。对“知识框架”进行研究的思想方法就是报告中所指的“新的思想方法”。这个“新的思想方法”是对计算领域几十年来的概括和总结。从某种意义上说,该报告是计算领域认知过程中的一个里程碑,它为建立计算认知领域的理论体系奠定了基础。该报告所提出的“新的思想方法”其实质就是计算机科学与技术方法论的思想方法[2]。
*本文得到九五国防预研项目和广西科学基金项目的资助。
1990年,IEEE/CS和ACM联合攻关组提交了“Computing Curricula 1991”(以下简称“CC1991”)报告[3],报告将主领域增加到11个,并提取了学科中12个反复出现的核心概念。“CC1991”报告与“Computing as a discipline”报告(以下简称“两报告”)密切相关,并使计算学科的方法论研究更加完备。
然而,正如“Computing as a discipline”报告所介绍的那样:在学科的划分问题上,专家们颇费心力,最初专家们偏向于选择“模型”(Model) 与“实现”(Implementation)相对,以及“算法”(Algorithm)与“机器”(Machine)相对,这两种方案无疑都可以反映计算学科各主领域研究的基本内容,但是这两个方案不是太抽象就是彼此的界限太模糊,大多数人无法很好地认同这种划分方法。另外,专家们认识到学科的基本原理已被纳入理论、抽象和设计三个过程中,学科的各分支领域正是通过这“三个过程”而实现它们的目标,于是,便选取了“三个过程”这个方案。由于,“三个过程”研究的内容就是科学技术方法论研究的主要内容,而从分析该报告中提出的“三个过程”来看,专家们不是自觉的以一般科学技术方法论为指导来建立报告中所说的“新的思想方法”。因此,该报告不可避免地忽视了一些重要问题,如:缺乏对“三个过程”相互作用的透彻分析等,从而在一定程度上影响了人们对报告的理解。
正在起草之中的“CC2001”已注意到这个问题,并要求任务组对这三个过程(理论、抽象和设计)进行专门评述[4,5]。不管评述结果怎样,学术界当前一个十分紧迫的任务就是要在前人大量工作的基础上,以一般科学技术方法论为指导完整地建立起计算学科自己的方法论,为理解学科提供方法,为执行新的教学计划做准备。
下面,我们先给出计算机科学与技术方法论的定义,并简要介绍计算学科二维定义矩阵的基本内容。
2计算机科学与技术方法论的定义以及学科二维定义矩阵
由于“两报告”以及关于计算学科本身认知问题的相关工作[7-13],使我们加深了对学科的认识,并使建立计算机科学与技术方法论的时机成熟。下面,我们就以一般科学技术方法论为指导建立计算学科自己的方法论。首先,我们给出计算机科学与技术方法论的定义:
计算机科学与技术方法论是关于计算领域认识和实践过程中一般方法及其性质、特点、内在联系和变化发展的系统研究。它是计算认知领域的一个理论体系,是我们认知计算技术的一个有效工具和方法。
在计算领域中认识指的是抽象过程(感性认识)和理论过程(理性认识),实践指的是学科中的设计过程。抽象、理论和设计是具有方法论意义的三个过程,这三个过程是科学技术方法论中最重要的研究内容。从认识论的角度来看,学科的基本内容包含在抽象、理论和设计三个过程(或形态)之中,不仅如此,也正是因为它们之间的相互作用,促进了学科的发展。
显然,“Computing as a discipline”报告遵循了认识论的思想,给出了计算学科二维定义矩阵(以下简称定义矩阵)的概念并细化了其内容。定义矩阵的一维是“三个过程”(抽象、理论和设计),另一维是主领域。特别当主领域仅为计算学科时,定义矩阵便是本文所指的“知识框架”。该“知识框架”反映了计算领域中人们的认识是从感性认识(抽象)到理性认识(理论),再由理性认识(理论)回到实践(设计)中来的辩证唯物主义思想。在这里,这个“知识框架”也称作学科的知识内涵,它是稳定的;“知识框架”的内容(值)指的是学科的外延,它包括主领域以及各主领域“三个过程”的内容,这些内容(值)将随着计算技术的发展而变化。就“两报告”而言,ACM和IEEE/CS攻关组对学科本质的研究采用了内涵与外延相结合的方法。
由于计算学科二维定义矩阵(“知识框架”)是对计算学科的高度概括。于是,我们可以将把握计算学科的本质问题归约为把握学科二维定义矩阵的本质问题。
要把握定义矩阵的本质,就是要分别把握定义矩阵的“横向”(抽象、理论和设计三个过程)以及“纵向”(各主领域)共有的、能反映各主领域内在联系的思想和方法的本质。
“横向”关系的研究,即抽象、理论和设计三个过程的内在联系与发展规律的研究,是计算机科学与技术方法论研究中最重要的内容。因为学科的基本原理不仅已被纳入理论、抽象和设计三个过程中,更重要的在于,“三个过程”的相互作用,推动了计算学科及其分支领域的发展。
“纵向”关系的研究,既各主领域之间所共有的思想和方法的研究, 将揭示各主领域的内在联系与发展规律,是计算机科学与技术方法论中的主要研究内容之一。