人工智能时代的计算思维培养新样态
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

二、计算思维的内涵

(一)计算思维的学科起源

学科是学术的分类,指一定科学领域或一门科学的分支,是一个相对独立的知识体系。自然科学、社会科学、人文科学组成了人类的学科大类。在每个学科大类下,还有具体的学科,比如数学、物理、化学等。一个独立的学科,有相应的研究对象、理论体系、学科思维与方法。研究对象确定了该学科的研究领域;理论体系是指对应的概念、原理、命题和规律等构成的知识体系;学科思维与方法是指学科知识的研究与生成方式。

1.计算学科

计算作为一门学科,是经过长期探索研究最终确定的。计算学科的基础深深根植于数学和工程学,吸收了数学的“分析”和工程学的“设计”。同时,计算学科还应该包含自己的理论、实践方法和工程学。

计算作为一门学科,其基本要素主要包括了研究对象、理论体系和方法论三个方面。从最开始的ACM报告到后续科学家的不断探讨,我们发现,其核心问题是计算学科有没有自己的“新思想方法”。这种“新思想方法”应该是对计算领域几十年来的概括和总结,目标就是要构建计算学科自己的方法论。因而,学术界很多研究者在“新思想方法”的基础上对计算学科的方法论展开了研究。

计算学科的三大问题

1985年,ACM和IEEE-CS联合对“计算作为一门学科”作了存在性证明。经过四年的努力,ACM工作组提交了研究报告《计算作为一门学科》(Computer as a Discipline),报告刊登于1989年1月的Communic Ations of the ACM杂志上。

首先,计算学科的定义。计算学科是对描述和变换的信息的算法过程进行的系统研究,包括理论、分析、设计、效率、实现和应用等。计算学科包括对计算过程的分析以及计算机的设计和使用。计算学科的研究包括从算法与计算性的研究到跟进可计算硬件和软件的实际实现问题的研究,涉及理论研究、实验方法和工程设计,反映了学科的广泛性。

其次,计算学科的核心课程设置。报告中把计算学科划分为九个子领域:算法与数据结构、程序设计语言、体系结构、数值符号计算、操作系统、软件方法与工程、数据库与信息检索、人工智能与机器人、人机交互。每个子领域都有自己的研究问题和对象,以及相关理论。

最后,构建计算学科课程。基于前面的基础,整个科学的综述性引导课程构建,寻求一种统一的思想来认识计算学科的本质,并对计算学科进行系统化和科学化的描述。

2.计算机学科

几千年以来,计算一直是数学中人们最关心的内容。在人类历史上,很多物理现象用数学方程式表示,即用数学的方法对物理现象进行模型化,并通过计算该方程式对物理现象进行预测。随着计算的复杂度越来越高,人们对计算的范围、精度、广度、速度的要求也相继提高,计算逐步从简单计算发展到复杂计算,也就是我们说的科学计算。其复杂度往往超越人脑运算的能力,因此必须使用计算机进行求解。

计算机学科的诞生

自20世纪30年代起,数学家们围绕计算理论开展研究,尝试寻求计算的数学理论模型,弄清计算的极限。由于图灵和冯·诺依曼等人的贡献,存储程序式通用计算机在20世纪40年代问世,人类使用自动计算装置代替人工计算和手工劳动的梦想成为现实。计算机的诞生就是为了更快、更准、更精确地为计算服务。20世纪50年代后期,高级程序设计语言的发展促进了硬件、软件与理论的融合,计算的数学理论、通用电子数字计算机系统、科学计算、高级语言程序设计等多方面的研究使得计算机科学作为一门学科出现。1980年,IBM推出了个人电脑——PC(Personal Computer),正是因为个人计算机的普及以及IBM PC技术资料的公开,企业和个人得以在其计算机系统上开发软件和硬件,这种开放性的思想促进了计算机学科的建立。

(二)计算思维的概念

