一、计算思维的本质
(一)计算思维培养的核心
计算思维的培养一直备受教育工作者的关注,如何培养学生从小掌握利用计算机科学的概念和逻辑解析问题、认识事物的思维,已经成为教育领域的重要任务。综合不同学者关于计算思维的定义分析可以发现,目前人们对计算思维的统一认识存在学科基础和功能属性两个方面,但在计算思维的培养内容、核心要素、操作过程等方面均有不同的认识,而产生不同认识的主要原因就是计算思维本身内涵的丰富性和所处环境的多样性。
计算思维是一种运用计算机科学的方法进行问题解决的过程,计算思维的培养强调对学生的引导和启发,为学生提供多种多样的数据资源,引导学生选择适用的资源并制订出相关问题的解决方案。计算思维的培养在依托学科知识的基础上,更需要关注知识之间的逻辑关系、概念的产生过程、各种问题解决的策略与技巧,旨在帮助学生理解计算机科学的工作原理和实现方法,以及采用这些实现方法的缘由。
(二)计算思维的行为表现
1.问题求解中的计算思维
计算思维是问题解决能力的一种,遵循问题解决的一般思路。而问题解决作为一种过程,从行为表现角度看可以被分成若干个阶段。
问题解决过程模型
比较经典的问题解决过程模型由数学家、教育家波伊亚(George Pólya)博士于 1945 年在《如何解决它》(
How
to
Solve
It
)一书中提出。他认为解决问题可以分为四个步骤,分别是理解问题、制订计划、执行计划、评价效果。
另外一种比较经典的问题解决模型是布朗斯福特(Brandford J.)和斯特恩( Stein B.)于 1984 年提出的“IDEAL问题解决器”,两位学者认为问题解决有五个阶段,分别是识别潜在问题、定义与表征问题、探求可能的解决方案、执行方案、反馈和评价上述阶段的效果。
斯滕伯格(Robert J. Sternberg)在《认知心理学》一书中将问题解决分为七个环节:确定问题、定义和表征问题、形成策略、组织信息、分配资源、监控、评估。
乔纳森(David H. Jonassen)博士则认为问题解决有两个关键部分,一是进行思维表征和建模;二是对问题模型进行操作和测试,以找到问题解决途径。
从上述学者对问题解决过程的行为描述来看,问题解决一般包含四个过程:表征、策划、执行和控制。本书将上述各家理解进行整理和总结(见表 2-1)。
表 2-1 问题解决的四个过程

近半个多世纪以来,计算学科得到了蓬勃发展,它已经渗透到人们生活的各个方面以及各个学科领域。一方面,当代人们以各种形式和方法生活在计算的世界中;另一方面,生物学、脑科学、化学、物理、地质学、工程学、经济学、社会科学、医疗、娱乐、艺术、体育、教育等学科的领域都用到了计算学科的知识和方法。
周以真教授将计算学科特有的思维方式称为计算思维,并给出了计算思维的定义:计算思维运用计算学科的有关概念求解问题、设计系统及理解人类行为,它选择合适的方式陈述问题、建立数学模型并用有效的方法实现问题求解。
当今,培养复合型创新人才是高等教育的重要任务,其中的一个重要内容就是培养学生的计算思维,让他们在学习的过程中潜移默化地养成这一新的思维方式。而这一思维方式便是运用计算机科学的基础概念,求解问题、设计系统、理解行为。由上可知,计算思维在社会、经济、科学和技术等领域非常重要。作为教育工作者,培养创新型人才需要对学生渗透计算思维思想。
在生活和学习中,当遇到类似问题时,我们可以尝试运用计算思维的方法去分析和解决问题。首先,要能准确地描述问题,并将问题有逻辑地分解为若干求解步骤;其次,从这些步骤中抽象出本质性的操作数据,并寻找能通过计算机等工具自动化执行实现的模型;最后,选择一种最有效的自动化方案让计算机执行,实现问题的解决,如图 2-1 所示。

图 2-1 运用计算思维求解问题的一般过程
另外,在编程解决问题背景下的计算思维,通过人与计算机的有效沟通来体现计算思维的主要内涵,主要面向青少年学习群体所接受的K-12 阶段的编程教学, NRC指出将计算思维传递给学生的最有效手段是将其融于K-12 阶段的教学中。通过K-12 阶段的编程教学,一方面培养学习者在计算科学方面的知识,另一方面提升学习者在利用编程进行问题解决的高效性和全面性,提升学生的计算思维能力,进而发展核心素养。
其目的是培养学生能够在不插电活动中通过计算思维解决问题。作为与计算机学科有密切联系的计算思维,从编程教学的视角下对计算思维进行培养能够很好地提升学习者在问题解决方面的方法和手段。
2.系统设计中的计算思维
在信息技术的高速发展下,设备虚拟化已经成为虚拟化研究领域的重要方向,系统设计作为设备虚拟化的关键环节,其中所包含的思维方式引起了学者们的广泛关注与研究。
基于计算思维的虚拟操作系统软件运行时,系统进入初始化模式,用户借助载体设备进行虚拟操作。用户下发指令或者请求,此时串口模块开始运行,并调用可视化程序,打开可视化界面方便用户操作。将用户下发的指令或请求当作任务,调用任务调度模块,该模块接收到任务之后,调用相应子程序,并依据任务的优先级完成任务。判断是否存在优先级插队现象,如果是,则返回上一级运行程序;如果否,则完成当前任务。基于计算思维的系统设计环节如图 2-2 所示。

