APP下载

计算思维究竟是什么

2015-09-10王荣良

中国信息技术教育 2015年23期
关键词:人脑计算机学科

思维

要理解什么是计算思维,首先要理解什么是思维。

经典的说法为思维是人脑对客观事物间接的、概括的反映。

首先,思维是人脑对客观事物的反映,也就是说,思维的主体是人,而不是其他。思维一定指的是人所具有的。计算思维也一定是人的思维,而不是计算机的思维,因为计算机不能成为思维的主体。至少到目前为止,还没有证据能论证计算机能思维。至于计算思维中的客体,即客观事物是什么,将在本文的第二部分讨论。

其次,思维具有两大特性:概括性和间接性。

思维是在人脑对各器官获取的感性材料的基础上,把一类事物的共同本质特征的规律抽取出来,加以概括,这就是思维的概括性。例如,“笔”有铅笔、钢笔、圆珠笔,其颜色、形状、材质等外部特征可能各不相同,而“笔是人类创造的专门用于书写的工具”就是其本质特征的概括。同样,我们把人们的加减乘除运算行为、计算机对数值和字符的处理动作,都概括为符号串按一定规则变换的过程,也就是计算的概念。

思维的概括性是指能从部分事物相互联系的事实中找到普遍的或必然的联系,并将其推广到同类的现象中去。例如,借助思维,人们可以认识温度的升降与金属胀缩的关系,认识计算机的特性对社会生产学习生活的影响。

间接性是思维的另一特性。思维要依靠感性认识,但又远远超脱于感性认识的界限之外,去认识那些没有直接感知过的或根本无法感知到的事物,以及预见和推知事物发展的进程。例如,人们无法感知恐龙的生活情景,但考古学家可以通过化石来推测,这就是思维的间接性发挥作用。同样,人们无法直接观察到计算机内部运算器的电流变化,但通过间接信息的输出,可以得出运算器正在进行某种运算的结论。

再次,我们说思维是人脑对客观事物概括的和间接的反映,需要说明的是,这里的反映不只是静态的结果,实际上思维是一个过程。思维的本质是思维主体即人脑的一种运动。思维是指人有意识地、连续性地获取各种环境信息,由人脑对获得的环境信息和已有的经验信息(或称为已经完成的运算结果)进行一系列的运算,得出应对环境变化方案的运动。在这里,运算包括传递、提取、存储、删除、对比、排列、组合等多种最简单、最基本的操作。

学生的学习,就是要通过感知认识事物的个别属性和外部联系,获得感性认识,而且还需要在感性认识的基础上,通过复杂的思维活动,认识事物的本质和规律,获得理性认识。因此,学生的学习过程,就是人脑对客观事物的本质和规律的概括和间接的反映过程,也就是思维的过程。

计算思维是关于计算学科的思维

每一门学科,都会有不同的学科思维。各种学科思维有共性,但不同学科有待解决的基本问题不同、研究方法不同,因而肯定也有不同的思维特征。

数学思维是人脑和数学对象交互作用并按一般的思维规律认识数学规律的过程。具体来说,数学思维就是以数和形及其结构关系为思维对象,以数学语言和符号为思维的载体,并以认识发现数学规律为目的一种思维。逻辑思维就是一种典型的数学思维,其中逻辑推理是其判断结论的重要工具。在逻辑思维中,首先需要有一个称为公理的命题集合,然后有一个推理规则,从公理出发严格地运用推理规则可以产生相应的结论或定理。

而实证思维就是以物理学为代表的一种典型思维形式。在实证思维模式中,人们通过观察和实验,得出一些揭示客观世界的结论,这些结论最重要的部分都是以定律的形式出现。我们现在所使用的就是基于伽利略、牛顿、爱因斯坦等科学家建立起来的物理科学系统。在这个系统中,我们从少数几个定律出发,建立起解释整个客观世界的架构。其中,实证是实证思维的核心。

当然,并不是数学学科只有逻辑思维,物理学科只有实证思维。数学也有观察,在实证思维模式中,观察获得的数据也需要用数学的方法分析,形成模型。不同学科思维方式和实施方法有交叉,但这不能改变两种不同学科的两种不同思维所具有的不一样的核心思维方式。