计算思维作为计算时代的新产物,是一种可以灵活运用各种计算工具与方法求解问题的思维活动。计算思维早在20世纪50年代就开始出现,随着人们对计算思维的深入研究,国内外知名的专家学者们在不同时期,对计算思维进行了多维度的解读。

1.西摩·帕尔特的“程序性(表征性)”计算思维

1980年,计算思维的概念在麻省理工学院(MIT)西摩·帕尔特(Seymour Papert)教授的《头脑风暴:儿童、计算机及充满活力的创意》PAPERT S.Mindstorms:children,computers,and powerful ideas [M].New York:Basic Books,1980:285-286.(Mindstorms:Children,Computers,and Powerful Ideas)一书中首次被提及。西摩·帕尔特使用LOGO编程语言教授学生数学概念时发现,计算机编程可以影响学生的思维。他发现程序思维强调学生使用程序化表征和符号系统来解决问题,像“计算机一样思考”的“程序思维”将是学生思维技能的重要组成部分。1996年,西摩·帕尔特教授在发表的文章中第一次界定了“计算思维”,指出计算思维是使用计算表征的功能表达重要观点,使其更加清晰、明了的过程。刘敏娜,张倩苇.国外计算思维教育研究进展[J].开放教育研究,2018,24(1):13.

2.周以真对计算思维概念的迭代定义

周以真教授提出的计算思维,经过了四次的迭代完善。2006年,她首次提出计算思维的概念,认为计算思维是运用计算机科学基础概念,进行问题求解过程中的一系列的心智技能集合。2008年,她指出计算思维是数学思维、工程思维和科学思维的综合应用。2010年,她再次丰富了计算思维的内涵,认为计算思维是一种解决问题的思维过程,要能够形式化表达问题解决方案。2011年,她指出计算思维是形成问题和制订问题解决方案的思考过程,并能将解决方案表示成能够通过信息加工代理有效执行的方式。综上所述,周以真教授认为计算思维是一种运用计算机学科基础知识和概念,在问题解决的不同阶段运用多种思维的综合分析思维,并能够将问题解决方案描述成信息加工代理有效执行的形式。

3.美国(ISTE & CSTA 2011)K-12教育计算思维操作定义

2011年,美国国际教育技术协会(ISTE)和计算机科学教师协会(CSTA)与来自高等教育、工业和K-12教育领域的负责人联合推出了针对中小学K-12教育计算思维能力的操作定义。这个定义不仅将计算思维描述为问题过程,还给出了计算思维六个阶段要素(如图1-6所示)。

图1-6 计算思维六个阶段要素

2011年,计算思维被纳入美国《K-12计算机科学标准(2011)》。K-12教育中的核心计算思维概念和能力,包括抽象、数据表示、数据收集、数据分析、问题分解、自动化、并行化、模拟、算法和程序。

4.MIT计算思维三维框架BRENNAN K,RESNICK M.New frameworks for studying and assessing the development of computational thinking [C].AERA,2012:1-25.

2012年,美国麻省理工学院MIT实验室Karen Brennan和Mitchel Resnick的研究小组经过多年的实践研究,从Scratch交互式媒体设计活动的特征出发,建立了计算思维的三维框架,主要包括三个维度:计算思维概念(Computational Concept,指设计者在编程时所使用的概念)、计算思维实践(Computational Practices,指设计者在编程中所发展的实践)和计算思维观念(Computational Perspectives,指设计者形成的有关他们身边世界和他们自己的观念)。而三层框架之下,又细分为不同的部分。具体划分如表1-3:

表1-3 MIT计算思维的三维框架

5.Google计算思维的过程定义

Google公司的创始人之一拉里·佩奇(Larry Page)、首席执行官桑达尔·皮查伊(Sundar Pichai)和计算机科学家皮特·诺维格(Peter Norvig)都是计算思维的倡导者和实践者,在公司发展过程中他们把计算思维运用于内部各种业务和项目,如搜索引擎、地图、广告系统等。随着Google公司不断壮大,计算思维逐步成了Google公司的一种核心价值观和工作方式。Google公司提出的计算思维是指将计算机科学中的思考方式和工具应用到解决问题中的一种思维方式。它不仅仅是一种技术,更是一种思维方式。计算思维的核心是通过分解问题、模式识别、抽象建模、算法设计的过程来解决问题(如图1-7所示)。

