您好, 访客   登录/注册

计算思维培养阶段划分与教授策略探讨

来源:用户上传      作者:

  摘要:对计算思维概念本质与结构框架的提炼是计算思维教授策略的基础。文章以皮亚杰认知发展阶段论的儿童思维发展逻辑为框架基础,划分计算思维培养的四阶段:实体感知与行为互动中的前计算思维阶段、符号象征与任务驱动中的计算思维准备阶段、逻辑推演与思维抽象中的计算思维形成阶段及假设推理与形式运演中的计算思维发展阶段。根据各阶段儿童认知心理与行为特点的不同设定相应的教学方式与策略:以实物感知与实体操作浸润前计算思维阶段、以逻辑任务与人机交互贯穿计算思维准备阶段、以图形化编程与计算参与助力计算思维形成阶段、以学科领域延伸与深度逻辑推理渗透计算思维发展阶段。
  关键词:计算思维;皮亚杰;培养阶段;认知发展;教授方式
  中图分类号:G434
  文献标识码:A
  计算思维作为21世纪学生必备的一项技能,自提出以来便广受各界关注。教育信息化蓬勃发展、智能教育如火如荼开展的先决条件为计算思维的教授与培养提供了良好的硬件环境与软件基础。外界商业刺激、面向未来社会人才需求都为计算思维的培养与发展提供了有力的外在助推,技术的魅力不在于技术本身而在于技术的使用,如何有效使用外在因素推动计算思维的内在培养是目前教育领域迫切需要解决的问题。计算思维的提出最早可追溯到人工智能教育先驱西蒙·派珀特(Seymour Papert),而时至今日,人们对他的技术助学思想仍未彻底理解及有效践行;周以真(Jeannette M.Wing)教授关于计算思维的新视界将计算思维推向了更为宽广的研究与应用领域,同时也将社会各界对计算思维的探讨上升到思维认知层面。教育是装备下一代劳动力的重要方式,课堂教学成为推广普及计算思维的主阵地。而计算思维应该教授什么、如何教授等方法策略层面的问题仍未深入开垦,有待深耕。如今,计算思维已不是一个新鲜的名词,但其抽象性的内涵本质为其实践推进带来了诸多阻碍,如何将其与教学及生活实践接轨以使计算思维从幕后走到台前、从思维活动反射出行为活动,需要一定的教授方法作为枢纽。计算思维的培养不可一蹴而就,应是逐渐推进的阶段性过程。对计算思维培养进行阶段划分、明晰各阶段的儿童思维特点及教授策略,是计算思维教授的先行之举。
  一、计算思维概念的产生及发展
  对计算思维内涵本质的理解与提炼是实施相应教授策略的前提与基础。计算思维(ComputationalThinking,简称CT)的雏形见于麻省理工学院教授西蒙·派珀特1 980年的著作Mindstorms: Children,Computers,and Powerful Ideas中,在此,派珀特首次提出计算思维并将其阐述为儿童在通过计算机学习时所训练与培养的思维技能[1];2006年,周以真教授在美国计算机权威杂志Communieations of the ACM发表了Computational Thinking一文,以颠覆性的视角给计算思维以全新的定义,并奠定了之后计算思维研究与实践的基调。周以真教授将计算思维定义为运用计算机科学基础概念求解问题、设计系统和理解人类的行为,并描述了计算思维具有概念化、基础化、以人类为思维主体、强调数学与工程思维的互补融合、强调思维特点及面向所有人及所有领域等六大特性[2]。这为计算思维赋予了思想高度的灵魂,由此引发了此后计算思维研究的热潮;随后几年间周以真教授基于时代背景的更新及教育需求的变化不断丰富与深化计算思维的理论及实践内涵;2008年,她将对计算思维的认识整合到科学、技术与社会三方驱动的背景之下,对计算思维内涵的主要组成(如抽象与自动化等概念)进行了详细探讨,列举了相关应用领域的实施案例,体现出计算思维的“无所不在”性,并厘清了计算、计算技术以及计算思维的概念边界,计算思维是希望学习者像计算机科学家一样思考而不是像计算机一样思考,应该在利用好计算工具的同时更好地理解与践行计算思维理念[3];2010年在智能人机协作时代前奏之下,周以真将计算思维阐述为制定问题及其解决方案所涉及的思维过程,以便于解决方案以一种可以有效地由信息处理代理执行的形式来表示。这些解决方案可以由人、机器或人和机器结合的方式执行[4]。 2011年,国际教育技术协会(ISTE)和计算机科学教师协会(CSTA)等制定了K-12教育中计算思维的操作性定义,认为计算思维作为解决问题的过程,具备但不限于以下特征:能够使用计算机和其它工具来帮助解决问题;逻辑地组织和分析数据;通过模型和模拟等抽象来表示数据;通过算法思维自动化解决方案;确定、分析和实施可能的解决方案,实现步骤和资源最有效的组合;概括问题解决过程,并用于各种各样的问题上。相对于其它的定义,操作性定义指出了培养计算思维的倾向性态度,包括:处理复杂性的信心;坚持不懈地处理困难问题;对歧义的容忍;处理开放式问题的能力;与他人沟通和合作以实现共同目标或解决方案的能力[5]。这从计算思维操作者的角度出发,不仅将计算思维的聚焦点放在问题解决的过程,同时也关注了学习者的情感态度以及思维中的“人”性层面,为理解计算思维提供了不同的维度。
  在此基础之上,计算思维教育实践逐步走向落地,各研究者对计算思维的教学框架与实践推进进行了诸多探讨,其中最具影响力的当属伯南与雷斯尼克(Karen Brennan&Mitchel Resnick)基于儿童编程环境Scratch构建的计算思维三维框架,框架分为三个维度,分别为计算概念:设计者在编程时所涉及的概念,包括序列、循环、并行性、事件、条件、运算符和数据;计算实践:设计者在创建项目时参与的设计实践,包括增量和迭代、测试和调试、重用和再混合、以及抽象和模块化;计算观念:设计者对自己的不断发展的理解,对自己与他人及世界的看法,包括表达、连接和提问[6]。该框架从概念内容、实践操作以及观念延伸三个层面对计算思维的教学培养设定了层次路径,成为此后诸多计算思维教学的理论支撑及实践指导;此外,不断有研究者在此基础之上进行扩充及延伸,阿斯特拉罕与布里格斯(Astrachan&Briggs)基于计算机科学原理构建标准框架,解释了六大计算思维实践:连接计算、开发计算工件、分析问题和工件、抽象、通信和协作与七大计算机科学思想:创造力、抽象、数据和信息、算法、编程、互联网和全球影响[7]。安吉莉(Angeli)等在K-6中探讨计算思维,认为计算思维是一个利用抽象、概括、分解、算法思维和调试(检测和纠正错误)元素的思维过程[8]。也有学者考虑到计算思维解决問题的灵活适用性,在跨学科的背景下定义计算思维[9]。贾拉勒(Jalal)等在计算思维技能之外确定了21世纪技能相关的一般技能,通过实证研究将认知技能和态度、语言技能、创造性问题解决的技能和态度、合作技能和态度等扩充到计算思维三维框架之中[10],使计算思维的理论内核及延伸路向不断清晰。   梳理归纳各界计算思维研究成果并非是期于得出计算思维具体确切的定义,但通过分析各研究主线及结论能够发现其共同之处。因此,本研究从解决问题及培养技能两层面来理解并提炼计算思维的内核本质及内生结构,站在问题解决视角理解与描述计算思维,并将其细化到问题解决的具体过程之中(如图1所示);同时基于人与问题两大主体,对计算思维问题解决之外的技能培养分类划归(如图2所示);基于国内外相关研究,整理出问题解决与技能培养两层结构框架中具体内容组成(如下页表1所示),以期深刻理解计算思维本质进而有效开展教学实践活动。
  通过分析发现,计算思维的问题解决过程主要包括抽象、数据结构、算法、循环与迭代、最优化、测试、归纳与迁移:操作者提炼问题本质,忽略不必要的细节,将复杂的问题情境加以抽象[11-13],依据关键变量将感性认识组织为计算可解的问题[14];而要深刻理解和解决问题,需要充分体现收集、表示和分析数据的过程[15];邓肯(Duncan)等在设计小学生计算思维课程时,将算法、编程、数据表示、数字化设备、数字化应用及人与计算机的关系作为思考课程内容的基础[16]。其中,数据表示即二进制编码不同种的数据类型,算法即问题解决的程序化规划。将问题转化为可解决的问题的重点在于在问题中提取有效数据并进行模型建构(数据结构),研究数据的处理方法与操作步骤(算法)并获取指令;算法思维作为解决问题的关键,是计算思维的核心组成结构,即用推理思维来获取问题解决方案[17],可以用来解决学科交叉领域的问题[18],也是开发和表达计算问题解决方案的工具[19]。通过一系列算法所得出的是解决问题的众多指令,通过对指令的分析、重复利用及自身调用(循环与迭代)等以形成完整的问题解决方案,并对比不同的方案(最优化),确定最终解决方案,将问题转化为方便解决的问题;无论是国际教育技术协会和计算机科学教师协会等提出的计算思维操作性定义的特征,还是伯南与雷斯尼克构建的计算思维三维框架,其中都强调了循环迭代及最优化解决方案的思想。方案的实施需落实在具体的操作步骤之中,思维的结果需反射在现实的行动之中。借助技术设备(测试)、人(归纳与迁移)或技术与人结合的方式得到问题解决结果。一些学者将测试定义为调试及错误检测,即发现方案中的错误并进行修正[20-22]。将问题解决方案泛化并用于解决其他相关问题这一技能,被广泛认为是计算思维的一部分[23][24]。在培养技能方面,各项研究结论主要涉及到处理复杂性的信心,处理困难问题的稳定性,对不确定性的容忍,以及处理开放式问题的能力,与他人沟通和合作以克服共同解决方案的能力等,以及培养批判性思维[25-27]、创造力及发散思维[28]。我们基于主体维度从三个角度将其归类划分,分别是操作者自身方面(自我认知及反思)、操作者与问题方面(解决问题的态度、创造力及发散思维)以及操作者与其他操作者方面(沟通、协作、接纳与批判)。
  二、计算思维培养的四个阶段
  计算思维培养阶段层次的划分能够助力计算思维教学实践的落地。思维的养成是知识不断获取的过程,也是学习者认知发展变化的过程,皮亚杰提出的认知发展理论很好地解释了儿童认知的形成与发展过程,成为此后儿童发展相关研究的理论支撑及发展基础。皮亚杰作为心理学家以及儿童认知发展专家,其理论被诸多研究者以不同角度及层面加以延用发展。计算思维同样作为一种高阶思维能力,其发展与培养也需要循序渐进的过程与丰富多样的形式。在此,我们同样尝试借助皮亚杰的认知发展阶段理论构筑计算思维培养与形成的阶段蓝图,但有所不同的是,我们并非要精确借鉴认知发展阶段论中对儿童思维发展的年龄划分,而是希望通过每阶段所表现出的思维发展特点和发展连贯性等反映计算思维习得过程,借助认知发展阶段的思维逻辑设定来划分计算思维的培养阶段框架,为计算思维教学实践提供发展依附与理论支持。
  (一)前计算思维阶段——实体感知与行为互动中的计算思维蓄力
  国外有研究提出要将计算思维转变为四种基本技能之一就必须使计算思维在小学阶段就出现,然后一直持续到中学,甚至更长时间内[29]。一提到计算思维,人们很自然地就会将其与计算机编程相联系,诚然,编程确实是培养计算思维的重要方式之一,但年龄层次较低的儿童在编程认知接受和实际操作过程中会存在着一定的困难,探求低龄儿童计算思维培养的规律和方式需要更加丰富的教学形式支持。皮亚杰在感知运动阶段中对儿童心理认知和行为发展的观察描述给我们以启示。儿童通过感官与运动体验世界以获取知识。通过看、听、吸吮、抓取等动作建立与外界的联系,在互动中逐渐形成对世界的认识,这是思维养成在儿童大脑中萌芽的起点。儿童产生了有目的采取行动以获得相应结果的意识,这为儿童预想方案以实现简单的目标奠定思维基础。在感知运动的后期阶段,儿童开始识别代表物体或事件的符号,并使用简单的语言来编目对象,此阶段儿童开始思考自身与客体、客体与客体之间的关系[30],自我认知逐渐形成。同时,儿童产生了实用智能,即设想目标并通过计划一系列的活动实现目标[31],我们可以将其视为儿童早期解决问题的思维雏形。儿童的强模仿力驱动儿童进行重复性的活动,为儿童对循环的理解奠定思想根基。在此阶段,他们并不是没有进行思考,而是其认知系统仅限于出生时的运动反射,但正是在这些反射的基础上发展出更复杂的程序[32]。与其说这一阶段的儿童逐渐养成自我的思维,不如说在养成构建思维的基础,培养一种潜在的计算思维意识,在大脑中埋下计算思维的“种子”,我们将这一阶段定义为前计算思维阶段。正如皮亚杰所说,在感知运动性智力或感知运动性活动的第一水平上获得的东西,并不是一开始就能在思维水平上得到适当的表现的[33]。前计算思维阶段的儿童,其认知能力可以在儿童与实体的感知与互动中得以启发。关键的成熟事件使基本的认知过程就位,然后允许抽象思维、计划和认知灵活性的发展[34]。皮亞杰认为感觉运动行为构成了所有认知架构的基础,儿童在此基础上构建对物体本身的新认知及处理物体的新方法[35]。在前计算思维阶段,儿童大脑区域之间的交流逐渐增多,儿童在整合运动、感觉和信息认知方面的能力逐渐增强[36],为更高阶思维能力的产生与发展奠定了基础。   (二)计算思维准备阶段——符号象征与任务驱动中的计算思维
  具有一定象征意义的项目任务能够提供活动框架和环境支撑,推动儿童在一定的游戏情境或实践过程中培养计算思维。在前运算阶段,儿童开始理解符号的意义并学习使用符号,语言技能及视觉能力的发展利于其用文字和图片表现物体,能够使用合适的语法及句式表示概念,认知符号及表述事实使得儿童的抽象思维技能得以锻炼并发展。前运算阶段儿童认知的主要特征之一为“象征性思维”,儿童开始象征性地思考,倾向于从事象征性游戏并操纵象征物。但此时儿童在理解复杂的抽象思维方面仍有困难,缺乏分类及系列化,无法很好地提炼不同概念中的共同特征或解决同一问题的不同方案。我们将这一阶段称为计算思维准备阶段。计算思维准备阶段的儿童在具有设定任务的游戏中调动自身的好奇心、激发探索问题解决方案的潜意识并以此提高自身的问题解决能力。儿童在以解决问题为主线、且具有一定的逻辑意义的游戏(如分配水果、送小动物回家、绘制有一定要求的图形等)中形成自身认知事物的合理观点及完成游戏的逻辑思维,而逻辑思维正是算法思维的早期形态,为儿童解决复杂问题提供前期练习及准备。计算思维准备阶段的儿童在认知理解力及操作性动力方面有所增强,儿童的算法思维逐渐显现但并不成熟。前运算阶段的儿童比年幼的孩子更容易想象不存在的人或物体(例如有翅膀的蜥蜴),而且喜欢创造自己的游戏[37],儿童计算思维中的创造力成分在这一阶段逐渐显现并发挥作用。想象力正是创造力及发散思维的前身,利于儿童创造新的情境或行为,为儿童全面地看待问题、提出多角度的问题解决方案提供思维可能,进而推动逻辑思维的发展。任何一种思维的形成都需要经历一个复杂的大脑认知、修正及成熟过程,而计算思维作为一种综合化、融合化了众多思维技能的高阶思维,在不同的阶段划分中有不同的行为体现。前运算阶段中儿童的认知特点启示我们,这一阶段儿童大脑发展的生理与认知基础还不足以进行高阶的思维操作活动,而儿童抽象思維的发展、简单算法思维的形成、创造力与发散思维的迸发能够使儿童在抽象的符号操作及简单的项目任务中培养与展现计算思维。
  (三)计算思维形成阶段——逻辑推演与思维抽象中的计算思维生长
  在计算思维准备阶段思维特点的基础之上,关注并推动儿童社会情感及技能方面的发展,情感技能作为一种更高级的思维方式,同样也是计算思维发展的重要组成要素。在具体运算阶段,儿童的认识获得了较大的发展,儿童的思维延伸到了更广阔的范围空间中。皮亚杰认为儿童能够理解复杂抽象的概念,并将概念附于具体的情境中加以分析,儿童的抽象性思维开始逐渐展现出其作用。同时,儿童开始接触并理解学习规则的含义,产生了一定的自我约束及行为设定,儿童在思考问题的过程中,基于一定的规则条件学习如何更抽象与更假设地思考。具体运算阶段的儿童具有了归纳逻辑,他们能够从特定的方案中推理出一般的逻辑,并将一般化的问题解决方案迁移到具有共性的问题之中,从而帮助他们系统化地解决问题。同时儿童也具有了可逆性思考的能力,他们能够理解一些物体被改变后仍可以恢复原状,儿童将对物体的可逆性特征迁移到思维的可逆性上来,这也就说明,儿童能够更为自由地设想、控制、整合解决问题的各个环节步骤,可逆性思维是儿童解决问题时所使用的非常重要的思维之一。相对于前运算阶段,具体运算阶段的儿童有了明显的“去自我中心化”的特征,儿童协作交流能力进一步提升,儿童开始思考其他人如何看待问题,并能够从他人的角度思考问题,儿童在接受他人观点的同时,得以更深入地理解问题的本质。儿童也由只考虑问题表象逐渐转化为关注一个问题的多个方面,这会帮助他们选择合适的方案解决问题。但儿童不能考虑到逻辑上的所有结果,对问题解决方案中潜在的风险无法有效地捕捉。具体运算阶段的儿童相对于前一阶段的儿童在认知思维上产生了质的飞跃,其所形成的思维能力及情感技能基本构成计算思维的大部分组成结构,我们将这一阶段称为计算思维形成阶段。在此阶段,儿童的高阶思维能力进一步发展,能够对问题情境进行逻辑推演,创造力及发散思维在多样化的任务中进一步释放。儿童对同伴的渴求心理及所处教育环境为儿童进行交流协作提供了情感需求及客观条件,儿童与他人的沟通协作技能得以培养,使得思维发展从封闭走向开放。
  (四)计算思维发展阶段——假设推理与形式运演中的计算思维延展
  计算思维能力发展的指向是问题化地看待目标对象,具备忽视细节抽象问题的本质,在此过程中延伸到技术操作、学科知识等更为广泛的情境领域。形式运算阶段思维认知的大跨度发展与此阶段计算思维的养成形成了呼应与交契。在形式运算阶段,儿童能够理解更抽象的术语,可以在不同情境中提出假设并进行有效的推理,能够迅速地做出可行的策略与计划,并考虑行动的可能结果。儿童的迁移能力有所提高,可以将一个情境中的学习理念用于另一个情境,能够制定出多种潜在的解决方案,创造性地解决问题,并能够结合计算机基本知识实现系统地调试。形式运算阶段的儿童具有了元认知的意识,能够合理思考自己的想法与他人的想法,批判性思维也在这一阶段出现。在此阶段,社会环境尤为重要[38],此时儿童所处的教育环境使得该年龄段的儿童对计算机知识的掌握由简单了解变为较熟练使用,具备了对抽象复杂的算法程序原理消化处理的能力,儿童逐渐理解计算机的相关概念,对数据在计算机中的存储形式也有所掌握。同时,儿童在对程序的认知过程中也对计算思维有了直接的认识,我们将这一阶段称为计算思维发展阶段。相较于上一阶段,计算思维的发展具有两个方面的明显特征,一是儿童的计算思维在儿童思维认知结构中更加稳定,计算思维的结构中囊括了对数据的分析能力、对解决方案潜在问题的分析及修补错误的能力、批判性思维以及儿童自身解决问题的态度、信心等情感方面的技能。计算思维的结构更为完善,并在更多的实践问题中得到发展。二是儿童开始将计算思维运用到更复杂与更广阔的实际问题之中,从解决特定的、设想性的预设任务向解决不确定的、实际的复杂任务过渡,计算思维发挥其真正的社会性意义上的作用,致力于解决社会生活的实际问题,从而形成一种计算思维大环境意识。同时,计算思维作为儿童思维结构中不可缺少的部分,对儿童的认知发展具有指导性的意义,助力儿童完成更高层面的自我思想升华,在儿童成年之后,由于儿童心智、认知等各方面的成熟,计算思维的发展具有专业性与针对性,对于未来从事计算机行业的人员,计算思维将深度发展;而对于其他行业的人员,计算思维则更倾向于广度发展。   三、计算思维教授策略的探讨
  对计算思维培养阶段的划分能够为计算思维的教授提供载体和依托,但计算思维教学目标的实践落地更需要教授策略的支撑。计算思维自提出至今已不仅仅是派珀特强调的儿童在与Logo程序语言互动中的计算形式的思维,更多的重点则偏向了“思维”部分,其作为一种高阶思维能力而存在于人们生活学习的问题解决和操作实践中。计算思维的定义内涵、教学评价以及教授方式是当前研究的集中方向。国内外已有研究从不同角度采用多样化的方式探究了计算思维的教学策略,除熟知的图形化编程形式外、实体编程,不插电活动(Computer Science Unplugged)、纸笔编程(Paper-and-pencil Programming Strategy,简称PPS)等也是主要的教学形式,它们也是适应计算思维培养需求和儿童思维发展特点的存在。各研究虽自成一派、各有特色,体现并适用与计算思维培养的不同层面与需求,但并未形成系统连贯的教学和学习体系。因此,本研究将已有成熟的计算思维教学策略与案例整理划归于计算思维教学阶段之中,一方面可以为教学工作者提供丰富多样的策略选择,另一方面也是计算思维教学系统化和规范化开展的尝试,以期能够为一线教师教学展开提供指导性的借鉴。
  (一)实物感知与实体操作浸润前计算思维阶段
  利用真实世界的实物,鼓励儿童多看、多听、多说、多触摸,充分调动儿童的感觉器官帮助儿童树立对世界存在及自我存在的客观认知。这一阶段的儿童模仿力很强,通过重复性的简单语言及动作培养儿童计算思维能力的发展。库尼亚(Cunha)等认为在低龄儿童阶段进行编程活动与计算思维的教学相对而言成本投入更低同时教学效果更为持久[39]。通过实物体现具备特定外观的实体符号更加符合此阶段儿童思维发展的特点。通过移动、排列、组合等一系列实体操作培养儿童的动手能力,同时丰富儿童的思维环境,积木堆积、操控有声实物等行为能够极大激发这一阶段儿童的动手兴趣。实物感知与实体操作通过一种要求儿童操作具有象征意义的物理对象的方式,帮助他们产生对简单符号的认知及思考,从而向复杂的符号思维能力过渡[40]。寓教于乐的教育思想及游戏化形式无疑满足了前計算思维阶段儿童对未知世界极强的探索欲以及其较为初级的认知水平的发展需求。
  美国塔夫茨大学(Tufts University)艾略特·皮尔森儿童研究和人类发展学部的技术发展研究小组(DevTech Research Group)在探究有形实物编程(Tangible Programmlng)与机器人技术对低龄儿童影响的研究方面独树一帜。在一项名为TangibleKRobotics Program的项目中,主要研究学龄前幼儿如何以与其生理发育适当的实践方式积极参与到编程和机器人技术活动中,并由此培养计算思维和排序能力等[41][42]。课程以发展儿童学习过程中的“强大的想法(Powerful Idea)”展开,包括工程设计、机器人技术、顺序与指令流程和参数与传感器流程等四个模块。课程的展开多辅之以幼儿熟悉的学习与生活环境主题,除在其中体现程序机械等原理外,又与其他学科内容相联系渗透,实践材料主要为乐高组块、机器组件或装有传感芯片的程序块等。项目课程共计划20个小时的课堂时间,包括10小时的活动开展时间以及10个小时的最终项目制作时间,总计教学时长不变,课程分散在接下来的几个月当中,没有根据学校实际情况展开2-3小时的教学活动,执行教师合理安排各部分教学时长。每次主题都遵循相同的基本架构:(1)游戏引入,计算概念强化;(2)活动挑战,强化主题;(3)单独或协作探索;(4)交流研讨,共享策略;(5)自由探索,拓展延伸;(6)项目评估。研究结论表明,低龄儿童能够通过实物操作方式参与编程活动,并从中培养和发展计算思维能力[43]。工程设计流程主题中一课的教学案例如表2所示。
  (二)逻辑任务与人机交互贯穿计算思维准备阶段
  计算思维准备阶段的儿童主要在小学低年级,其认知逐渐发展成熟,具备了一定逻辑判断与思维操作能力。在此阶段可以通过一些小的逻辑任务帮助儿童在一定情境框架之下发展计算思维能力。不插电活动对培养儿童计算思维能力具有独特优势。不插电的计算机科学最初是由西班牙学者蒂姆·贝尔(Tim Bell)设计的不使用计算机设备而是通过任务型游戏、魔术等活动形式来使儿童学习计算机科学概念,培养逻辑思维能力的教学方式[44]。 “不插电”活动不仅对于教育信息化覆盖率低的计算科学教学活动有着重要的辅助作用,并且也是训练儿童计算思维能力的重要方式。 “不插电”活动随着教学需求也在不断地优化与丰富,每年都会有在其社区网站上进行教学案例的更新。当前, “不插电”活动不再单纯地传达的是计算机相关概念知识,也更加贴合儿童学习情境及学科内容主题等。巴西与西班牙的研究者们曾合作探究了“不插电”活动对于小学生计算思维能力发展的影响。研究者在实验干预前后都进行了计算思维能力的测试,实验原定周期五周,每周一节课,每节课一小时,后应学校要求每周再增加一些课程。研究结果表明,干预后实验组学生的计算思维技能显著提高,而对照组则没有,并且通过定性观察与访谈发现,在不同题目类别上,学生的学习体验和态度也存在差异[45]。同时,教师在进行“不插电”活动的主题教学时也应当注意,找到知识内容与计算思维概念的内在衔接点,不是所有的教学内容都适合于此方式,不应刻意为之。教学案例设计的节选如表3所示。
  ㈢图形化编程与计算参与助力计算思维形成阶段
  计算思维形成阶段的儿童在抽象理解与思维转化方面的能力得到进一步发展,可视化编程软件的使用是培养的主流形式。相对于Java、C语言等专业复杂的传统编程工具,图形化的编程环境(如Scratch、Alice、Greenfoot等)更符合儿童此阶段的发展特点,同时也是目前国内外研究的热点方向。在计算思维形成阶段,这一载体将依附于计算机而存在。如Scratch为儿童提供了更具形象化的编程方式,通过拖动操作块、排列操作块完成对运动过程的设计。Scratch本身所具有的形式与操作特点,如互相嵌合、功能多样的程序块,脚本运行的逻辑关系等就与计算思维的基本概念与实践内容相吻合,因此基于Scratch展开的计算思维教学活动、项目评估等研究也不胜枚举。英国西苏格兰大学的研究探究了在Scratch中运用游戏能够提高儿童编程参与度与计算思维能力。教学活动分四个阶段进行:(1)任务目标;(2)合作探讨;(3)指导实践;(4)评价拓展。在具体的教学主体情境中,研究者在基于迷宫游戏原理重新设计游戏规则,学生需设计帮助小精灵穿过炸弹到达终点。炸弹分为两种,分别是小精灵触碰后会死亡的红炸弹以及对小精灵没有影响的黑炸弹。玩家通过控制W、A、S、D键操控小精灵的移动路线。学生需设计游戏人物(小精灵)及道具(炸弹、终点旗帜)等元素,并对触发键进行程序设计,以赋予其功能。在过程中,学生之间进行讨论交流,并在设计结束后进行作品展示,完成师生评价并加以优化改进。学生的逻辑思维以及问题分析能力得以加强,交流与协作在培养学生沟通能力的同时,注重批判性思维的运用,学生通过不断测试及修正以完成程序的设计。教学流程图如图3所示。   (四)学科领域延伸与深度逻辑推理渗透计算思维发展阶段
  计算思维作为一种广泛性思维,其应用范围绝不局限于计算机编程技术,计算思维发展阶段的主要任务是将学习者的计算思维进一步巩固并发展,以将其用于生活实践之中,真正发挥计算思维解决实践问题之用。将计算思维融入学科教学中是一种更有成效的手段。计算思维的跨学科研究有助于各领域的创新和发现,或许会成为未来教育领域不可或缺的一部分[46]。计算思维作为一种思维方式其与学科教学的融合需要厘清以下几点问题:(1)计算思维与专业学科知识之间的联系;(2)教学范式的选择,是以计算机编程环境为依托还是其他类型为活动形式;(3)主题内容的选择,即学科中哪部分内容与计算思维结合更能容易教授和学习;(4)系统教学过程的确立等。美国范德比尔特大学(VanderbiltUniversity)的研究者們探讨了计算思维与K-12科学教育相结合的教学策略。计算思维所包括的计算概念与实践,如:问题表示、抽象、分解、模拟、验证和预测等也是发展科学和数学学科专业知识的核心。研究者首先探讨了科学探究与计算思维内容的相关之处;并选择了一种可视化的编程环境作为操作平台,使得学习者能够设计目标对象的活动;并且选择了生物与物理学的相关知识内容,如学生对于生物学基本概念与行为有着直观的理解,但涉及到动态过程(例如物种之间的相互依赖性和种群动态)就较难理解了,而这正体现了计算建模方式的重要性。
  通过让学生参与软件设计活动,将行动和反思交织在一起。学生首先要对假定的现象有一个初步的抽象理解,然后在可视化编程平台中设计一个涉及到这个现象的实体和过程的模型;然后,学生通过将他们的模型与现象的“专家”模型进行比较,迭代地模拟和提炼模型的行为,从而发展解释和论点以加深他们的理解;最后,学生将开发的模型和学到的科学概念应用到新的解决问题的情境中,使得该模型在构建、执行、分析、反思和细化的循环中无缝进步[47]。该研究为计算思维与学科内容整合提供了可借鉴的尝试。教学模式与流程图如图4所示。
  高度逻辑化的问题解决任务对计算思维能力的培养与教授更具针对性。黄蔚等学者通过任务活动搭建思维图示的“脚手架”以提升学习者的批判性思维能力[48]。逻辑任务需要学习者独立构建情境,抽象问题本质,建立问题解决模型,以此将问题分解、调试直至解决,使学习者更了解问题本质,并深刻体会问题解决的过程。济州国立大学的金钟勋博士等人提出使用纸笔编程策略教授学习者计算思维以提高他们的逻辑思维能力,这种方式倡导用纸和铅笔绘制或书写插图、图表、句子、代码、符号、流程图、表格或任何其他有意义的符号表示他们的问题解决过程,与Logo教学相比,纸笔编程的逻辑思维测试结果具有更高水平[49]。研究者将其基本教学流程划分为五步:(1)分析问题,教师出示基本情境问题,如自动贩卖机的工作流程;(2)设计解决方案;(3)建构方案,学习者运用数字、符号、代码等通过手绘表格、流程图表示问题解决的基本过程;(4)操作实施,通过基本的逻辑流程解决问题;(5)算法调试,不断修正完善已有的方案步骤。实验参与者的纸笔编程如图5所示。
  四、结语
  计算思维教育实践与教授策略的探究是印证计算思维可行、可教、可用的关键之举。本研究通过对国外计算思维教学的主要方式的梳理,将已有成熟的教学形式与案例划归于计算思维培养阶段之中,尝试探索计算思维教授的连贯体系。本研究一方面提供了计算思维教授策略的丰富形式,另一方面对探究计算思维阶段性与连贯性教学策略进行了深入讨论。当然,各个阶段的教学案例并不能完全代表该种教学方式的全部特征,只是依据其自身形式以及面向计算思维培养的侧重点进行的分类划归,从而逐步实现计算思维真正的教学实践落地。
  参考文献
  [1] Papert,S.Mindstorms:Children,computers,and powerful ideas[M].NewYork:Basic Books,1980.
  [2][17] Wing,J.M.Computational thinking[J].Communications of theACM,2006,49(3):33-35.
  [3] Wing,J.M.Computational thinking and thinking about computing[J].Philosophical Transactions of the Royal Society A:Mathematical,Physicaland Engineering Sciences,2008,366(1881):3717-3725.
  [4] Wing,J.M.Computational Thinking:What and Why?[DB/OL].http://www.cs.cmu.edu/~CompThink/resources/TheLinkWing.pdf,2010-11-17.
  [5][23] CSTA and ISTE.Operational Definition of Computational Thinkingfor K-12 Education[EB/OL].https://id.iste.org/docs/ct-documents/computational-thinking-operational-definition-flyer.pdf,2019-09-02.
  [6] Brennan,K.Resnick,M.New frameworks for studying and assessing thedevelopment of computational thinking[A].Proceeding of the AnnualMeeting of the American Educational Research Association[C].Vancouver:AERA,2012.39-48.   [7][11] Astrachan,O,Briggs,A.The CS principles project[J].AcmInroads,2012,3 (2):3 8-42.
  [8][13] Angeli,C,Voogt,J,Fluck,A,et al.A K-6 Computational ThinkingCurriculum Framework:lmplications for Teacher Knowledge[J].Educational Technology&Society,2016,19(3):47-57.
  [9] Zhang,L,Nouri,J.A systematic review oflearning computational thinkingthrough Scratch in K-9[J].Computers in Education,2019,141(1):1-25.
  [10] Nouri,J,Zhang,L,Mannila L,et al.Development of computationalthinking,digital competence and 21st century skills when learningprogramming in K-9[DB/OL].https://www.researchgate.net/publication/333642505,2019-06-13.
  [12] Lye,S,Y,Koh,J,H,L.Review on teaching and learning of computationalthinking through programming:What is next for K-12?[J].Computers inHuman Behavior,2014,41(1):51-61.
  [15] Filiz,K,Yasemin,G,Volkan,K.A Framework for ComputationalThinking Based on a Systematic Research Review[J].ModernComputing,2016,4(3):583-596.
  [16] Duncan,C,Bell,T.A Pilot Computer Science and Programming Coursefor Primary School Students[A].Proceeding of the Workshop in Primaryand Secondary Computing Education[C].London:ACM,2015.39-48.
  [18] Barr,V,Stephenson,C.Bringing computational thinking to K-12:Whatis involved and what is the role of the computer science educationcommunity?[J].Acm Inroads,2011,2(1):48-54.
  [19][24] Grover,S,Pea,R.Computational thinking in K-12 a review of thestate of the field[J].Educational Researcher,2013,42(1):38-43.
  [20] Matthew,B,Lee V,R.Collaborative Strategic Board Games as a Site forDistributed Computational Thinking[J].International Journal of Game-Based Learning,2011,1(2):65-81.
  [21] Yadav A,Mayfield C,Zhou N,et al.Computational Thinking inElementary and Secondary Teacher Education[J].ACM Transactionson Computing Education,2014,14(1):1-16.
  [22] Atmatzidou,S,Demetriadis,S.Advancing students' computational thinking skills through educational robotics:A study on ageand gender relevant differences[J].Robotics and AutonomousSystems,2016,10(75):661-670.
  [25] Ater-Kranov,A,Bryant,R,Orr,G,et al.Developing a communitydefinition and teaching modules for computational thinking:accomplishments and challenges[A].Proceeding of the 2010ACM conference on Information technology education[C].Midland:ACM,2010.143-148.
  [26] Caspersen,M,E,Nowack P.Computational thinking and practice:Ageneric approach to computing in Danish high schools[A].Proceedingof the Fifteenth Australasian Computing Education Conference[C].Adelaide:Australian Computer Society,lnc,2013.137-143.   [27] Shailaja,J,Sridaran,R.Computational Thinking the IntellectualThinking for the 21st century[J].International Journal of AdvancedNetworking Applications,2015,20(9):39-46.
  [28] Vieira,C,Magana,A,J.Using backwards design process for the designand implementation of computer science(CS)principles:A case studyof a colombian elementary and secondary teacher developmentprogram[A].Proceeding of the Frontiers in Education Conference[C].Oklahoma:IEEE,2013.879-885.
  [29] Qualls,J,A,Sherrell,L,B.Why computational thinking should beintegrated into the curriculum[J].Journal of Computing Sciences inColleges,2010,25(5):66-71.
  [30] Thomas,R,M.Comparing theories of child development[M].PacificGrove,CA:Brooks/Cole Publishing Company,1996.
  [31] Piaget,J,Cook,M.The Construction of Reality in the Child[M].NewYork:Basic Books71954.
  [32] Carey,S,Zaitchik,D,Bascandziev I.Theories of development:ln dialogwith Jean Piaget[J].Developmental Review,2015,38(1):36-54.
  [33][35] Piaget,J.The origins of intelligence in children[M].NewYork:lnternational Universities Press,1952.
  [34] Harvey,S,Levin,Kathleen,A.Developmental changes in performanceon tests of purported frontal lobe functioning[J].Developmental Neuropsychology,1991,7(3):377-395.
  [36] Lefmann,T,Combs-Orme,T.Early Brain Development for SocialWork Practice:lntegrating Neuroscience with Piaget's Theory ofCognitive Development[J].Journal of Human Behavior in the SocialEnvironment,2013,23 (5):640-647.
  [37] Ribaupierre,A,D.Piaget's Theory of Child Development[J].IntemationalEncyclopedia of the Social&Behavioral Sciences,2001,4(4):11434-11437.
  [38] Dipietro,J,A.Baby and The Brain:Advances in Child Development[J].Annual Review ofPublic Health,2000,21(1):455-471.
  [39] Cunha,F,Heckman,J.The technology of skill formation[J].TheAmerican Economic Review,2007,97(2):31-47.
  [40] Lu,J,J,Fletcher,G,H,L.Thinking about computational thinking[A].Proceeding of the 40th ACM technical symposium on Computerseience education[C].Chattanooga:ACM,2009.260-264.
  [41] Bers,M,U.The TangibleK robotics program:Applied computationalthinking for young children[J].Early Childhood Research andPractice,2010,12(2):20.
  [42] Kazakoff,E,Bers,M.Programming in a Robotics Context in theKindergarten ClassroomThe Impact on Sequencing Skills[J].Journal ofEducational Multimedia&Hypermedia,2012,21(3):371-391.
  [43] Bers,M,U&Horn,M,S.Tangible programming in early chilc:lhood:Revisitingdevelopmental assumptions through new technologies[M].Boston:lnformation Age Publishing,2010.   [44] Tim,Bell,Ian,H.Witten,Mike,Fellows.Computer Science Unpluggedoff-line activities and games for all ages[DB/OL].http://jmvidal.cse.sc.edu/library/be1198a.pdf,1998-06-09.
  [45] Brackmann,Robles,et al.Development of Computational ThinkingSkills through Unplugged Activities in Primary School[A].Proceedingof the 12th Workshop on Primary and Secondary ComputingEducation[C].Nijmegen:ACM,2017.65-72.
  [46] Lockwood,J,Mooney A.Computational Thinking in Education:Wheredoes it Fit?A systematic literary review[J].International Journal ofComputer Science Education in Schools,2018,2(1):1-58.
  [47] Sengupta,P,Kinnebrew,J,S,Satabdi B,et al.lntegrating computationalthinking with K-12 science education using agent-basedcomputation:A theoretical framework[J].Education and InformationTechnologies,2013,18(2):351-380.
  [48]黄蔚,曹榕等.人工智能时代批判性思维能力的提升策略——思维图示的应用对小学生批判性思维能力提升的实证研究[J].中国电化教育,2019,(10):102-108.
  [49] Kim,B,Kim’T’Kim,J.Paper-and-Pencil Programming Strategy towardComputational Thinking for Non-Majors:Design Your Solution[J].Journal of Educational Computlng Research,2013,49(4):437-459.
  作者简介:
  孫立会:副教授,博士,博士生导师,研究方向为儿童编程教育、中日教育比较(sunlh777@163.com)。
  王晓倩:在读硕士,研究方向为儿童编程教育(wangxqss11@163.com).*本文系全国教育科学“十三五”2019年国家青年课题“非计算机化与计算机化儿童编程教育的理论与实践研究”(课题编号:CCA190261)阶段性研究成果。
转载注明来源:https://www.xzbu.com/1/view-15129873.htm