归纳起来,以上两种思维都有这样的思维特征:其一,思维活动是通过语言和文字为载体来表达的;其二,思维的表达方式必须遵循一定的格式,需要符合一定的语法和语义规则;其三,以合理的方式表达,可以使他人不必重复思维的过程就能相信结论。这三个特征也是一般科学思维的基本特征。

当然,并不是所有的思维都具备这些特征。人类活动中还涉及其他的思维方式,如类比、联想和灵感,这些思维不仅伴随着人类活动的全过程,而且还是很多创新思想的源泉。然而,计算思维与逻辑思维和实证思维一样,是一种具有上述特征的典型科学思维。

作为计算思维,主体一定是人及人脑。客体,即客观事物,应该是计算、计算规则与过程以及支持计算的装置。要理解计算思维,首先要知道什么是计算,什么是计算过程,什么是计算装置。

两数相加是一种计算,人脑是计算装置。当然计算不仅仅是算术运算,仔细分析计算过程,两数相加是加数和被加数由计算装置即人脑按规则变换后得出计算和。如果把所有的运算数都抽象为字符串,则计算可以描述为:计算是从已有的符号开始,一步一步地改变符号串,经过有限步骤,最终得到一个满足预定条件的符号串的过程。这里的“有限”很重要,如果没有规定有限步骤,就不能保证计算能够完成。

把人脑的计算过程表达出来,用非人脑的装置实现计算,是一件很有挑战性的工作。早期的机械式计算器,执行两数相加等算术运算,利用大小齿轮的关系表达运算规则,可以一步一步实现运算,这称为机械计算。现在的计算机,尽管用电子装置代替了机械装置,但从与人脑的关系来看,与机械装置有相似,因此,也称为机械计算。

计算思维一定是人脑的思维,是人脑对计算、计算规则与过程以及计算装置的概括和间接的反映。这里的计算,应该是指能够用语言和文字表达的计算,能够用机械(电子)装置实现的计算,研究范畴是机械计算。至于人脑计算的研究,其机理相当复杂,属于脑科学、心理学研究的范畴。

根据国际计算机学会(ACM)给出的定义,计算学科是对描述和变换信息的算法过程进行的系统研究,包括理论、分析、设计、效率、实现和应用等。计算学科涵盖了对计算过程的分析以及计算机的设计和使用。由此可见,计算学科的研究内容是计算思维的客体,计算思维一定是关于计算学科的思维。当然,计算思维不是计算学科唯一的思维方式。

在数学发展史上,笛卡尔利用坐标技术,实现用代数语言描述几何,进而成功地把人类的许多思维活动归结为计算。此后,数学家希尔伯特提出用此思路可以一揽子解决所有的数学问题,即设计出一个完整的算法A,对于任何给定的数学问题,A经过有限次的机械计算,停机并给出问题的正确答案。这就是著名的“希尔伯特纲领”,其核心是把数学还原为一种有限过程。尽管这个纲领最终没能实现,但相关研究的工作却真正弄清楚了什么是计算,什么是算法,对计算思维所涵盖的主要概念进行了深入的揭示。计算思维表达了这样一个过程:将一个问题用代数语言(或其他约定的规范语言)进行形式化表达,然后按预设的规则进行有限次的字符串变换,最后得到问题的解。

不同于物理学科研究自然规律的实证方法,也不同于数学学科中的逻辑推理方法,计算学科更强调构造性。在数学中,与构造性相对应的是存在性证明,这是数学学科常用的一种证明方法,如证明某一数轴区间中存在实数解,证明某个函数可导等。构造性更强调的是通过一系列步骤给出某个对象,或给出某个对象的计算方法。因此,在计算学科中,关注的是如何构造一个计算模型,如何构造一种算法,然后可以按部就班地经有序步骤进行求解。基于计算学科的构造性,计算思维的标志是有限性、确定性和机械性。计算思维表达的方式必须是一种有限的形式;计算思维表达的语义必须是确定的,在理解上不会出现因人而异、因环境而异的歧义现象;计算思维体现的是一种机械的方式,可以通过机械的步骤来实现。

计算思维是一种技术性思维