图1-7 Google计算思维四步骤

6.我国信息技术课程标准对计算思维的定义

2018年1月,我国教育部印发《普通高中信息技术课程标准(2017年版2020年修订)》,突出“立德树人”的核心目标,新课标包含了“信息意识”“计算思维”“数字化学习与创新”“信息社会责任”四大学科核心素养。计算思维作为信息技术四大核心素养之一,以其“面向学科”的特性备受关注。高中信息技术新课标中指出,计算思维需要采用计算机领域的学科方法界定问题、抽象特征、建立结构模型、合理组织数据;通过判断、分析与综合各种信息资源,运用合理的算法形成解决问题的方案;总结利用计算机解决问题的过程与方法,并迁移到与之相关的其他问题解决中。计算思维具体表现为解决问题过程中的形式化、模型化、系统化、自动化。

2022年4月21日我国《义务教育信息科技课程标准(2022年版)》出台,计算思维被定义为:个体运用计算机科学领域的思想方法,在问题解决过程中涉及的抽象、分解、建模、设计算法等思维活动。具备计算思维的学生,能对问题进行抽象、分解、建模,并通过设计算法形成解决方案;能尝试模拟、仿真、验证解决问题的过程,反思、优化解决问题的方案,并将其迁移运用于解决其他问题(如图1-8所示)。新课标中强调,计算思维是信息科技教育的基础和核心,学生应该通过学习计算机科学的基本知识和技能,培养计算思维能力,提高解决实际问题的能力和创新能力。

图1-8 2022年义务教育信息科技新课标中的计算思维要素

7.王荣良教授对计算思维的多角度解读

我国著名计算机科学家和教育家——王荣良教授,对计算思维的探究是深刻且融入教学中的。他认为要理解计算思维的深刻内涵,要从多个角度认识计算思维。

计算思维是一种反省的、有目标的、科学的思维。从计算机科学视角分析,计算思维作为源于计算机学科的思维,是以计算机为具体事物,围绕计算机这一事物的表象,或者通过表象形成概念、规则等进行分析、综合、判断、推理等一系列的认知活动。

从计算机专业的从业人员角度分析,计算思维是以解决计算机学科问题为目标,开展研究、设计与应用等行为活动的一种与众不同的思维。从计算思维角度分析,拥有计算思维的人不一定是计算机专业从业人员,拥有计算思维的人可以是计算机科学家、计算机专业从业人员、计算机应用人员甚至是一般人,一般人拥有的计算思维被称为大众计算思维。大众计算思维支持与计算机相关的应用与设计活动,且以计算机应用为主,设计活动则是针对非计算机专业类的应用学科。但是,无论是专业计算思维还是大众计算思维,都以计算机学科的方法论为基础,按照适应计算机求解问题的基本描述和思维方式考虑问题的描述和求解。

8.计算思维五论说

国内外不同学者从各自的角度对计算思维进行了界定,他们用词频分析法筛选已有概念的核心词汇,通过核心词汇的词频、出现率等指标反映其重要性,提出了计算思维五论说。

第一,问题解决说。问题解决说是业界关于计算思维较为共性的认识,计算思维可能存在多种属性,但是问题解决是其必备的属性之一。张立国,王国华.计算思维:信息技术学科核心素养培养的核心议题[J].电化教育研究,2018,39(5):7.计算思维的核心是将大的问题分解成很多小的问题直到小的问题能够自动化解决。

第二,系统说。计算思维被界定为人对自然、社会及其相关交互的深度理解,是一种系统性的思维,要注重人对现实世界及其规律的认知。