图 2-2 基于计算思维的系统设计环节
(1)与用户建立连接。
系统设计要以人为本,设计师需要在实时环境中观察客户,了解客户的喜好,例如记录用户试用和用户测试。更好的是,真实的用户测试,在用户不知道他们被观察的情况下,可以产生最诚实的结果。观察之后必须有同理心,在这种同理心中,设计师使用情感来解释和理解他们所看到的。设计师需要联系真实情境,理解问题是如何融入人们的日常生活。
(2)明确问题。
设计中的思维必须旨在解决现实问题。首先将问题定义为清晰简明的问题陈述,在明确问题的基础上,为设计人员提供可操作的目标,以及系统评估的标准和方法。
(3)形成方案。
针对问题生成解决方案,设计初期要通过交流与讨论形成尽可能多的想法,可以借助一些比较通用的方法,如集体头脑风暴、思维导图、角色扮演、素描,或者是简单的列表。形成想法后,对方案进行可行性分析,可以分成“是”“否”和“可能”三大类来帮助自己整理思路。
(4)系统原型设计。
原型是产品的准系统测试版本,设计者可以将原型阶段视为上一步的更实际的版本,和构思阶段一样,一般创建多个原型,并快速地为自己提供选择,判断自己的想法是否站得住脚。要创建原型,可以使用从笔和纸到软件的多种工具,帮助自己在尽可能短的时间内创建足够准确的产品运行方式。
(5)测试。
测试包括将系统原型放置在实际的问题情境当中,以评估问题解决的程度。观察用户在测试时所呈现的问题,重新定义问题,并构思和设计更多的解决方案,然后再次测试。同时,收集有意义的反馈,扩大测试样本从而总结共性的反馈因素。
3.人类行为中的计算思维
人类的行为由 5 个基本要素构成,即行为主体、行为客体、行为环境、行为手段和行为结果(见图 2-3)。

图 2-3 人类行为的基本要素
①行为主体:人。
②行为客体:人的行为所指向的目标。
③行为环境:行为主体与行为客体发生联系的客观环境。
④行为手段:行为主体作用于行为客体时的方式、方法及所应用的工具。
⑤行为结果:行为对行为客体产生的影响。
人类的行为表现主要体现在特定的环境中:
①在特定的环境之中,具有特定个性的人,有特定的行为表现。
②在相似的环境之中,具有相似个性的人或相似共性的群体,有相似的行为表现。
③任何一种行为,都会相应产生一种以上的后果。任何一种控制行为的行为,也都会相应产生一种以上的后果。而任何一种行为的后果,都有其自身固有的演化规律,与行为者和实施控制行为者的主观愿望无关。
人类行为与计算思维
人类控制自己行为的方法可以分为两个大的层面:其一是自我控制,其二是社会群体的控制。其中自我控制的主要目的,是要使自己能与其他的社会成员和谐相处,其办法为“修养”,包括自学、自省、自律等方面。而社会行为控制的主要目的,不但要使社会成员彼此之间能够和谐相处,还要使人类社会与自然环境之间也能和谐相处,对社会群体行为的控制为“统治”,其办法十分复杂,可以归纳为两个方面:
一是教育。教育是获得知识的主要方法和塑造灵魂的首要工作,也是控制社会行为、把握社会发展的根本办法。
二是律制。律制是社会群体为了适应生存环境的需要,而必须共同遵守的行为规范和准则。
语言决定了我们的思维,帮助我们认识现实世界,同时语言还使人类具有特殊的智力和行为。 Bickerton认为这里所说的智力不是平常所说的聪明的程度,而是指人类有别于动物的不同的思维方式。他指出动物的思维只是线上思维,即受外界事物的刺激引起的神经元的反应,如某一动物看到老虎立即爬上树,巴甫洛夫的狗听到铃声就知道食物到了。这种线上思维遵循的是此时此地的原则。而人类具有线下思维的能力,因为人类具有抽象的语言,并且它成了我们与现实之间的一个缓冲器,因此人类的线下思维不一定需要外界因素,也不必立即作出机械反应。线下思维是对自然界的间接表现。如听到有人喊一声“老虎”,你不一定知道该如何反应,你可能要先观察一下出了什么事情,然后再决定你的行动。
人类在作出反应之前,会先对事情本身和周围环境运用特有的思维方式,作出有利的判断。
(三)计算思维核心要素
1.计算思维要素的提取
为了确定中小学阶段的计算思维培养框架,首先需要确定计算思维培养的核心要素,为目标体系的分类和编码提供依据。小学、初中阶段最具有参考价值的是《义务教育信息科技课程标准(2022 年版)》,高中参考的是《普通高中信息技术课程标准(2017 年版 2020 年修订)》,面对新时代的人才发展要求,计算思维教育内容需要进一步研究推进。
本书以国内中小学信息技术课程标准中计算思维培养的相关标准为基础,参考美国、英国和澳大利亚三个国家与计算思维培养相关的教育标准或目标体系,通过概念共性分析与词频分析,从而确定计算思维教育内容的核心要素。具体做法是将美、英、澳三国的目标分别进行编码,模块按照主题罗列在一起,进行比较分析,如表 2-2 所示。
表 2-2 美、英、澳三国的目标模块主题比较分析表