技术是指人们利用现有事物形成新事物,或是改变现有事物功能、性能的方法。技术的产生是为了弥补人类自身生理上的不足。技术作为对人的自然躯体缺陷的补充,表现为人的经验和认知,技术往往是以工具的形式存在并为人类服务。当人从动物界分离出来以后,就与技术结下了不解之缘。特别是当近代科学诞生以后,技术与科学合二为一,使技术的有效性更为彰显。技术的发展史表明,其发展正是沿着从肢体到躯干到脑的延长的逻辑进行的,计算学科所对应的计算工具研究,就是沿着这一路径进行的。

随着社会活动领域的不断扩大,人类所面临的问题也越来越多,越来越复杂,技术在解决这些问题过程中所扮演的角色就越来越重要。于是,技术性思维占据了人类的头脑:所有问题归根到底都只是技术问题,所有问题都可以通过技术来解决。人类正是凭借技术性思维创造出巨大的物质财富。

技术性思维是一种建立在标准化模式之上,以控制外部自然、追求最佳效率为基本宗旨,以达到物质利益最大化为归宿的思维方式。计算思维具备技术性思维的一般特征。

计算思维与技术性思维一样,其原始逻辑是数学。数学的清晰、严谨、确定,是建立在撇开具体分析内容的纯形式的抽象性和规整性基础之上的,把世界仅仅归纳为它的量和形的方面。在数学和逻辑分析的基础上,一切自然被量化和形式化,并能依据公理和规则在数量上精确地加以运算。

计算思维与技术性思维一样,旨在征服和改造自然,以及控制外部自然。计算思维涉及的对象是通过对计算规则和计算装置的控制,完成计算过程。按计算思维这一思维方式,人们不仅可以设计和控制机械计算装置,而且还可以把人自身像运行一部计算机器一样来组织、协调和管理。

计算思维与技术性思维一样,反映的是一种效率逻辑,总是把手段的最佳、效果的最好作为价值标准。一项技术一旦被发明出来,它就会以其“效率”“舒适”等功能吸引人们去采用、去适应。计算思维所对应的计算学科,正是以这种特征指导人们从科学的预测出发,权衡利弊,合理地设计计划或方案,发明新技术,开发新产品。

计算思维与技术性思维一样,通过标准化方式来规范技术,追求效益,控制自然。标准化促进了现代技术的有效发展,计算思维作为一种技术性思维,在其形式化表达、系统设计、产品制造、工具使用等活动中,可以发现标准化的作用。

尽管业界在关于技术性思维对人类发展的作用方面仍有争议,但比较计算思维与技术性思维在标准化、对自然的控制要求以及效率最大化追求等方面的相似,有助于理解计算思维。计算思维不是一种纯理论的思维,也不是一种纯工程的思维,而是在理论指导下的具有明显技术特征的构造性思维。

计算思维是跨接现实世界和计算机世界的思维

在没有出现计算机以前,人类面对的现实世界主要是一个物理世界,人们每天处理着大量的物理量,进行着生产、生活以及学习活动。有了计算机以后,计算机构成了一个独特的世界,它是按人的规定有限地反映现实世界,模仿人类处理现实世界的物理量,同时也构建了与现实世界不一样的时空观。我们把这个称为计算机世界,那么,人、现实世界、计算机世界之间是什么关系呢?显然,人类是按预设的目标要求,通过对现实世界的分析,来规划、设计、构造计算机世界的。在这个规划、设计、构造计算机世界的过程中,蕴涵着人的计算思维。

周以真教授把计算思维的本质论述为2A,即抽象(Abstraction)和自动化(Automation)。除了抽象和自动化,设计也是很重要的特质,可以合理解释计算思维在现实世界和计算机世界之间的关系和作用。现实世界、计算机世界与反映计算思维的抽象、自动化以及设计关系如下图所示。

抽象是指在思维过程中对同类事物去其次要的、现象的方面,抽取其主要的、共性的方面。数学抽象的特点是抛开现实世界的物理、化学和生物等特性,仅保留其数的关系和空间的形式。计算思维中的抽象比数学抽象更加丰富,它要依据计算模型对现实世界中要处理对象的属性、规则、方法进行抽象和形式化表达,为构建计算机世界提供依据。

