第1章 绪论
伟大的计算原理是美国ACM前主席Denning教授,2003年在Communications of the ACM上发表的《伟大的计算原理》(Great Principles of Computing)一文中提出的一个旨在弘扬计算机科学的概念框架。
Denning认为,计算(Computing)是一门关于信息处理的科学,现在大量的事实表明,它是一门人工科学,又是一门自然科学。如果我们将不同学科领域存在的问题当作一个计算问题,从计算的角度揭开这些问题的神秘面纱,就有可能推动这些领域的发展,比如生命科学、化学、金融学,甚至法律。而计算原理正是推动这些发展的关键。以前,我们对计算的描述,往往侧重其核心的技术,比如编程、计算机制图、网络、高性能计算等。而如果按“伟大的计算原理”描述计算,其好处如下。
(1)提供理解物理、社会或者其他现象的新方式。
(2)指出解决问题的新途径。
(3)强调创造知识,而不是使用信息。
(4)提高创造和创新能力。
(5)为计算机科学课程的教学提供新的方法,激发同学们的兴趣和爱好。
Denning分析了计算技术,以确定它们所依据的原理,在《伟大的计算原理》一文中将计算的原理划分为五个类别:计算(Computation)、通信(Communication)、协作(Coordination)、自动化(Automation)、记忆(Recollection);2009年6月Denning又在Communications of the ACM上发表了论文《超越计算思维》(Beyond Computational Thinking),增加了评估(Evaluation)和设计(Design)两个类别,总共有7个类别。
计算原理的类别就像是一个计算知识领域的窗口。每个窗口都有各自的视角,从不同窗口看,会发现一些相同的素材。比如,可以从协作的角度来了解网络协议,也可以从通信的角度了解网络协议,还可以从记忆的角度来了解网络协议。Denning相信,这7个类别现在是完整的,并具有持久的影响力。
我国教育部高等学校大学计算机课程教学指导委员会在综合考虑周以真教授和Denning教授研究成果的基础上,在《大学计算机基础课程教学基本要求》(高等教育出版社,2016年1月出版)中给出了计算思维表述体系,如表1.1所示。表中增加了周以真教授非常强调的重要学科原理,即“抽象原理”,给出了相应的42个核心概念,对掌握的重点也做了相应的说明。
表1.1 计算思维表述体系