将三个国家均出现的词汇作为我国中小学计算思维培养课程的目标主题关键词,即“算法”“数据”;将两个国家均有出现的词汇根据内涵进行合并,共同组成主题关键词,即“编程与开发”“系统和硬件”“网络、通信与影响”。
其中“系统和硬件”在目标具体描述中离不开“软件”相关概念的比较和分析,因此本书将关键词调整为“系统和软、硬件”。由于不同国家对概念的理解和表述不同,仅根据模块名称的归类比较分析,可能会产生一定偏差,因此,为了尽可能避免目标内容表述不同对研究编码的影响,本书对三个国家具体目标的所有内容表述进行词频分析,并对关键词相关的概念主题词进行搜索定位,检验概念与模块之间的对应关系以支撑和验证分类的有效性。
美英澳课程目标词频统计分析
在对三个国家的目标的具体内容进行词频统计分析时,结果显示三个国家在计算思维培养类课程目标的具体描述中,出现频率最高的词汇均为data (数据)。与其他关键词相关的名词如algorithm (算法)、 program (与“编程与开发”直接相关)、 system (与“系统和软、硬件”直接相关)均出现在三个国家词频排序前十的列表中。与“网络、通信与影响”相关的概念虽然没有一致的词汇出现在三个国家的具体目标中,但有内涵相近的词汇出现,如network与Internet以及interaction等。另外, information (信息)一词在三个国家的具体目标中出现频率非常高,分别排在第 2 (美国)、第 6 (英国)和第 5 (澳大利亚)。有必要将其提取,补充到关键词当中。本书在三个国家的目标体系中对information一词进行搜索,发现其首先与“数据”联系紧密,如英国目标体系中information一词 40%出现在与数据相关的目标表述中。与数据联系紧密的information一词主要表现为与信息的本质和内涵相关。其次, information与“网络、通信与影响”联系紧密,美国目标体系中近六成(59.3%)的information出现在与“网络、通信与影响”相关的目标表述中,出现在这一部分的information一词主要表现为信息安全;最后与“系统和软、硬件”比较相关,主要表述为信息系统( information system)或信息的传输或信息技术。由于信息的本质和数据的联系十分紧密,所以本书将“数据”这一关键词扩充为“数据与信息”。
词频分析结果进一步支持和验证了关键词提取的概念是较为核心的,覆盖面较为全面。因此,根据提取的关键词,本书将我国中小学计算思维培养课程的内容核心要素表述为:①系统和软、硬件;②抽象与算法;③编程与开发;④网络、通信与影响;⑤数据与信息。
计算思维的思维过程是问题解决中逻辑思维、算法思维和系统思维的具体作用过程,也是计算思维特质的集中表现。研究中最常出现的计算思维组成部分是:抽象、分解、算法和调试。框架中,本书将思维过程分为五部分,分别是:数据与信息、抽象与算法、编程与开发、评估与验证、应用与迭代。
2.计算思维要素的编码与分类
本书将提取的数据与信息、抽象与算法、编程与开发、评估与验证、应用与迭代五大核心要素作为编码的一级类目,在此基础上结合我国《义务教育信息科技课程标准(2022 年版)》和《普通高中信息技术课程标准(2017 年版 2020 年修订)》进行总结归类,最终提炼出问题分解、数据处理、抽象归纳、模式识别、模型构建、算法设计、形成方案、编程实现、可视化分析、模拟与仿真、评估与概括、实施验证、迭代优化、迁移运用 14 个子要素作为二级类目,要素分类与解释如表 2-3 所示。
表 2-3计算思维要素分类与解释
