计算机科学概论
上QQ阅读APP看书,第一时间看更新

2.1.2 计算机、计算机科学与计算思维

计算思维(Computational Thinking)的概念最早是由美国卡内基·梅隆大学计算机科学系主任周以真(Jeannette M. Wing)教授(见图2-1)显性地提出并定义的。2006年3月,周以真教授在美国计算机权威期刊《Communications of the ACM》杂志上给出并定义了计算思维。周教授认为:计算思维是运用计算机科学的基础概念进行问题求解、系统设计,以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。

以上是关于计算思维的一个总定义。周教授为了让人们更易于理解,又将它更进一步地定义为:通过约简、嵌入、转化和仿真等方法,把一个看来困难的问题重新阐释成一个我们知道问题怎样解决的方法;是一种递归思维,是一种并行处理,是一种把代码译成数据又能把数据译成代码的过程,是一种多维分析推广的类型检查方法;是一种采用抽象和分解来控制庞杂的任务或进行巨大复杂系统设计的方法;是基于关注分离的方法;是一种选择合适的方式去陈述一个问题,或对一个问题的相关方面建模使其易于处理的思维方法;是按照预防、保护及通过冗余、容错、纠错的方式,并从最坏情况进行系统恢复的一种思维方法;是利用启发式推理寻求解答,即在不确定情况下的规划、学习和调度的思维方法;是利用海量数据来加快计算,在时间和空间之间、在处理能力和存储容量之间进行折衷的思维方法。

图2-1 周以真教授

通过周以真教授对计算思维的定义,我们可以理解为计算、计算机、计算机科学以及计算思维几个概念之间具有如下关系:计算不再仅仅指数学计算,而是一种广义的计算,如规划一个从家步行到校园的路线,或者在几件同类商品中挑选一个最好的商品,我们正是通过“计算”解决生活中的一切实际问题。而计算机(即日常所说的“电脑”)是可以帮助人们执行计算的硬件工具,在一般情况下它具有比人脑更高的计算速度。计算机科学则是研究计算机与其相关领域的现象与规律的科学,抽象一点来说,是研究计算机如何“计算”的科学。在计算机与计算机科学不断发展的过程之中,它们与人类生活的联系越来越紧密,很多应用在计算机科学研究或实践中的思想对人们解决实际生活中的问题具有越来越深刻和普适的指导意义,这些思想总结起来就是计算思维。

计算思维吸取了计算机科学中解决问题所采用的一般数学思维方法,现实世界中巨大复杂系统的设计与评估的一般工程思维方法,以及复杂性、智能、心理、人类行为的理解等一般科学思维方法。计算思维中的“计算”不再单指传统的数学和物理的计算,与数学和物理科学相比,计算思维中的抽象显得更为丰富,也更为复杂。应用计算思维的根本目的是更好地解决实际问题,计算思维建立在计算过程的能力和限制之上,既能由人来完成,更可以由计算能力更强的机器来完成,使原本无法由个人独立完成的问题求解和系统设计成为可能,使我们解决问题的方法和可解决问题的领域大大拓宽。