第三,过程说。过程说的发展具有一定的历史,是指将计算思维看作一种信息处理的过程。这个过程可以通过计算机等工具来模拟和实现。过程说的主要特点是强调计算思维中的计算特征,即通过一系列的计算过程来解决问题。

第四,活动及方法说。不少研究者从行为学角度出发,认为计算思维本质上是一种活动,同时也是思考问题的方法,是人们认识世界及改造世界的方法论及实践论。张立国,王国华.计算思维:信息技术学科核心素养培养的核心议题[J].电化教育研究,2018,39(5):7.

第五,工具说。工具说在计算机工程领域,尤其在机器学习方向较为流行,“工具理性主义”倾向较为显著,其基本观点可以表述为计算思维是解决现实问题的工具。张立国,王国华.计算思维:信息技术学科核心素养培养的核心议题[J].电化教育研究,2018,39(5):7.

由此可见,“过程说”突出了复杂系统设计及计算的过程,“活动及方法说”更加注重人们的现实行为,“工具说”则将计算思维看作问题解决的工具。计算思维概念的发展经历了从“计算机科学中的思维方法”到“社会领域的思维方法”的转变,其聚焦对象也从“计算机算法”转向了社会的主体——“人”。不同概念的界定有其理论及技术发展的局限性,无论是“问题解决说”还是“系统说”,乃至“过程说”,都不能有效地涵盖计算思维的核心意蕴,不足以凸显基础教育阶段信息技术课程的基础性、思想性及社会性的价值。

综上所述,计算思维是计算学科最本质的东西,它从学科思维这个层面直接讨论学科的本质问题与学科的思维方式,计算思维的本质是抽象和自动化。计算思维的抽象更丰富、更复杂,它超越物理的时空观,可以完全用符号表示。计算思维的抽象,是为了最终能够机械地按步骤自动执行和解决问题。因此为了确保机械地自动化,抽象过程中必须进行精确、严格的符号标记和建模。

(三)计算思维的特征

周以真教授在对计算思维概念作出相应解释后,为了帮助人们更清晰地理解计算思维,她进一步从以下六个方面对计算思维的特征进行界定:

1.计算思维是人的思维,不是计算机的思维

刚接触计算思维概念之初,人们对其的理解容易产生偏差,部分人会误把计算思维等同于计算机思维,认为计算思维就是像计算机一样认识。计算思维是人的思考,它不是对计算机的认识,也不是像计算机那样思考。它是人类求解问题的一种思维方式。计算机是教条、刻板、按部就班的,是人类的思维让计算机具备了生命力。

人工智能中的计算思维

计算思维作用的人工智能领域是当代最具代表性的技术之一,其发展离不开三大要素:算法、数据和算力(见图1-9)。“算法”是机器智能的灵魂所在,从模式识别到机器学习,人类开发的算法不断推动着人工智能的发展。“数据”挖掘技术更是让机器学习如虎添翼,为人们预测和决断提供坚实基础。“算力”被称为支撑人工智能走向应用的“发动机”,指机器通过不断提高计算能力来满足算法运行和数据处理的需求。显而易见,这三要素都是人类思维和智慧的凝结。在人工智能发展的过程中,机器只是借以解决问题的工具,如果没有人的思维参与其中,人工智能不可能得以实现。同时,人们解决问题依靠机器强大的计算能力,因此具备良好计算思维的人,一定是很好地理解计算机如何工作的人。

图1-9 人工智能三大要素

2.计算思维是思想,不是人造物

首先,计算思维是思想。MIT给出的“计算思维三维框架”将计算思维分解为“计算概念”“计算实践”与“计算观念”三个维度,“计算概念”与“计算观念”是计算学科最基本的解决问题的方法与习惯,它们是人类解决问题的思想方法,指导着人们通过“计算实践”创造性地解决问题。其次,计算思维不是人造物。从本质上讲,虽然人们利用计算思维解决实际问题时,常常会以各类软、硬件资源的形式来呈现成果,但是计算思维指向的不是具体的人造物,而是指向问题解决过程中人们使用的思想。