计算机世界本质上是一个人造物,这个人造物与现实世界中其他的人造物不同之处在于它有自动化的特性,即计算机可以根据人类对现实世界抽象的规则,机械地一步一步地自动执行。设计是计算思维的重要外化,反映了计算思维具有的技术和工程特性。现实世界经抽象形成规则以后,需要经过设计过程,才能实现自动化。而设计的结果,需要在现实世界中检验。

因此,计算思维跨接现实世界和计算机世界,它可以指导人们构造计算机世界,认识计算机世界,运用计算的原理与思想认识自然和改造自然。

结论

从思维的定义来看,计算思维是人们面对计算问题时对计算对象能动的、间接的、概括的反映。从计算学科而言,计算思维反映了计算学科的基本问题和基本方法。从心理学角度出发,计算思维是人脑对计算及相关信息的接收、选择、分析、加工的高级精神活动。站在教育教学角度,计算思维是在对计算的教学和研究过程中体现的思想或心理过程的表现。作为中小学教师,最关心的则是计算思维的教学内容和教学方法。

事实上,计算思维作为一种思维过程,很难用知识描述的方式显性呈现。工具表现是计算思维的一种外显形态,讨论支持计算思维活动的工具和方法是研究计算思维的一种途径,或者说,方法是计算思维的重要内容。计算思维的方法可分为数学方法和工程方法,其中数学方法涉及抽象、递归、证明、形式化表达等,工程方法包括系统方法、分治法、面向过程和面向对象方法等。通过这两类方法的传授,可以有效地培养计算思维。

具备计算思维的人应该具有怎样的能力,这是计算思维的能力表现。计算思维的能力表现肯定是复合的,不是单一的,但与其他学科相比较,最具特点的主要是两方面的能力:抽象能力和构造能力。这里的抽象能力不是数学中抽象的狭义理解,而是以问题解决为目标,能够对现实世界中的事物或对象提取特征、属性、规则,忽略与问题解决不相关的细节,从而形成对事物或对象的形式化表达。构造能力也是计算思维所特有的能力,是依据已知的条件,能够理解或设计一种模型、装置或算法来一步一步解决问题的能力。抽象能力偏重数学和理论,为构造的实现提供基础;构造能力具有技术和工程属性,是抽象在计算机等人造物中的具体实现。

严谨、敏锐、务实是计算思维的特质。严谨是计算思维对数学思维的继承,体现为概念清晰、判断正确、推理有据,按规则来构造解决问题的步骤。敏锐性是思维的一项重要的品质,计算思维的敏锐性主要是指能够准确地预测计算和计算过程,发现其中的问题,并选择合适的解决方法。例如,在程序调试过程中,就需要人们从计算系统反映的现象,敏锐地提出出错模型,然后严谨地推断出问题所在,直至最后的问题解决。务实是一种典型的技术性思维特质,计算思维追求的是系统整体优化,针对研究对象的具体情况选择适当的工程方法,力求节约,寻求以最简便、成本最低、效率最高的方式方法去完成指定项目。

至于如何开展计算思维教育,是一项具有挑战性的工作,有待进一步研究。计算思维教育除了传授计算思维的基本方法以外,还需要培养计算思维能力,还需要探索思维教育过程中存在的一般性问题。计算思维教育要特别强调学生的思辨训练和良好的思维方法形成,以提升学生的思维品质。探究式学习强调学生主动学习,是实现思维教育的一般途径。考虑到构成计算机世界的计算装置这一人造物的工作特性,采用思想实验反映计算步骤和过程,也是一种具有独特价值的计算思维教育教学方法。

参考文献:

[1]李廉.关于计算思维的特质性[J].中国大学教学,2014(11).

[2]杨金华.技术性思维与现代人的生存境遇[J].科学经济社会,2007(4).

[3]王荣良.计算思维:一种新的学科思维方式[J].中国信息技术教育,2013(6).

[4]王荣良.计算思维教育[M].上海:上海科技教育出版社,2014,7.

猜你喜欢

人脑计算机学科
科学构建超学科STEAM课程
人脑拥有独特的纹路
中国计算机报202007、08合刊
深入学科本质的深度学习——以“表内除法”为例
中国计算机报2019年48、49期合刊
中国古代的“计算机”
“超学科”来啦
让人脑洞大开的建筑
创意无限的另类汉堡
学生获奖及学科竞赛