计算思维教育:概念演变与面临的挑战
摘要:计算思维虽已成为研究热点,但对其概念的研究缺乏系统化的分析。从现代计算机科学发展历程的探索中可以发现,计算思维概念孕育于计算机科学寻求独立的过程中,萌芽于计算机教育思潮不断演变的进程中,成型于计算科学获得科学界认可之时。对计算思维概念的不断争论表明,需要综合计算学科、普适化和认知发展三个视角来深刻认识计算思维教育。当前值得重点关注的关键问题有:计算机科学家尚未就计算思维的关键要素达成一致;对计算本质理解的更新会影响计算思维的内涵;推动计算思维普适化面临诸多困难和质疑;计算思维价值的体现应该是多元化的;计算思维的个体认知发展有了初步的探索;计算思维的社会性发展研究引发更多教育深层问题。推动计算思维教育在中国的发展,需要解决特殊国情对发展策略的影响、课程与教学难成体系、实践与研究脱节等问题。
关键词:计算思维;计算思维教育;概念演变;发展挑战
中图分类号:G434? ?文献标识码:A? ? 文章编号:1009-5195(2019)06-0089-13? doi10.3969/j.issn.1009-5195.2019.06.010
計算思维(Computational Thinking)研究热度持续上升。但因人们对计算思维概念理解缺乏系统梳理,研究成果虽多却没有形成统一深入的正确认识。本文将对计算思维的形成与发展做系统性溯源,综合不同视角的计算思维概念研究成果,探讨我国计算思维发展过程中所面临的挑战,以期对理论研究与教育实践有所帮助。
一、 计算思维的起源
早在周以真(Wing,2006)之前就有很多人使用“计算思维”术语。利用Google Ngram Viewer和Google Book检索,可以发现1980年前就有若干数学教育等期刊中的文献使用了“计算思维”这一术语。而在2006年前的20多年里,计算机科学、心理学、符号学、哲学与宗教领域也开始更多地使用它。其中,派珀特(Papert,1980)、加德纳(Gardner,1985)的成果最具价值。前者从计算机教育角度探索儿童在操作计算系统的过程中所发展起来的独特教育价值,后者则是借鉴计算机信息处理模式探索人类认知的模型化描述与认知思维的信息加工过程。二者共同点是都认识到计算机科学发展过程中形成的重要思想与方法的价值。
对计算思维起源的追溯不能仅仅分析个别学者的观点,而应该将其置于产生该思想的历史时代,从中探寻其发展及演变的过程。自计算机科学诞生以来,计算思维就孕育其中,伴随着相关学科和领域的不断发展而成长。邓宁(Denning,2017a)曾对计算思维的演变做过初步探索,但缺少清晰的线索,未与现有研究成果进行整合。综合各类文献,本文将计算思维概念起源梳理成三个时期:(1)孕育期——在计算机科学寻求独立性的过程中萌发;(2)萌芽期——伴随计算机教育理念多元化而不断成长;(3)成型期——通过科学界认可的“计算科学”宣告正式形成。如图1所示。
1.孕育于计算机科学寻求学科独立之过程
在发展的早期阶段,科学界并不认为计算机科学是一门独立学科,只是将其认定为数学的一部分,甚至认为计算机主要是作为人造的信息转换器而存在。就这样,计算思维最早也被孕育于数学之中。早期的争论中,纽维尔(Newell)、佩利(Perlis)和西蒙(Simon)三位先驱的观点为计算机科学找到自身独特的发展指明了方向,他们认为“计算机科学是研究计算机现象的学问”(陈明远,1980)。用于“设计机器指令以驱动计算问题解决过程”的算法思维所获得的发展,使得计算机科学与其他领域彻底地区分开来(Newell et al.,1967)。编程成为人们解决问题的一种思想工具。此后,算法研究成为了计算机科学的中心课题,编写程序与设计算法成为了核心实践。这种认识成为“传统计算思维”的重要思想(Denning,2017a),今天依然影响着各国计算思维教育实践。
除了对“算法是否可以作为该领域独特性的代表”的讨论,早些年还有人宣称算法思维能够帮助训练大脑,有助于在所有领域更好地解决问题。“计算机科学家的独特思维方式是一种可被使用的持久的通用思维工具”,这种说法在一段时间内变得更加大胆和超前。例如,波尔特(Bolter,1984)将人是否具有计算能力(主要是算法思维)作为区分传统人和现代人的重要特征之一,将这样的人描绘为是“图灵化的人”。高德纳(Knuth)的经历让他相信“算法的教学价值有助于理解各种概念”。他通过分析经典数学教材发现,表征现实、简化问题、抽象推理、信息结构在算法思维中很常见,但在数学中却不常见;计算机科学家的两种思维模式(关注“复杂度”和关注“因果关系”)并没有受到数学家的重视,而这却是问题解决过程中事关复杂性(或经济性)以及设计可用程序所必需的(Knuth,1985)。他们的观点与研究发现为总结形成当今计算思维概念与特征奠定了初步基础。
到了20世纪80年代中期,信息系统、系统集成等受到重视,工程思维此后深刻地影响着计算机科学的发展。尽管早期的开拓者声称算法思维是计算学科的核心,但后来的先驱们认识到计算过程(Computation)应该是该领域的核心,系统、架构与设计都是核心内容。1989年的《计算作为学科》报告就曾指出,计算学科是对信息描述与转化的算法过程进行系统研究的学科,并进一步阐释了对计算新的理解——计算是一个包含理论、抽象和设计的领域,从算法到架构、设计和网络,都是计算 (Comer et al.,1989)。此后,计算机科学的应用领域得到迅猛发展,深刻地影响了社会各个领域。后人在总结计算机科学所蕴含的核心技能时也不再是从计算机科学角度出发,进一步拓展到人类解决问题的生活经验的抽象化、形式化与自动化,形成了“新计算思维”的认识。
2.萌发于计算机教育思潮演变之进程
与计算机学科发展寻求独立性面临的问题不同,计算机教育思潮一直处于不断变化中。其主要解决的问题是:(1)来自内部的需要:构建适应学科发展与社会需要的专业人才教育;(2)来自外部的需求:做好非专业人士的通用教育。纵观计算机教育发展的演变历史,计算思维得以萌芽和成长。
上个世纪50年代中期,计算科学教育依然将自己定位于数学教育的一个分支。70年代以后,随着计算机商业领域的日渐活跃,学校课程设置转向商业需求,加入各类软件与信息系统的部署、应用与研发等,工程思维随之对该领域的从业者产生了深刻的影响。进入80年代以后的20多年里,计算机科学教育的多元化更加突出,学科发展迅速,教学方向变得日益多样。20世纪90年代以后,互联网的快速发展使得软件业人才需求激增。此后一个庞大的计算机学科群形成,时至今日扩张势头依然没有改变。计算机科学家日渐发现,学科分化已经到了十分严重的境地,探索学科培养中核心概念体系、关键方法与基本实践活动,成为必须认真面对的问题。邓宁等人(Denning et al.,1989)总结出计算机学科发展的三种范式:根植于数学的“理论范式”;植根于实验科学的“抽象范式”;根植于工程学的“设计范式”,体现了该领域形成的传统。其中的计算机科学大概念和方法也被纳入后来的计算思维体系之中,被认为是该领域学习者必须具备的基本能力。
计算机教育对外输出学科价值的进程中,曾先后面向社会大众传播与推广“计算机素养”“计算机工具论”“多媒体文化”“超媒体文化”“网络文化”“信息素养”以及“媒体和信息素养”的重要价值(张进宝等,2018a)。渐渐地,计算机科学领域在这一进程中失去了宣传科学核心价值的主导权。计算机科学对普通民众的价值仅仅等同于了信息素养,计算机学科核心思想被矮化为编程技能。在实用主义占主导的指导思想下,各国高中计算机科学课程差异较大,课程表述缺乏统一性,诸如信息技术、信息与通信技术、信息系统、计算机科学、信息学、计算机工程、软件工程等名称混用(Ragonis,2008),这与高校计算机学科群庞杂的现状不无关系。近些年编程教育回归中小学,计算思维成为课程建设的重要指导思想,这为重构普通民众对计算机科学新认知提供了新机遇。
3.成型于计算科学获得科学界认可之时
从计算机诞生的历史来看,最初科学家仅仅将计算机用作科学仪器。随着计算机在科学领域应用范围的不断扩展,从物理到数学、生物学、人文科学,各个领域都产生越来越多新的成就与变化。计算被视为科学研究观察世界的镜头,成为支撑近代科学重大发现的功臣(George,2000)。计算被看成是一种新的科学范式,是对传统的理论范式和实验范式的补充,成为当今发展任何科学研究的先决条件(Easton,2006)。由此诞生出的计算科学(Computational Science),成为科学探究的第三支柱(Presidents Information Technology Advisory Council,2005)。
发展计算科学必须以强大的计算机科学作为基础,重视信息科学理论探索,高效率专用算法、建模和模拟软件的开发,以及大规模计算设备与计算基础设施的建设(周宏仁,2016)。计算科学是一个快速发展的多学科交叉领域,它使用高性能计算和数值分析来理解和解决复杂问题。这门新学科将计算思维、现代計算方法、设备和相关技术结合起来,解决了远超传统方法所能解决的问题范围(Sloot,2018)。对计算思维的强调,正是计算科学所采用的新型研究范式能够成功的根本原因。
伴随计算科学的成功,计算思维走出计算机科学,获得科学界的高度重视,成为三大科学思维之一(朱亚宗,2009)。为此,邓宁(Denning,2017b)撰文称,“计算思维应该源于科学领域而不是计算机科学”。在得到社会高度重视和科学界高度认可的情况下,计算思维犹如长期埋藏在土壤中的幼芽,伴随着计算科学的兴起破土而出,受到了各方的广泛关注。
二、计算思维概念的探索
计算思维从孕育思想、萌芽成长,到正式获得社会认可,其内涵的界定一直是学术界不断争议的问题。2006年之前少有人专门讨论计算思维的定义,之后则迅速增加,来自计算机科学、教育学和认知科学的学者先后加入讨论,但对计算思维概念的理解难以得到统一(Mannila et al.,2014;Haseski et al.,2018)。
本文采用如图2所示的“理解计算思维概念的三个视角”框架对2006年以后有关计算思维概念及发展规律研究的文献进行分析,以避免因视角狭隘所造成的偏见。由于不是文献计量研究,因此部分文献并不包括其中。例如,美国国家研究委员会2010和2011年发布的两次专题研讨会报告,虽然汇总了很多专家的观点,但因差异较大并未形成共识,加之没有系统化的论述,故而不纳入关注范畴。另外,本部分主要关注计算思维概念,因而很多定量的教学实验研究也未纳入其中。
1.计算学科视角界定的计算思维内涵
早期计算学科的学者们对计算思维的理解,突出强调算法的重要性,编程训练的结果是产生好的计算思维。这一时期所探讨的计算思维被称为“传统计算思维”(Denning,2017a)。例如,派珀特(Papert,1980)提到,“学会成为一名高水平程序员就是学会更熟练地将阻碍程序正确执行的错误进行隔离与纠正。如果把这种看待智力的方式推广到更大范围看待知识与获得知识,我们可能不会被‘错误所吓倒。”与强调“编程与算法培养起来的心智习惯”不同,“新计算思维”概念的领军者周以真(Wing,2006)做了较为系统的定义,认为计算机科学家所运用的计算思维,指向求解问题、设计系统和理解人类行为等任务,思维过程基于计算机科学的基本概念,运用了广义的各类计算机科学领域的智力工具。她将“计算思维”形象地描述成“像计算机科学家一样思考”,成为一种超越计算机科学范畴的概念体系。
周以真(Wing,2008)最初对计算思维的本质特征进行阐述,认为计算思维的核心是一种分析性思维,与数学思维解决问题的方式一脉相承。随后在吸收和借鉴其他学者的建议基础上,她(Wing,2010)重新对计算思维做了更为严密的定义:计算思维是在表述问题及其解决方案时所涉及的思维过程,确保解决方案的表征形式可被信息处理代理有效执行。相比2006年描述要素的定义,此定义更加系统地对思维过程所涉及的思维加工对象(表述问题)、思维加工指向(提出解决方案),以及验证思维结果可靠性(即“可执行性”)做了界定,在对计算思维核心内涵的定义上又更进一步,因此成为学者们引用率最高的定义(Shute et al.,2017)。
(1)计算思维的关键要素
受到周以真(2006)所发表文章的影响,大量有关计算思维概念内涵与特征的研究陆续出现。有学者将众多定义与描述归纳为“思维技能说”“过程要素说”(刘敏娜等,2018),或者“问题解决说”“系统说”“过程说”“活动及方法说”“工具说”等(张立国等,2018),本质上只不过是从思维的要素(基础概念、基本思想)、过程、结构、特征或结果等角度进行的阐释。
哪些要素是计算思维关键的下位概念?计算学科的基础概念很多,关键是搜寻标志性概念(史文崇,2014)。早期的计算机科学先驱们多从算法角度探讨概念中蕴含的思想与方法对其他科学领域的价值,因此将计算机科学限制于应用性学科,受众人群也限制得比较窄。周以真(Wing,2006;2008; 2010)强调要将远超该学科范畴的心智工具,应用于日常生活之中;将计算机科学中发展起来的若干大概念(抽象、自动化、表征、模型、建模)提升到与算法相同的位置。她认为计算思维的核心是“抽象与自动化”,这显著不同于以往的以“算法思想为核心”的“传统计算思维”观念,更多属于计算理论的相关范畴,但并不能完全涵盖生活经验。另外,学者们还从解决问题过程的角度,对计算思维的要素进行探讨,以便涵盖人类的一般性方法。例如,任务的形式化、数据分析、分解、建模与仿真、决策自动化、有效利用资源、决策过程抽象等(Dagiene et al.,2015)。
由于多数学者一直以来都是从计算机科学的角度试图总结和形成计算思维的核心要素,因而难以被教育界和心理学界认可。史文崇等(Shi et al.,2014)就计算思维核心要素遴选给出5个标准:必须是计算科学的术语、必须是基本术语、使用频率必须足够高、可以反映学科观念或认知风格、内涵和外延必须适中。但目前绝大多数学者在这个问题上的观点依然有很大的不同,这也直接影响了计算思维内涵的阐释。
(2)计算思维的核心本质
思维的本质是心理计算过程(廖玲,2010)。自然界或人工系统中有许多问题的解决方案是难以量化为直接答案的,但可以通过构造计算模型,使用算法、计算系统模拟许多现象,例如气候变化、人的大脑和癌细胞的工作方式等。
计算思维之所以能够构造出可用的问题解决方案,与其所依赖的计算模型有密切的关系。美国哥伦比亚大学阿霍(Aho)教授指出,关注计算思维应将“计算过程”与定义良好的“计算过程模型”结合起来使用,使其语义清晰,从而找到与正在研究的问题相匹配的内涵(Aho,2012)。他认为,计算思维的一个重要部分就是找到适当的计算过程模型,用以界定问题并得出解决方案。相比周以真(Wing,2010)的定义,该表述不再强调信息代理的执行,而更加强调思维的结果。在他看来,计算思维的核心是对计算步骤与算法的操作;计算就是根据抽象形成的计算模型所定义的过程;而算法设计就是寻找一种方法控制实现该模型的执行机构,以产生期望的效果。
用于解决顺序计算中问题的计算模型可以是简单的有限状态机,也可以是完备的图灵模型。可计算性理论是计算机科学最核心的基础理论。并不总是有合适的计算过程模型可用,这时的计算思维则变成了一项研究活动。20世纪60年代的计算被认为是“计算机执行程序的状态序列”,而今多数人将计算理解为“信息处理的过程”。人工智能的发展又让人们对计算产生新的认识。云计算就是创新计算思维的典型代表,人们从已有技术方案创新中获益。面向复杂分布式系统的并行计算模型,是当前研究的重要主题。
当今最受欢迎的应用程序都具有超出一般算法的计算功能,如面部识别、语音转录、无人驾驶汽车和工业机器人背后普遍有持续增长的海量数据作为支撑。数据思维、人工智能思维正在改变着人们对智能的理解。与计算思维相比,人工智能思维超越了逻辑和算法的观点,强调如何利用知识库和案例库解决问题,捕获和理解常识,通过启用语义和上下文的处理,可以实现非结构化数据处理等,这些被认为是当下机器智能的核心思想(张进宝等, 2018b)。今后计算思维也应关注从人工智能研究和实践中提炼出来的框架、技能集合和工具,使其成为对每个人都可用的“技能”。
而今,类似计算生物学在不断寻找有关细胞行为及DNA的计算模型,其他学科也普遍通过計算科学探索可用的计算模型。这表明,随着人们对计算模型的深入研究,计算思维的内涵与方法也将不断发展。将计算思维仅仅理解为面向问题解决的算法设计与编程活动,过于狭隘。
2.普适化视角探讨计算思维的外延
2006年以后,多数学者认为计算思维是超越编程活动所形成的思维品质,具有广泛的适用性和人人受益的价值。然而,是否每个人都能具备计算思维并从中受益,还需要充足的证据。自从计算思维概念被正式提出,学者们对计算思维的理解在社会不同视角中拓展。有的将其定义为21世纪中叶人人都需要的基本技能,可以不用机器就能学习(Wing,2008;2017);也有人将其理解为人的一项关键能力(ISTE,2016),是信息科学的学科核心素养(张立国等,2018)。
计算思维外延的探索,从挖掘成功案例出发,需要人们前瞻性地看到未来工作情境中计算思维将会发挥的重要作用。进入21世纪以来,计算机以各种形态进入商业、生活领域,逐步成为人人都离不开的伙伴,数字经济时代已成为现实。建筑业、制造业、房地产业、科学研究与技术服务业等出现大量需要借助选择与设计计算模型完成任务的计算设计师(Computational Designer)。计算思维在科学计算等领域不再是研究的辅助工具,已经化身为重要组成部分,发挥着关键作用。计算思维既是一种新的思想,也是一种新的视角(Bundy,2017)。今后的科学研究与工程实践将普遍需要具备计算思维,能够理解、掌握和构造计算步骤,在计算机上执行并获得有用结果的工作者。
(1) 计算思维的教育实践
当前学界已将计算思维教育认定为促进21世纪核心技能发展的重要方式,其符合“教育要面向未来”的基本逻辑,有助于教育界实现“学生应具有适应技术要素日益丰富的社会”的愿望。当计算思维被认定为每个学生都应掌握的能力以后,各国的计算机科学教育开始呈现低龄化、全员参与的特点,计算思维的培养成为贯穿各个学段的核心思想。图形编程环境(如Scratch、Alice、Game Maker、Kodu和Greenfoot)、基于Web的模拟创作工具(如Agent Sheets和Agent Cubes)和机器人套件(Arduino、Gogo Boards)等实物媒体,都可以成为初学者所需的“低门槛、高天花板”编程环境。美國麻省理工大学的Scratch图形化编程环境(Grover et al.,2013),影响了包括中国在内的数千万小学生。非盈利机构Code.org等在全球推动普及计算机科学教育活动。各式新奇的机器人(Cozmo、Wonder Workshop)、纸牌(Robot Turtles)类教学工具也被开发出来,用于激发学生数学思维与计算思维发展。其中,学生的问题解决能力被公认为是最重要的能力,是发展思维能力最好的切入点。世界数学奥林匹克大赛、世界信息奥林匹克大赛、国际数学竞赛(Kangaroo)以及其他一些竞赛已经吸引了成千上万的孩子关注。而面向所有学生的国际计算思维挑战赛(Bebras),也被人们寄予了高度期望。
尽管现代的计算思维已经将抽象、建模、表征等纳入其中,但多数计算思维的定义仍源于算法思维,被理解为所构建的问题解决方案是可以使用算法将输入转换为所需的输出。而缺乏足够多的证据支持就大力宣扬计算思维价值,会招致其他学科的反感(Denning,2009)。在多数学科(如数学、历史、化学等)尚未宣称自己学科独特思维方式时,人们很难普遍认同“人人都应具备计算思维”的说法(Hemmendinger,2010);而将日常生活问题解决策略归于计算思维,借此论证计算思维培养的必要性,受到质疑(Guzdial,2015;张广兵,2018)。有研究指出,计算思维忽视了“对问题解决的任何表达都是利益相关者协商的结果”的基本事实(Easterbrook,2014);宣称计算思维有助于每个人,并不符合事实(例如,文学、艺术类的工作多数运用非技术化的手段);将越来越多的内容塞入计算思维,恐怕会因此偏离推广计算思维的初衷(Tedre et al.,2016);过分强调计算思维形式化的重要性,如同早些年软件开发领域刻意强调一定要面向对象一样,都是眼界狭隘的表现(Denning,2017a)。
(2)计算思维的多元价值
如今的中小学教育,不论是国内还是国外,都处于高度复杂、高度政治化的环境中。为保持国际竞争力的各项优先事项,保障政治意识与国家治理稳定,社会转型促发的新型教学方法,以及知识更新与课程形态所发生的变化,都在争夺有限的教育时间与空间。然而,它同时也受到来自社会各界最广泛的关注和严密的审查,可用的资源也容易受到各种因素的影响。而要成功地将计算思维引入中小学,势必要求计算思维能够兼容现存和其他新出现的内容。在有限的学校课程体系中,决策者应该如何在已有的学校课程中腾出空间,计算思维最终是否应该作为一般学科、专门的学科或多学科主题纳入教育,目前专家们并无一致的意见(NRC,2011)。
尽管计算思维与数学思维、工程思维以及设计思维有共同之处,但它也以独特的方式扩展了思维技能(Lee et al.,2011)。由于其集中于信息过程,因此它具有明显的不同(Denning et al.,2009)。事实上,在讨论计算思维价值时,人们更多是看到了计算思维的工具价值,忽视了社会价值和认知价值。在探索计算思维价值的过程中,常常忘记“计算作为媒介”在探索数学、科学等其他领域的价值(Grover et al.,2013),这应该是从更广义的视角来理解计算思维的重要性。
多数人已经意识到目前我们只是将计算机作为信息获取与沟通工具,并未让其对大多数人的价值发挥到最大。但计算思维并非必然存在于绝大多数人的思维方式中。从学者对外延的探索来看,计算思维更多是因设计程序、开发软件和利用计算机开展计算发展出来的思维习惯。当人们对计算思维与数学思维关系的认识逐步深入后,多数人更愿意将其纳入数学教育,认为没有必要对计算思维进行特别强调。而且,很多人认为自己没有学习数学的天赋,进而排斥计算思维。国际教育技术协会(ISTE)和美国计算机科学教师协会(CSTA)做了大量的工作,组织学科专家、教育工作者、行政管理者共同努力,开发出足够丰富的案例,不仅包括计算机学科的,还包括其他学科能使用的案例,展示了计算思维价值的多元形态。
APP Inventor之父、美国麻省理工大学艾伯森教授(Abelson,2012)认为,不仅要关注利用计算机科学概念构造计算模型和可执行的方案,还应认识到计算的价值(Computational Values)。按照他的观点,在特别强调计算思维价值的同时,还应强调信息技术特别是数字信息所产生的威力,尤其是目前已经可见的开放数字教育资源所产生的巨大影响。
计算思维已成为近些年日益受到关注的数据科学、密码学、信息学和人工智能等信息时代新兴教学主题的核心。教育工作者更加重视它所激发与促进的创造力、合作精神与问题解决能力。卡法尔等人(Kafai et al.,2014)呼吁教学重点转向计算参与(Computational Participation),强调需要引导学生开发有用的应用程序、构建良好的社区,关注学生喜欢的重用(Remix)行为,以及各类实体化(Tangibles)的电子制品。罗德等人(Rode et al.,2015)通过实践,总结出儿童成功参与简单的创客项目,除了计算思维之外,包含5项技能(美学知识、创造力、搭建技能、可视化表达能力,以及对材料的理解)的计算创作(Computational Making)至关重要。他们建议,将计算思维整合于STEM教育中时,不能仅强调狭隘的计算思维,还应该重视新的STEM技能,并以此为起点探索教育活动的设计与实施。从某种意义上说,计算思维就像是STEM中的批判性思维——批判性思维侧重于在文本中寻找思想之间的关系,而计算思维致力于寻找计算模式,并在数字化的语境中设计解决方案。
应审慎设计包括编程在内的计算思维教育活动。仅仅关注培养学生算法和编程技巧的“功利性教育”,无视学生生命最基本的需要,严重违背了基础教育应有的定位。虽然,近些年有超过33种编程语言被用于中小学的计算机教育,游戏设计、实体编程工具、机器人等广泛被用于学生的编程活动,但确定合适的教学方法一直以来都很困难(Garneli et al., 2015)。对儿童来说,从“构建代码”到“分享应用”,从“零起点创作”再到“改编他人作品”,计算思维教育应该是一种高度社会化的参与和社交过程(Kafai,2016)。儿童参与编程活动应被归结为信息化的自我表达和社会参与,是数字化素养的重要组成部分。通过运用创造性的工具尝试实现自己的思想,编程活动扩大了个体的体验,促进了个体元认知的发展。在青少年编程活动中,首先应该重视其社会化的过程,由此其计算思维才能得到发展与完善,才能获得对自我和世界有意义的理解。派珀特(Papert,1980)早已指出,儿童参与编程的过程,实质上是锻炼思维的过程。计算机与其他方法一同配合可以创造出更有效的方案。因此,在教育环境中,编程活动应与其他活动一起,充分利用各类知识构建工具,让学生们参与到创造性的解决问题活动中。目前来看,人们尚未就不同阶段课程应实现何种教育目标达成共识。传统的学校教育也难以为青少年的社会性发展创造足够的条件,需要充分发挥非正式教育活动的优势。
上述只是计算思维教学研究中的部分代表,但已经引发至少四个深层问题:(1)如何选择适合的教育情境激发学习热情,并确定应该让学生掌握多少计算机科学先前知识?(2)算法学习与编程技巧的训练,在计算思维形成与发展过程中起着怎样的作用?(3)如不能给学生提供足够的计算设备,是否有其他有效的替代方案?(4)如何综合评判学生的计算思维发展水平?等等。总的来看,计算思维教学的探索尚处于起步阶段。在计算思维定义、维度与过程等尚未形成统一认识之前,有些研究主题(例如,课程设计与能力评价研究)尚无法推广。
三、中国计算思维教育的现实挑战
虽然包括计算机科学、教育学和心理学等领域的专家开始关注计算思维,努力推动其概念表述清晰化、内涵准确化、外延普适化,以及研究系统化,但我国教育工作者中普遍的认识上的误区和客观现实,仍将导致我国实施计算思维教育面临诸多挑战。
1.特殊国情影响发展策略
发展计算思维教育需要寻找适应中国国情的契机与问题。国内学者多数将计算思维作为舶来品看待,认为欧美国家正大力推动计算思维教育,中国也需要紧随其后。赫因特兹等人(Heintz et al.,2016)发现,小学教育中引入计算思维、编程和数字素养课程已成趋势。然而,不区分国情和教育面临的境遇而做出论断,本身就存在问题。美国历届政府都将STEM教育提到事关国家安全的战略高度,通过不断加大投入,鼓励本国学生主修相关领域课程,确保更多的学生毕业后能在这些领域工作,以确保国家的核心竞争力。因此自2010年以来开展的“全民计算机科学”(CS for All),虽然初衷是满足计算机类人才需求,解决中小学无法提供相关课程等问题,但此后该运动也积极响应美国政府的STEM教育发展战略(实际上是突出了计算思维学习对于发展计算科学的重要性),因此得到了联邦政府、各州和各类机构更广泛的支持。
反观我国,社会经济结构复杂,不断推进的全方位改革造就了中国独特的社会特征:产业结构多元化、人才需求多样化、就业方向灵活化、创新创业大众化等。教育改革一直以宏观结构调整为主,教育公平、教育精准扶贫、教育公共服务体系建设、创新人才培养模式等是中国教育改革与发展全局性的大事。一直以来,基础教育信息技术课程得不到重视,计算机科学教育研究相对薄弱,人才培养质量普遍不高。但得益于举国体制和改革开放政策,中国高科技领域依然获得了举世瞩目的发展。至于说计算机人才供不应求,这样的说法在任何一个国家都不是事实,就业市场并不缺乏劳动力。在这样的情况下,尽管国内学者积极推动高等教育和基础教育中计算思维教育活动,但如果仅仅将计算思维定位为普适化教育内容,而不与国家重大发展战略(如人工智能、大数据科学、计算科学等)相结合,将无法得到重视,也难以获得更大的发展空间。
中国并非没有发展计算思维的有利时机。近些年我国在工程教育、科技创新等方面都已实施了一系列有针对性的支撑计划,建立了企业为主体、产学研相结合、技术创新体系为突破口的科技体制改革实施方案,核心企业表现突出,中国制造在世界口碑日益上升。重点支持和发展高科技产业,使其产生带动效应,这是中国科技发展的重要经验。2017年中国政府发布的《新一代人工智能发展规划》,是“坚持战略引领,围绕国家发展战略需求,促进科技与经济紧密结合”的再次体现,其中包括了实施“全民智能教育项目”的重要内容。目前人工智能教育相关政策与行动正在制定过程中,急需系统化的跟踪研究与国际比较,避免商业利益主导的教育炒作与短视行动。为此,需要从国家创新与科技竞争态势、地区经济与社会发展潜力、产业创新集群效应、教育现代化发展战略的实施等多角度做出综合考虑。笔者认为,人工智能教育不应被理解为智能化的教育,应该从更广义的角度理解与构建智能教育;创客、编程教育、计算思维教育、STEM教育等内容都应被纳入其中。这是我国推动人工智能人才培养,开展计算思维教育的必由之路,也是推动STEM教育等新型教育的必然选择。中国的“全民智能教育”将成为全球“计算思维教育”的中国版(张进宝等,2018b)。
2.课程与教学难成体系
良好的课程与教学体系构建,应该依托丰富的研究成果,系统地定义各学段学生计算思维发展水平与能力绩效、教学内容与教学活动、设备与技术、教学资源与教学工具、教学评价标准、教学支持服务体系等。然而,且不说中国缺少成功案例,即使是美英等国也依然面临诸多挑战(Grover et al., 2013)。人们期待计算思维课程与教学体系是着眼于促进学生核心素养和未来社会发展需要构筑的多元課程内容。但现实情况下,新型教育观念与教学现状之间的鸿沟难以克服,已有课程体系和教学方式难以改变,有限的教学时间与教学条件无法保证新型课程实施,师资与专业发展尤为困难,这将导致计算思维教育的美好期望在实施过程中打折。
强调计算思维教育绝不是完全摒弃信息素养教育。青少年对信息活动与现象高度敏感和好奇,但普遍缺乏信息价值判断能力。设计健康的数字化生活与社会交往活动,将有利于培养他们的批判性思维和创造力,这是培养核心素养的关键。因此,决不能认为培养学生的信息素养早已过时。确保学生能够充分体验和具备媒体与数字素养,依然是基础性的教学任务。中小学信息技术课程至少肩负着三个层次的目标,既有“增进信息意识、提升数字素养”的初级目标,也有“促进计算思维、培养编程能力”的中级目标,以及“实现体验技术实践、实现技术创新”的高级目标(张进宝等,2018a)。不论是面向哪个层次的教学活动,都应充分激发学生的热情,提升其解释信息和做出明智判断的能力。这应成为中小学计算思维教育遵循的基本原则。
我国《高中信息技术课程标准(2017版)》虽然将计算思维作为学科核心素养予以提出,但并没有单独安排内容与模块进行培养。课程内容与模块设计方面主要以教育目标的方式存在(事实上,该标准中提及的四个核心素养都是这样处理的),教师通常会依据传统教学思路,将知识学习和实践活动作为教学主线,活动实施过程中兼顾或象征性体现部分计算思维技能的使用。多数教师依然倾向于知识传授(实质教育的范式),很难转向引导学生主动探索、感悟蕴含于问题解决过程中所包含的思想方法。这种从知识传授向思维教育的转变,对广大教师和学生都将是重大的考验。此外,该标准中给出的计算思维水平划分,区分度不高,无进一步的细分维度,明显对“问题界定”“抽象”“自动化”“模型化”等核心要素的强调不够,且将计算思维限定在“解决问题过程”之中,典型的考核方式是编程任务,未考虑在非编程活动中体现出的计算思维水平差异。
虽然国际上已经出现了大量从幼儿园到高中的各类计算思维教育实践,但大多强调编程教育。编程(Programming)并不等同于程序开发(Coding),涉及运用算法创建数字制品(如音乐、视频、动画、应用程序、网站等)的过程。中小学编程教育的重点也不应是编程语言和程序设计与开发的技巧,应致力于使学生能够通过开发各类制品创新自我表达,满足个人的好奇心,甚至创造出新的知识。国内外研究表明,教师普遍缺乏对计算思维的系统理解(Giannakos et al., 2015)。古德等人(Good et al.,2017)调查发现计算机教师不太容易能够意识到计算思维在课程中的存在,常常倾向于从程序教学角度强调计算机科学的核心价值,这种做法容易忽视教授学生迁移编程能力解决周围环境中的问题,同时也容易将不善于或不习惯学习编程的学生排除在外;教师也很难意识到教授编程通常存在的弊端。
信息技术在教育中全方位的渗透与应用,使得实施计算思维教育有了更加多元的选择,所有师生和学科也都将参与到计算思维教育之中。Nesiba等人(Nesiba et al.,2015)在DISSECT(通过计算思维探索科学)项目中,除了将计算思维整合到中学科学课,还尝试将其融入人文学科内容中。他们的实践表明,在高中三年级英国文学课程中,可以构建计算思维与作文和文学相结合的教学实践。由康拉德·沃尔夫勒姆(Conrad Wolfram)推动的“基于计算机的数学教育项目”,旨在改变传统数学教育花费80%的课程时间仅获得了手工计算的知识的现状。他们在课堂中积极引入计算机,教学结构遵循计算思维开展,强调对真实情景下的问题进行研究,学生有机会利用计算机探究解决方案,展示他们对问题的理解,讨论策略并听取他人的意见(Wolfram,2016)。
然而,长期以来我国教育领域中严重缺少具有自主知识产权的模拟、仿真类软件,而此类软件在不论是科学教育还是理科分科教育中,都将有利于学生跨越传统学科教育模式,理解现代科学研究的范式。这就需要对更多的教师进行专门的培训,以便教授计算思维的主要概念,并在其学科背景下创新教学活动。虽然计算思维对于数学和计算机科学等许多STEM领域非常重要,但它往往在学校中没有得到很好的培养。各方应协力探索在学科中如何整合计算思维,实现计算思维整合的跨学科教育模式,并对这样的多学科融合课程组织实施,提出全面而可行的建议,以便将计算思维全面而充分地纳入中国教育系统中。虽然我国的基础教育课程在一定程度上有灵活性,特别是多年以来校本课程开发与实施所积累的经验,但这并不足以支撑计算思维整合型课程模式的实施。各地行政部门多头管理的模式,会从不同方面影响计算思维与学科的深入融合。要改变各地教育主管部门的认识,推动学校和教师切实落实此种思路,是件有挑战的任务。
3.实践与研究脱节难克服
近些年国内期刊发表的计算思维培养策略及教学实践的文献正在逐年增多(杨健,2017)。此类成果多为中小学教师或硕士研究生论文,探讨如何处理计算思维教育内容、教学方法,开展计算思维教学实验。计算思维被描述为在特定学科教学(如计算机科学、科学课、音乐课等)中,在解决特定问题时,通过运用合适的教学策略,向学生传授特定的思维方法,从而逐步发展和形成的一组思维技能。思维教学过程遇到的挑战,较之知识传授为主的教学,更为复杂。
教育实践问题的独特性与情境性,使得教师只能通过实践去解决,由此构建出来的多是“实践艺术”,很难被归纳为普适性做法。即使在思维教学、计算思维教育、编程教育等领域实际上已经有很多研究成果出现,也难以被教师借鉴和实践。以英国教育研究与实践中遇到的问题为例,该国早在2013年就设置必修课程“计算”(Computing),计算思维作为课程的核心素养也被广泛讨论和研究。但是相关报道(Rory,2017)指出,该国的课程改革遭遇很大的困难,面临合格师资的匮乏、选学并参加课程考试的学生比例过低等等。这一现象引发了人们的反思——五年前从教师、商界领袖到政界人士都一致赞同,需要彻底改变计算机教育方式,但今天很少有人对改革的进程与方向表示满意。
此外,教育研究者往往会忽视实践中的很多细节问题。例如,虽然国内外已经出现了很多可以被用来培养学生计算思维的软件和硬件,相关实验也都证明有一定的效果,但是很多可选方案对于普通学校是难以承受的。例如,机器人成本高昂,不可能面向多数学生開展教学。有些则需要较长学习周期才能见到成效,例如Python等编程语言。有些技术方案成本极低(例如计算思维类卡牌、不插电的计算思维活动),但在教学方法方面要求更高。这些问题都是摆在教师面前的实际问题,却未能受到研究者的重视。
计算思维教育理论与实践研究存在的脱节问题,正在制约各自的发展。例如,多数教师不能将计算思维与传统的信息技术工具应用区别开来,故而纠结于信息技术工具教学怎样才算渗透计算思维。一线教师认为“通过分析一个包含复杂动画的PPT页面,理解动画之间的时序关系,应该属于计算思维”(王荣良等,2017)。也有中国学者试图探讨整合计算思维的软件应用教学(Jiang et al,2016)。研究者普遍漠视这些问题。笔者认为,区别于普通问题解决中的一般性思维,计算思维所面向的首先是某一类复杂问题,而运用这种思维方式的人应该要有目的地实现解决方案的机械化,在条件允许的情况下(或者就是在这样的情况下),运用计算设备(可能是可控制的机械装置或计算机系统等)自动化执行方案。而广大教师常常误认为,计算机应用软件使用思想就是计算思维范畴,因此也会认为计算思维实际上是“新瓶装旧酒”。
破解理论研究与实践脱节的现状,需要双方开展协同化的实践与研究。研究者常会将关注点集中于思维教学的复杂性。教师则应以可观察、可测量的外部行为作为教育目标,而非难以触及的个体内在思维。让学生学会“计算机科学家解决问题的思维方式”,是学校教育“可说但不可做”的事情。计算思维教育着眼于思维过程和解决问题的能力,而一般的学科教学则侧重于科学方法和相关领域特定知识。相对真实的问题与情境势必要求更多地开展社会交互活动。在教学中,教育工作者在帮助学生掌握学科基本技能之外,还要引导他们解决开放式科学、工程和技术问题,相互之间的交流与互动将有利于师生加深对问题解决方案所蕴含模型的理解。因此,对于教师来说,难以在并不熟悉的计算思维与教育情景间建立联系。在将计算思维与科技创新课程相整合的实践中,计算仿真教学在促进学生科学探究、发展计算思维方面有很大的潜力,是学校教育急需的。但现实情况是,多数研究成果仅存在于文献之中,多数教育研究者只是將论文发表作为自己的主要任务,没有持续性的后续跟进和推广,国内外教育实践者苦于无人指导。
四、结束语
因缺乏对计算思维概念的批判性研究,致使部分人宣称的计算思维的价值与相对混乱的计算思维教育实践及实效存在差距,在现实中招来了诸多质疑。本文认为对计算思维形成与发展的脉络的梳理是探寻计算思维本质的起点。综合不同视角的研究成果有助于认清计算思维概念探索中的“已知”与“未知”。在中国推动计算思维教育还存在诸多现实的挑战,需要我们认真对待。美、英等国积极推动全民计算机科学教育的历史背景与中国有所不同,照搬他们的做法十分不明智。我们不应仅仅从“未来社会是数字时代”的角度,宣传人人都应具备计算思维,毕竟多元的社会才是这个时代最显著的特征。对于中国教育来说,发展计算思维教育机遇与挑战并存,认清存在的问题仅仅是解决问题的开始。
参考文献:
[1]陈明远(1980).计算机科学的发展[J].自然杂志,(4):264-267.
[2]廖玲(2010).思维本质:心理计算过程[J].重庆理工大学学报(社会科学),24(9):96-98,123.
[3]刘敏娜,张倩苇(2018).国外计算思维教育研究进展[J].开放教育研究,24(1):41-53.
[4]史文崇(2014).思维的计算特征与计算的思维属性[J].计算机科学,(2):11-14.
[5]王荣良,卢文来(2017).计算思维——行进中的挑战[J].中国信息技术教育,(6):4-10.
[6]杨健(2017).我国中小学信息技术教学中计算思维培养的现状研究——基于中国知网的文献分析[J].中国教育信息化, (23):85-88.
[7]张广兵(2018).计算思维再反思[J].计算机教育,(5):140-143.
[8]张进宝,姬凌岩(2018a).中小学信息技术教育定位的嬗变[J].电化教育研究, 39(5):108-114.
[9]张进宝,姬凌岩(2018b).是“智能化教育”还是“促进智能发展的教育”——AI时代智能教育的内涵分析与目标定位[J].现代远程教育研究,(2):14-23.
[10]张立国,王国华(2018).计算思维:信息技术学科核心素养培养的核心议题[J].电化教育研究,39(5):115-121.
[11]周宏仁(2016).信息化:从计算机科学到计算科学[J].中国科学院院刊,31(6):591-598.
[12]朱亚宗(2009).论计算思维——计算思维的科学定位、基本原理及创新路径[J].计算机科学,(4):53-56.
[13]Abelson, H. (2012). From Computational Thinking to Computational Values[C]// Proceedings of the 43rd ACM Technical Symposium on Computer Science Education: 239-240.
[14]Aho, A. V. (2012) Computation and Computational Thinking[J]. The Computer Journal, 55(7): 832-835.
[15]Bilbao, J., Garcia, O., & Rebollar, C. et al.(2016). Skills, Attitudes and Concepts of the Computational Thinking, Economics and Education[C]. Proceedings of the 12th International Conference on Educational Technologies (EDUTE16), WSEAS Press: 82-87.
[16]Bolter, J. D. (1984). Turings Man: Western Culture in the Computer Age[M]. Chapel Hil: UNC Press Books.
[17]Bundy, A.(2017). Computational Thinking is Pervasive[J]. Journal of Scientific and Practical Computing. (1,2): 67-69.
[18]Christian, P. B., Marcos, R., & Gregorio, R. et al.(2017). Development of Computational Thinking Skills Through Unplugged Activities in Primary School[C]// Erik Barendsen and Peter Hubwieser (Eds.).Proceedings of the 12th Workshop on Primary and Secondary Computing Education (WiPSCE17), ACM, New York, NY, USA: 65-72.
[19]Comer, D. E., Gries, D., & Mulder, M. C. et al. (1989). Computing as a Discipline[J]. Communications of the ACM, 32(1): 9-23.
[20]Dagien?, V., Pelikis, E., & Stupurien?, G. (2015). Introducing Computational Thinking Through a Contest on Informatics: Problem-Solving and Gender Issues[J]. Informacijos Mokslai/Information Sciences, 73: 55.
[21]Denning, P. J., Comer, D. E., & Gries, D. et al.(1989). Computing as a Discipline[J]. Computer, 22(2): 63-70.
[22]Denning, P. J. (2009). The Profession of IT Beyond Computational Thinking[J]. Communications of the ACM, 52(6): 28-30.
[23]Denning, P. J. (2017a). Remaining Trouble Spots with Computational Thinking[J]. Communications of the ACM, 60(6):33-39.
[24]Denning, P. J. (2017b). Computational Thinking in Science[J]. American Scientist, 105(1): 13.
[25]Denning, P., & Freeman, P. (2009). Computings Paradigm[J]. Communications of the ACM, 52(12): 28-30.
[26]Easterbrook, S. (2014). From Computational Thinking to Systems Thinking[C]//The 2nd International Conference ICT for Sustainability (ICT4S), Stockholm.
[27]Easton, T. A. (2006). Beyond the Algorithmization of the Sciences[J]. Communications of the ACM, 49(5): 31-33.
[28]Gardner, H. (1985). The Minds New Science: A History of the Cognitive Revolution[M]. New York: Basic Books.
[29]Gardner, H. (2000). The Disciplined Mind: Beyond Facts and Standardized Tests, The K-12 Education That Every Child Deserves[M]. New York: Penguin Group (USA) Incorporated.
[30]Garneli, V., Giannakos, M. N., & Chorianopoulos, K. (2015). Computing Education in K-12 Schools: A Review of The Literature[C]// Global Engineering Education Conference (EDUCON),2015 IEEE. IEEE :543-551.
[31]George, J. (2000). Ideas & Trends; The Nobels: Dazzled by the Digital Light [DB/OL]. [2018-03-30]. http://www.nytimes.com/2000/10/15/weekinreview/ideas-trends-the-nobels-dazzled-by-the-digital-light.html.
[32]Giannakos, M. N., Doukakis, S., & Pappas, I.O. et al.(2015). Investigating Teachers Confidence on Technological Pedagogical and Content Knowledge: An Initial Validation of TPACK Scales in K-12computing Education Context[J]. Journal of Computers in Education, 2(1):43-59.
[33]Good, J., Yadav, A. & Mishra, P. (2017). ComputationalThinking in Computer Science Classrooms: Viewpoints from CS Educators[C]//Proceedings of Society for Information Technology & Teacher Education International Conference. Austin, TX, United States: Association for the Advancement of Computing in Education (AACE): 51-59
[34]Grover, S., & Pea, R. (2013) Computational Thinking in K-12: A Review of the State of the Field[J]. Educ Res, 42(1):38-43.
[35]Guzdial, M. (2015) Learner-Centeed Design ofComputingEducation: Research on Computing for Everyone[M]// John M. Carroll. Synthesis Lectures on Human-Centered Informatics. Morgan & Claypool publishers.
[36]Haseski, H. I., Ilic, U., & Tugtekin, U. (2018). Defining a New 21st Century Skill-Computational Thinking: Concepts and Trends[J]. International Education Studies, 11(4): 29-42.
[37]Heintz, F., Mannila, L., & F?rnqvist, T. (2016). A Review of Models for Introducing Computational Thinking, Computer Science and Computing in K-12 Education[C]// Frontiers in Education Conference (FIE), 2016 IEEE: 1-9.
[38]Hemmendinger, D. (2010). A Plea for Modesty[J]. ACM Inroads, 1(2): 4-7.
[39]International Society for Technology in Education(ISTE)(2016). ISTE Standards for Students[DB/OL]. [2018-03-26]. http://www.iste.org/standards/standards/for-students-2016.
[40]Jiang, L., & Zhan, G., & Li, Z. (2016). Software Application Teaching Combined With Computational Thinking[C]// International Conference on Information Technologies in Education & Learning:94-96.
[41]Jonassen, D. H., Howland, J., & Moore, J. et al. (2003) Learning to Solve Problems With Technology[M]. Upper Saddle River, NJ: Merrill Prentice Hall.
[42]Kafai, Y. B. (2016). From Computational Thinking to Computational Participation in K-12 Education[J]. Communications?of the ACM, 59(8): 26-27.
[43]Kafai, Y. B., & Burke, Q. (2014). Connected Code: Why Children Need to Learn Programming[M]. Cambridge, MA: MIT Press.
[44]Knuth, D. E. (1985). Algorithmic Thinking and Mathematical Thinking[J]. The American Mathematical Monthly,?92(3): 170-181.
[45]Kules, B. (2016). Computational Thinking Is Critical Thinking: Connecting to University Discourse, Goals, and Learning Outcomes[C]// Proceedings of the 79th ASIS&T Annual Meeting: Creating Knowledge, Enhancing Lives through Information & Technology: 92.
[46]Lye, S.Y., & Koh, J. H. L. (2018). Case Studies of Elementary Childrens Engagement in Computational Thinking Through Scratch Programming[C]// Khine M. (eds) Computational Thinking in the STEM Disciplines. Springer, Cham.
[47]Mannila, L., Dagiene, V., & Demo, B. et al. (2014). Computational Thinking in K-9 Education[C]// Proceedings of the Working Group Reports of the 2014 on Innovation & Technology in Computer Science Education Conference. ACM: 1-29.
[48]National Research Council(NRC)(2010). Report of a Workshop on the Scope and Nature of Computational Thinking[M]. Washington, DC: National Academies Press.
[49]National Research Council(NRC)(2011). Report of a Workshop on The Pedagogical Aspects of Computational Thinking[M]. Washington, DC: National Academies Press.
[50]Nesiba, N., Pontelli, E., & Staley, T. (2015). DISSECT: Exploring the Relationship Between Computational Thinking and English Literature in K-12 Curricula[C]// 2015 IEEE Frontiers in Education Conference (FIE):1-8.
[51]Newell, A., Perlis, A. J., & Simon, H. A. (1967). Computer Science[J]. Science, 157(3795): 1373-1374.
[52]Osman, Y. (2018). A New Perspective on Computational Thinking[J]. Communications of ACM, 61(7): 33-39.
[53]Papert, S. (1980). Mindstorms: Children, Computers, and Powerful Ideas[M]. Basic Books, Inc.
[54]Presidents Information Technology Advisory Council (2005). Computational Sience: Ensuring America's Cmpetitiveness(2005-05-27) [EB/OL]. [2018-03-27].ttp://vis.cs.brown.edu/ docs/pdf/Pitac-2005 -CSE.pdf.
[55]Ragonis, N.(2007).Computing Pre-University: Secondary Level Computing Curricula[M]// Ralston, A., Reilly E. D., and Hemmendinger, D. (Eds.).Encyclopedia of Computer Science(4th Edition).
[56]Rode, J. A., Weibert, A., & Marshall, A. et al.(2015). From Computational Thinking to Computational Making.[C] //Proceedings of the 2015 ACM Conference on Ubiquitous Computing. Ubicomp 2015. ACM, New York, NY: 239-250.
[57]Román-González, M., Pérez-González, J., & Jiménez-Fernández, C. (2017). Which Cognitive Abilities Underlie Computational Thinking? Criterion Validity of the Computational?Thinking Test[J]. Computers in Human Behavior, 72: 678-691.
[58]Rory, C. J. (2017). Computing in Schools - Alarm Bells Over Englands Classes[N/OL]. [2018-03-30]. http://www.bbc.com/news/technology-40322796.
[59]Shi, W., Liu, M., & Hendler, P. (2014). Computational Features of the Thinking and the Thinking Attributes of Computing: On Computational Thinking[J]. Journal of Software, 9(10):2507-2513.
[60]Shute, V. J., Sun, C., & Asbell-Clarke, J. (2017). Demystifying Computational Thinking[J]. Educational Research Review, 22:142-158.
[61]Sloot, P. (2018). Aims & Scope, Journal of Computational Science[DB/OL]. [2018-03-26]. https://www.journals.elsevier.com/journal-of-computational-science/.
[62]Tedre, M., & Denning, P. J. (2016) The Long Quest for Computational Thinking[C]// Proceedings of the 16th Koli Calling International Conference on Computing Education Research. ACM: 120-129.
[63]Voskoglou, M. G., & Buckley, S. (2012) Problem Solving and Computational Thinking in a Learning Environment[J]. Egyptian Computer Science Journal, 36 (4): 28-46.
[64]Weese, J. L.(2017) Bringing Computational Thinking to K-12 and Higher Education[D]. Kansas State University.
[65]Wing, J. M. (2006). Computational Thinking[J]. Communications of the ACM, (3):34-35.
[66]Wing, J. M. (2008). Computational Thinking and Thinking about Computing[J]. Philosophical Transactions of the Royal Society, 366(1881): 3717-3725.
[67]Wing, J. M. (2010). Computational Thinking: What and Why? [DB/OL]. [2018-03-30]. http://www.cs.cmu.edu/~CompThink/papers/TheLinkWing.pdf.
[68]Wing, J. M. (2017). Computational Thinkings Influence on Research and Education for All[J]. Italian Journal of Educational Technology, 25(2): 7-14.
[69]Wolfram, C. (2016). Anchoring Computational Thinking in Todays Curriculum [DB/OL]. [2018-03-28]. http://www.conradwolfram.com/home/anchoring-computational-think-ing-in-todays-curriculum/.
收稿日期 2019-02-17 責任编辑 汪燕