人脸识别中的计算思维

随着技术的发展,人脸识别技术已经非常成熟,被广泛应用于门禁管理、考勤管理、刷脸支付等场景。虽然人脸识别系统是人们利用计算思维设计出来的,但计算思维并非系统本身,而是体现在系统设计中的计算思想、方法和过程。设计者利用其计算思维参与到项目启动、需求分析、编码(迭代开发与迭代测试)、测试、发布的全过程中(如图1-10所示)。

图1-10 计算思维参与的系统开发全过程

3.计算思维是概念化的抽象思维,而非程序化思维

周以真教授指出计算思维是要让人们像计算机科学家那样去思考,能够运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。同时周以真教授指出,计算思维的本质是abstraction(抽象)和automation(自动化),这就意味着计算思维远不止编程,还要求能够在抽象的多个层次上思考。计算思维是一种思维模式,它主要包括问题分解、模式识别、抽象及算法设计四个过程。计算思维不是编程技术或工具。人们通过编程来实现算法,编程仅是计算思维实现自动化的手段。

4.计算思维是数学思维与工程思维的互补与融合

2010年,周以真教授指出计算思维是与“形式化问题”及其“解决方案”相关的思维过程。“形式化问题”靠的是数学思维。人们通过数学思维形式化地表达现实问题,将现实问题转化为可计算问题,此过程是问题解决的前提。从这一角度看,数学思维是物理世界与计算机世界的联结,是计算思维的基础。“解决方案”的设计具备工程特性。人们在应用计算思维进行问题分解、系统化分析、结构化程序设计时,同时要应用工程思维。因此,计算思维不是单一的数学思维或工程思维,而是两者的互补与融合。

姿态识别中的计算思维

人体姿态识别是计算机视觉研究领域的一个研究热点,通过对人体姿态的识别可以获取比语言更加精准的信息,因此具有广泛的应用前景。现在姿态识别的应用研究主要侧重于:步态识别安防、体感游戏、异常行为检测、体育训练、人机交互、短视频特效等方面。在人们应用计算思维解决姿态识别的过程中,很好地体现了数学思维和工程思维的融合。人们使用工程思维系统性地思考,分析整个项目的关键要素,思考怎么在逻辑、顺序以及功能方面进行有效连接;再使用数学思维对具体问题进行建构,把人体首先想象成由多个关键点连接的结构;最后通过关键点坐标的变化来检测特定部位的运动,将问题转化为可计算问题。

5.计算思维是基础的技能,不是机械的技能

随着人工智能、大数据、云计算等新兴技术的发展,其所隐含的计算方法已经融入人们的实践应用中,并成为衡量一名合格的数字公民的标准。计算思维这种基础性技能不是生搬硬套的机械技能,也不是一种简单、机械的重复,而是一种能够被广泛应用于生活,帮助人们全面理解和适应数字化社会的基础技能。

蒋宗礼教授提出计算思维作为一种基础技术,其能力的培养需要做到如下几点:建立“计算”的基本意识;了解“计算”的基本功能;掌握“计算”的基本方法;会用“计算”的基本工具;具备“计算”的基本能力。蒋宗礼.计算思维之我见[J].中国大学教学,2013(9):6.

6.计算思维面向所有人,所有领域

在这个数字化时代,计算几乎已经深入人们生活的所有领域,计算思维必定成为衡量人们能否适应这个时代的标准。一个人若不具备计算思维能力,必将在从业竞争中处于劣势;一个国家若不能使广大受教育者都得到计算思维能力的培养,那么这个国家将容易在竞争激烈的国际环境中处于落后地位。因此,计算思维能力不仅是计算机专业人员应该具备的能力,也是所有受教育者应该具备的能力。蒋宗礼.计算思维之我见[J].中国大学教学,2013(9):6.计算思维就如所有人都应该具备的读、写、算的能力一样,要人人会用、处处可用,成为人们必备的一项思维能力。