走向计算思维2.0
2020-05-20陈国良李廉董荣胜
陈国良?李廉?董荣胜
摘 要:在梳理计算思维发展过程的基础上,讨论了近年来计算思维在理论和应用方面的新进展,阐述了在大数据和人工智能的推动下,计算思维所赋予的新的内涵和形式,进一步深化了计算思维在科学及社会经济领域的意义和作用。探讨了这些新内容以及在教学中应该关注的新动向和新模式。并与传统的计算思维(即计算思维1.0)做了分析对比,这些新的内容称为计算思维2.0。
关键词:计算思维;计算模型;数据抽象;智能计算;方法迁移;面向领域问题
自周以真于2006年在ACM通讯上提出计算思维以来,计算思维的概念已经逐步渗透到大学的专业和非专业教学内容,并进一步延伸到中学和小学,成为新时代公民教育中像语言算术那样必不可少的基本素质。与此同时,对于计算思维概念本身的研究也在继续深入,特别是随着大数据、人工智能等领域的兴起,计算思维的深刻内涵被进一步挖掘。时隔14年以后,人们对于计算思维的认识,无论从概念内容上,还是从应用实践上,都已经有了新的飞跃。本文分三个方面予以阐述,并将新的计算思维内容称为计算思维2.0。
一、什么是计算思维
这是计算思维最基本的问题,对于它的研究也一直没有停止。2006年,周以真在介绍计算思维时,表述为“计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动”[1]。这个定义被广泛使用,但是其中也有一些问题,例如,计算机科学的基础概念是什么?计算思维仅仅是计算机科学的概念吗?为了回答这个问题,显然需要在更广阔的领域和更长远的时间跨度来探讨。
现代计算及其思维模式的认知最早可追溯到1945年,George Polya在他的著作How to Solve It第一次提出了计算和相应的思维方式[2]。以后随着计算机的进步,通过计算解决问题的思想变得越来越普遍和有效,伴随着计算机理论和技术的发展,特别是计算技术的广泛应用,推进了计算思维的逐步成形和发展,这是计算思维发展的一个源头。另一个源头来自于物理学,20世纪30年代,人类对于物质的认识进入量子层面,由于这个层面已经不能直接观察物质的本身,必须通过物质所携带的信息来研究相应的规律,这就促进了对于信息分析和处理技术的发展,计算机的出现和算法理论的深入研究使得这一方法成为可行。1982年,理论物理学家Kenneth Wilson提出了计算科学的概念,以及与之相伴的关于计算的思维,他设计了计算重正化群方程的方法,并建立了相变的临界理论,获得1982年的诺贝尔物理学奖。Wilson认为计算是所有科学的研究范式之一,区别于理论和实验,所有的学科都面临算法化的“巨大挑战”,所有涉及自然和社会现象的研究都需要使用计算模型做出新发现和推进学科发展[3]。
他的工作以及对于计算方法的大力推荐,激发了人们对于计算科学的重视和自觉应用。
由于信息处理技术和计算技术对于物理学研究的重要性,随着计算机技术的进步,物理学也融入信息科学和计算科学的许多内容,逐步改造着物理学的面貌。相比计算机科学,物理学更早地通过信息和信息运动去认知世界。计算机技术的发展为物理学家提供了越来越强大的计算武器。一场安静却深刻的信息技术革命从物理学开始,蔓延到其他学科,促进了很多新的方向和新的发现。生物学从DNA研究,开创了生物信息学的新领域。各种各样的计算模拟技术为研究生命体的发育、成长、竞争、进化等提供了崭新的视角和丰富的成果。以至于1975年诺贝尔生理学或医学奖得主D. Baltimore认为生物学是信息科学[4]。事实上,计算思维正在改变着所有学科的面貌。这种改变的源头不是从计算机科学输入的,而是学科自身的发展从内部产生的,计算机科学只是跟随这些学科的发展而发展,并为其他的学科发展提供新的算法设计理论和计算应用武器。因此从起源来讲,计算思维不是唯一来自计算机科学的,而是来自于所有学科的。
尽管前期的計算思维已经萌芽和发育,但是直到2006年,周以真在ACM通讯上发表了题为《计算思维》的文章,计算思维才正式作为一种研究对象受到人们的重视,进入学科殿堂。联合国教科文组织在2019年发布的《人工智能教育报告》中写道:虽然计算思维明显属于计算机科学领域,但它是一种在其他学科中普遍应用的能力[5]。2018年出版的阐述中国计算机教育发展与改革的《计算机教育与可持续竞争力》(简称“蓝皮书”)写道:计算思维是以信息和信息运动为认知对象和操作对象的思想及方法论,因此是涵盖所有学科的第三种思维范式[6]。
我们经常听到的说法是,计算思维就是计算机科学家解决问题时所用的思维,这个描述虽然形象,但却不能成为计算思维的定义。计算机科学家的思维到底是什么?计算机科学家在解决问题时,也常常使用逻辑推理,也需要做实验来验证某些结论,这些却是属于数学或者物理学的思维方式。又比如,物理学家或者生物学家在研究时,也会采用属于计算思维的内容来考虑问题,寻求解决方案。因此用某个领域的研究方式来说明计算思维并不科学。我们需要一种能够解释计算思维本质特征的定义。随着对于计算思维研究的不断深入,对于计算思维的定义也在发展着。其实早在2002年的《中国计算机科学与技术学科教程2002》中,就已经提出了计算思维的概念,认为“计算思维能力是抽象思维能力和逻辑思维能力,算法设计与分析能力,程序设计与实现能力,计算机系统的认知、分析、设计和应用能力”[7]。自从周以真于2006年给出了有关计算思维的刻画之后,又有一些新的关于计算思维的定义,我们选择其中的一些。陈国良等认为,计算思维并不是仅仅为计算机编程,而是在多个层次上抽象的思维,是一种以有序编码、机械执行和有效可行方式解决问题的模式。计算思维是一项根本能力,是每一个人在现代社会中必须掌握的[8]。Alfred Aho于2011年提出,计算思维是一个思想过程,涉及描述问题使得它们的解决能够通过计算步骤和算法,被信息处理装置有效实现,计算模型是核心概念[9]。美国国际计算机教师协会(ISTE)将计算思维定义为具有以下特征的问题解决过程:以一种能够使用计算机和其他工具制订解决问题的方案,合理组织和分析数据,通过模型和模拟等抽象手段表示数据,通过算法思维(一系列有序步骤)实现解决方案的自动化,分析和评价解决方案以实现最有效的过程和资源组合,将问题解决方案和过程迁移到其他类型的问题[10]。徐志伟等认为,计算思维是通过操作数字符号变换信息的过程,涉及信息在时间、空间、语义层面的变化。计算思维是有效地认识世界、解决问题、表达自我的一种思维方式[11]。《计算机教育与可持续竞争力》一书中提出:“计算思维是以信息的获取和有效计算,进行算法求解、系统构建、自然与人类行为理解为主要特征,实现认知世界和解决问题的思想与方法。”[6]欧洲信息联盟主席E. Nardelli在2019年的ACM通讯上发文提出,计算思维是涉及建立计算模型,并且使用计算设备可以有效操作以达到某种目标的思维过程,如果没有计算模型和有效计算,就仅仅是数学[12]。
近十几年来,随着对于计算思维理论的深入研究,以及实践应用的经验增长,关于计算思维的本质内涵也有了越来越深刻的认识,上面举出的对于计算思维定义的演进过程也说明了这一点。计算思维不仅仅是计算机科学家解决问题的思想方法,也是所有科学家在使用计算时所具有的思维模式,它的关键是计算模型,而在物理学、生物学等不同的学科里,计算模型具有不同的形式和性质。计算思维是覆盖所有学科的思维模式,并且在不同学科中有不同的表现和内容。计算思维不是从计算机科学输入到其他科学的,而是在每一个学科里,都蕴含着丰富的计算思维内容,我们的任务是把它开发出来。
二、计算思维2.0的新内容
既然称为计算思维2.0,那么它的新内容是什么呢?
Denning 2017年在《科学美国人》上发表的文章指出,计算思维最本质的概念是计算模型。作为现代科学,模型是十分重要和基础的,所有学科的研究都是在一个或者几个模型架构上展开的,即使对于社会科学和人文科学也是如此[13]。当然不同的学科对于模型的结构和性质是不同的,仅就计算而言,传统的物理学主要依赖于确定的和非确定的计算模型,人工智能却主要依赖各种学习模型,而社会科学则更多使用统计计算模型。2011年图灵奖得主J. Pearl多次论述过模型在科学研究中的重要性。古代巴比伦和希腊在天文学的研究中都取得了巅峰的成就,但是巴比伦人更多的是现象的描述,并没有建立这些现象的模型,而希腊人首先建立了相关的模型,例如认为地球是圆形的,漂浮在大海之中,不管这种模型现在看来多么荒谬,但是却启发了希腊人去测量地球的直径,这是在模型理论指导下的创新工作。而擅长各种测量的巴比伦人,尽管测量精度远远超越了当时的希腊人,却无法做出观察之外的成果。在科学观察和科学思维两个方面,希腊人无疑在后者做得更好,因此希腊人的理性主义发展成为现代科学的支柱之一[14]。在现代科学体系中,每一个学科都依赖于模型来表达研究对象和基本思想。计算模型对于计算学科来说也不例外,因此计算模型构成了计算思维的核心概念,既是区别于其他思维形式的特征,也是划分计算思维发展台阶的圭臬。
《关于计算思维的特质性》一文曾经指出,计算思维的两大特征是关联关系和交互式证明(区别于数学证明的另一种证明模式)[15]。这两大特征分别对应于两种重要的模型。第一个对应于各种学习模型。随着大数据和人工智能的发展,当前各种模型层出不穷,它们的共同特点是揭示了数据之间的关联关系,而不是因果关系。交互式证明对应于交互式图灵机模型。这是使用交互方式进行计算(证明)的模型,传统的数学证明是其一个特例。交互式证明模型不仅在计算问题的复杂度分类和可行性方面提供了很好的理论,而且也是一些学习模型,例如生成对抗网络(GAN)的理论基础之一。人工智能中使用的学习模型与传统的物理学和数学使用的模型是不同的,不同的模型反映了对于世界解释的不同观点和方法。
当前,云计算、大数据、物联网、人工智能和移动计算被认为是信息领域最有代表性的应用,在这些领域里,模型或者架构问题都是第一性和基础性的。如果说,云计算、物联网、移动计算代表了技术发展高峰,那么大数据和人工智能则更多带来思想观念的启迪。在大数据计算领域,一些具有新型架构的并行计算被陆续提出,利用新的算法理论(例如PAC算法或者可拓展算法)极大提高了问题求解的效率。对于NP类问题,用并行计算改善求解精度,对于P类问题,则用并行技术提高求解速度[16]。针对数据流动性的在线计算则是另一种全新的计算方法。传统的计算都是假定数据已经输入好,并且在计算过程中,这些数据不会发生变化,但是在线计算却是在数据的不断输入过程中随时接收新的数据(包括原有数据的变动),完成计算任务,因此这是一种新的计算模型。
在机器学习领域,卷积网络揭示了图像信息的局部相似性和局部特征的独立性,这与人类识别图像有着异曲同工之妙。深度学习采取了自适应逐层编码的思想,这与人类在认知过程中,分层次处理和重编码信息是类似的方法。曾经多次完胜围棋高手的AlphaGo,通过蒙特卡洛树的搜索和增强学习技术,以及深度学习网络,具备了从少量数据甚至是无数据情况下进行学习的能力,同时也具备了这种能力的自我演化提升,已经拥有了与人类学习和认知相似的一些特征[17]。
随着计算模型的不断创新和完善,计算思维的特征得到了持续的丰富,所有的属于计算思维的特征都与模型相联系,并且在解决不同的问题时展现了多元的侧面和技巧。从这个角度来理解计算思维及其在各个领域的表现,就容易抓住计算思维的本质。
不仅是计算机科学对于计算模型的研究取得了持续的进步,在其他学科,有关计算和计算模型的重要性也在日益提升。根据《信息簡史》一书的介绍,当代物理学、生物学等各学科也提出了一些新的计算模型,并且对于学科的发展起到了创新甚至革命的作用[18]。
在生物学中,基因连同相应的操作构成了生物学的计算模型,其中的表达、转移、复制、纠错等功能被逐渐发现,例如RNA聚合酶,它从DNA模板转录生成RNA,就像图灵机那样读取遗传信息,并且以类似于算法的形式进行转换,这种把生命体在环境中的适应和进化看作是计算的观点,导致了生物信息学的产生,其中的思想武器之一便是计算思维。
在物理学中,对于很大和很小的空间尺度和时间间隔,物理学已经越来越依赖信息而不是物质本身进行研究,信息科学的一些最重要和最深刻的发展都是从物理学那里取得的。物质运动的各种规律通过信息而被人们观察感知,并且通过某种计算过程进行分析、处理和预测,这些计算模型和计算方法促进了现代物理学的很多理论发现,例如黑洞蒸发、计算热力学、量子纠缠等,其中最具有代表性的就是量子计算模型。沃尔夫物理学奖获得者Charles Bennett指出:“事实证明,经典信息理论的量子扩展已经得出了一个更清晰的、更强大的计算与信息理论。”[18]
以往我们比较习惯于从计算机科学的角度来理解计算模型和计算思维,并且认为其他学科是应用了计算机科学的方法和技术,但实际上各个学科都有属于自己的计算模型和相应的计算思维。就像能量和物质是宇宙普遍存在的那样,信息和计算也是宇宙的普遍属性。当前各个学科越来越多地从信息和计算的视角来研究问题,学科内部的属于计算的内容被系统地开发出来。每个学科自身就蕴藏着丰富的计算思维内容。不同学科之间进行交流、相互借鉴是必需的,计算机科学作为专门研究信息和计算的学科自然会为计算的广泛应用提供更多的概念和技术。
随着科学的发展和技术的进步,计算思维从朦朦胧胧的思想逐步清晰起来,形成了一种借助计算理解世界和改造世界的强大思想武器,到2006年正式作为一种科学研究的对象被提出。经过十几年的发展,来自各个学科的研究不断开拓和深入,新的计算模型被陆续提出,特别是与这些计算模型相关的基本概念、计算方法、算法设计、问题求解、技术特色也在不断创新,在此我们不一一陈述了,更多的内容可参考相关文献[19]。所有这些都为计算思维注入了新概念、新模型、新方法和新技术,使得计算思维的内涵与应用越来越丰富和广泛,形成的计算思维在理论和应用上的新跨越,构成了计算思维2.0的内容。
三、从计算思维1.0到2.0
从20世纪50年代开始,逐步形成了关于计算思维的概念,到70年代,Knuth和Dijkstra对于计算思维有了清晰刻画,S. Papert在1980年的书中出现了计算思维这个词[20]。从20世纪80年代开始,在Wilson的呼吁和推动下,人们逐步认识了计算和模拟是科学研究的第三种方法。2006年,周以真提出了关于计算思维的新理解(计算思维是像语言、计算那样的人类生活基本技巧),推进了社会对于计算思维的重视和普及,一些国家将计算思维的教育列入教育体系,计算思维成为公民教育的基本内容,很多学科也在积极推进本学科的计算化和信息化,促进了学科的变革,这一时期可以称为计算思维1.0时代。
近几年来,由于信息技术的快速发展,人类社会由传统的物理世界和人类世界组成的二元空间,进入了物理世界、人类世界和信息世界的三元空间,并且正在向物理世界、人类世界、信息世界和智能体世界的四元空间变化。大数据和人工智能等新领域迈入了科学和社会舞台的中心,促进了AI赋能的新时代发展。针对大范围和大数量的信息分析,以及各种人工智能体的研究、设计和应用,产生了许多新的计算模型、算法形式和计算技术,这些进展推动了计算思维更加系统和深刻的认知,进入了新的发展时期,我们称为计算思维2.0时代。
仔细分析当今各个学科的发展,可以看出,计算思维不是计算机科学的专利,各个科学领域都把计算作为有力的武器,设计了各具特色的计算模型或者算法来解决本领域的问题,继理论研究者、实验工作者之后,很多科学家也成为计算的设计者。有很多属于计算思维的内容并不是从计算机科学那里发源的,反而是计算机科学家从其他学科中得到深刻的启迪,并进而推动了计算科学的发展。
说到计算模型,很容易想到图灵机和通用程序语言,这当然是最一般的,而且几乎是无所不能的,但是也可能是无用的。在实际的不同领域,更为具体的计算模型和专门的算法发挥着更大的作用。无论是物理学、生物学或者化学,都在大力应用计算技术进行研究,这些方法主要是通过领域专家实现的,计算机科学家的工作是使得计算工具用起来更加得心应手。从早期的大型机器为主流的计算,发展到以网络为主流,现在又进入了以云计算为主流的时代。这些变化导致了计算的设计、实现和评价的不断进步,也促进了背后的计算思维在内容和形式上的变革。
人工智能已成为当今社会发展的重要引擎之一,对于它的研究和应用也为计算思维增添了新的内容。例如,传统的算法设计是对于一类问题,有一个统一的计算步骤,使得面对该类中任何具体问题,调整若干参数就可以执行相应的计算,这是从一般到具体的求解问题思路(即所谓具化)。但是在人工智能中,我们面临着另一类算法,它是从具体的问题出发,通过原则上称为归纳的方法,设计一种算法,可以对于这些具体问题所在的一大类问题给出计算结果(即所谓泛化),这是与传统算法完全不一样的设计思想,是从具体到一般的求解问题的思路。对于前者的算法,它的设计、评价和分析都具备了较为成熟的理论,包括并行算法和近似算法。但是对于后者的算法,现在的认识还不是很深入,许多问题有待进一步解决。由于这类算法是从具体到一般,从抽样到整体,因此数学意义上的精确性基本是不存在的,我们必须容许某种不精确性和不确定性,对于这类算法的设计原则,评价标准和性能比较都需要有新的思路[21]。这种在人工智能中大量存在的算法模式丰富了对于算法的认知,自然也丰富了计算思维的内容。
长期以来,人们一直是以物质(能量)和物质的运动来看待世界和解释世界的,信息只是贴附于物质的一种表现。随着现代科技的进步,逐渐认识到信息本身就是世界,或者说是世界的一种表现,信息与物质一起构成了人类认知世界的二维理论,世界是物质的,也是信息的。从这个观点来重新解释和定义我们周边的事物,成为信息時代创新的不竭源头。例如在制造业,传统的看法认为制造过程是典型的物质流,各种材料经过有序的加工环节,成为产品,是以物质流为中心组织生产,物质流带动信息流。而数字制造却是对于制造过程进行数字化描述,从而在建立的数字空间中完成产品生产,是以信息流为中心组织生产,信息流带动物质流。这种观点的变化,引起了制造业颠覆性的革命,形成了全新一代的数字制造技术。
我们可以用不同的角度来看待和解释这个世界,并且在此基础上设计和定义各种结构、流程和目标(社会系统或者自然系统)。如果采用信息、信息流和计算的观点,就可以把所有的自然过程和经济社会过程看作是信息运动,在这个观点下,计算和算法成为信息处理的主要手段,万事皆可算,万物皆可算。这在传统的观念中开创了新的洞天。不仅前面说过的制造过程是信息流的运动,零售业也是信息流的运动,消费品的需求信息带动的商品流,导致了数字物流和电子商务。出租汽车也是信息流的运动,快捷出行的需求信息带动的交通流,导致了网约出租和智能汽车。甚至社会组织和结构也可以从信息流的角度来重新规划和定义,电子政务、数字媒体、智慧城市、网络安全等,都是在信息观和算法观下的对于自然、社会乃至人类自身的重新认识。正是由于这种以物质为本到以信息为本的观念转变,整个社会、经济、科学、文化都呈现了前所未有的变革,颠覆传统模式和习惯的创新层出不穷,比比皆是。由此产生了新产品、新业态、新结构和新模式。这种涉及人类社会各个领域的跨越,没有思维层面的变革是无法做到的。从这一层意义上说,计算思维不是一种被动的认知世界的思维方式,更是一种主动改造世界的思维方式,对于传统性认知的颠覆,促进了全新的社会结构和经济系统的诞生。
综上所述,十几年来,计算思维从理论、内容、领域、应用等诸方面都取得很大进展。计算思维成为覆盖各个领域的更为广泛的思维模式。计算模型和相应的算法设计是计算思维的核心概念,随着大数据和人工智能的快速发展,对于计算思维在实际应用中的重要位置也进一步提升。下面我们简单列出计算思维1.0与计算思维2.0的区别(见表1),其中部分内容取自文献[22]。
联合国教科文组织在2019年5月发布的人工智能教育报告中指出,计算思维已经成为使学习者在人工智能驱动的社会中蓬勃发展的关键能力之一[5]。计算思维具有二重性,本身既作为基本的科学对象,同时也具有学科的横向价值,从不同学科领域萌发的计算技术和方法,经过计算机学科的精雕细琢以后,又为解决其他学科的问题提供了新的思想和方法。这里我们提出了一个重要的问题,对于计算思维的教育与普及并不是让学生欣赏计算机科学家做了什么,而是要让学生知道在他们所从事的科学领域,计算能做什么。或者说,重要的不是让学生了解计算机科学家做了什么,而是让学生学会如何用新的思维解决本领域的问题。
美国IEEE计算机学会前任主席David Grier认为,未来10~15年计算机教育面临挑战,即如何构建一个课程体系来帮助人们更清晰地思考计算,而不仅仅去重申计算以及计算机科学家的重要性[23]。因此,从整体层面来讲,计算思维关注的是计算的科学和文化内涵,提供一种描述现实和工程技术适用的概念范型。计算思维的第一功能是提出问题解决方案和设计系统,而不是编写程序和重复某些技巧。计算思维是一种世界观和方法论,是一种通过科学建模(计算模型),实现对于自然世界和社会及人类行为全面和深刻理解的更为深远和本质的内容。
参考文献:
[1] J. M. WING. Computational Thinking[J]. Communications of the ACM, 2006, 49(3): 33-35.
[2] G. POLYA. How to solve it:A New Aspect of Mathematical Method[M]. Princeton University Press,2004.
[3] K. G. WILSON. Grand challenges to computational science[J]. Future Generation Computer Systems. 1989, 5: 171-189.
[4] D. BALTIMORE. How biology became an information science. In The Invisible Future: The Seamless Integration of Technology into Everyday Life[M]. ed. P. Denning, New York: McGraw-Hill, 2001: 43-46.
[5] United Nations Educational, Scienti?c and Cultural Organization. Artificial Intelligence in Education:Challenges and Opportunities for Sustainable Development[Z]. Paris 07 SP, France, 2019.
[6] 计算机教育20人论坛报告编写组. 计算机教育与可持续竞争力[M]. 北京:高等教育出版社,2019.
[7] 中国计算机科学与技术学科教程2002研究组. 中国计算机科学与技术学科教程2002[M]. 北京:清华大学出版社,2002.
[8] 陈国良,董荣胜. 计算思维与大学计算机基础教育[J]. 中国大学教学,2011(1):7-11.
[9] A. AHO, Computation and computational thinking[Z]. Ubiquity Symposium, DOI:10.1145/
1895419.1922682,2011.
[10] International Society for Technology in Education and Computer Science Teachers Association. Operational Definition of Computational Thinking for K-12 Education[EB/OL]. https://id.iste.org/docs/ct-documents/computational-thinking-operational-definition-flyer.pdf?sfvrsn=2, 2011.
[11] 徐志伟,孙晓明. 计算机科学导论[M]. 北京:清华大学出版社,2018.
[12] ENRICO NARDELLI. Do we really need computational thinking?[J]. Communications of the ACM, 2019, Vol. 62 No. 2: 32-35.
[13] PETER J. DENNING. Computational Thinking in Science,American Scientist[J]. Volume 105,2017: January-February.
[14] JUDEA PEARL, DANA MACKENZIE. The book of why: The new science of cause and effect[M]. Allen Lane, 2018.
[15] 李廉. 关于计算思维的特质性[M]. 中国大学教学,2014(11):7-14.
[16] 陈国良,等. 大数据计算理论基础[M]. 北京:高等教育出版社,2017.
[17] DAVID SILVER, et al. Mastering the game of Go without human knowledge[EB/OL]. https://deepmind.com/documents/119/agz_unformatted_nature.pdf. 2017.
[18] 詹姆斯·格雷克. 信息简史[M]. 北京:人民邮电出版社,2013.
[19] J. VOOGT, P. FISSER, et al. Computational thinking in compulsory education: Towards an agenda for research and practice[J]. Educ Inf Technol, 2015, 20:715-728 DOI 10.1007/s10639-015-9412-6.
[20] S. PAPERT. Mindstorms: Children, Computers, and Powerful Ideas[M]. Basic Books, 1980.
[21] LESLIE VALIANT. Probably approximately correct: Natures algorithms for learning and prospering[M]. Basic Books, 2013.
[22] PETER J. DENNING. Remaining trouble spots with computational thinking[J]. Communications of the ACM, 2017, 60:6.
[23] DAVID GRIER. 如何以計算的视角来思考[J]. 孙晓明,译. 中国计算机学会通讯,2019,15(4).
[责任编辑:余大品]
陈国良,中国科学院院士,中国科学技术大学、深圳大学教授;李 廉,合肥工业大学原党委书记,教授;董荣胜,桂林电子科技大学教授。