南昌大学教育发展研究院 刘敏敏
在数字时代之下,编程教育的低龄化发展趋势正盛,更加符合基础教育阶段学生成长需求的实体编程与不插电编程课程也日益普及。为了深入了解不插电编程的内涵及其实施模式,本文通过分析和梳理相关文献,对不插电编程的内涵和特点进行提炼总结:不插电编程既是以有形物体作为载体的,不使用无屏幕或者较少使用屏幕的编程工具,又是一种无形的培养计算思维的活动理念,它具有使用屏幕少、使用门槛低、现实互动性强等特点;随后,通过案例介绍目前市面上已有的不插电编程实体产品;最后,根据自身参与程度的高低进一步将不插电编程分为纸笔型实施模式、游戏型实施模式和情境沉浸型实施模式等。本研究旨在为未来不插电编程的开发设计与可持续发展提供理论支持及实现模式参考。
国务院发布的《新一代人工智能发展规划》,第一次在决策中写到“编程教育”,编程教育是培养学生计算思维的载体,培养学生的计算思维是编程教育的高阶目标,编程教育是培养计算思维的有效手段[1],国务院提出要“广泛开展人工智能科普活动,在中小学设置人工智能相关课程,鼓励社会力量参与寓教于乐的编程教学软件、游戏的开发和逐步推广编程教育”,目前,社会各界已经意识到编程教育的巨大发展潜力,针对儿童计算思维发展的编程工具层出不穷。在众多不同形式的编程工具中,不插电的编程工具更加适宜K-12 阶段的儿童。此种编程形式可以使儿童通过直接感知、亲身体验与实际操作等方式来形成初步的计算思维、编程概念以及掌握一些基本的操作技能,能够为顺利进行下一步的图形化编程以及更高难度的编程形式、为启发学生进行“编程式思考”、为发展学生面向未来的创新能力奠定基础。
综上所述,在编程教育低龄化发展的背景之下,越来越多的人将不插电编程作为培养基础教育阶段儿童计算思维的一种教学方式。为此,有必要梳理和分析相关文献来详述基础教育阶段不插电编程的概念及特点。本文对不插电编程的内涵、特点及实施模式进行了归纳总结,以期为未来不插电编程在教育教学实践中的应用和普及提供可借鉴的思路。
编程,简单来讲就是编写代码程序以实现某种目的。大多数学者认为编程的最终结果就是解决问题,孙立会在其研究儿童编程的文章中提到编程就是让计算机代为解决某个具体问题,对某个计算体系规定一定的运算方式,使其按照一定的计算方式运行,并最终输出相应结果的运演过程[2]。宋兆玉指出编程就是让计算机通过编写代码来解决某个需要解决的具体问题,将具体问题以计算机可以理解的形式传达给计算机,使得计算机能够根据具体的指令进行运算,最终去完成特定任务,确切来说编程就是计算机和人类进行语言交流的一种特定语言[3]。在人工智能、大数据、云计算的信息技术运用广泛的数字化时代,需掌握编程中含有的程序思维、计算思维、算法思维以及数据思维,通过编程教育培养学生的高阶思维能力成为必要。本研究认为编程教育是培养学生数字技术手段、计算思维的一种重要方式,并且编程教育未来将会成为教育改革与深耕的发力点。
不插电编程是适用于基础教育阶段的编程教育形式之一,它是在编程教育发展初期阶段,并在计算机没有普及的时代背景下应运而生的,最初是由学者Tim bell、Ian H.Written、Mike Fellows(1994)提出[4]。学者们对不插电编程的概念解释各有异同。Bell、Alexander、Freeman 和Grimley[5]认为在计算机科学中,不插电活动是指不使用计算机的动手项目,它能够向学生展示计算机科学所需的思维过程类型;王芬等人提出不插电的计算机科学是通过有趣的游戏或谜题让学生很好地理解计算机科学的概念,理解计算机科学的本质[6];Woochun Jun 认为不插电活动是一种不用电脑就能真正了解电脑的教学方法[7];孙立会等学者指出不插电编程挣脱了“电”的束缚,能够通过一系列有逻辑的活动或任务来展现编程的思维[8];还有学者认为不插电活动是学生进行电脑编程前置准备,也就是学生在使用电脑前先用有形物品进行练习。笔者认为不插电编程既是以有形物体作为载体的,不使用屏幕或者较少使用屏幕的编程工具,又是一种无形的培养计算思维的活动理念。同时,也可以作为学生后续学习插电编程的过渡手段。
1.3.1 使用屏幕少
不插电编程最大的一个特色就是基本上不需要使用计算机、平板、手机之类的电子设备,主要是利用我们身边唾手可得的事物,例如,卡片、线、粉笔、杯子、球、铅笔和彩纸等各种材料来组织含有计算机科学概念的活动。一方面,儿童不用面对电子屏幕便可以体验到编程学习的快乐,非屏幕的活动让孩子更能聚焦于活动本身和技能的获得,更利于激发其学习的积极性与主动性;另一方面,无屏幕的不插电编程可以保护儿童的视力,传统编程教育的开展需要使用计算机设备,不利于儿童的视力健康。
1.3.2 使用门槛低
学生的学习门槛较低,不插电编程给予学生更低的认知负荷,让学生在轻松愉悦的氛围下进行学习,无需学生对繁杂的编程语言进行大量识记,大幅度降低了编程学习的难度和压力。即使是从未接触过计算机科学,没有任何相关学习背景的学生也可以通过不插电编程学习计算机科学的基础知识,逐渐形成以计算思维为驱动解决问题的习惯。同时,由于不插电编程学习难度不高,符合低龄阶段儿童的认知发展,儿童可以在短期内凭借生活经验理解和掌握编程规则,更轻易地了解计算机和程序运作原理。
1.3.3 现实互动强
不插电编程是在自然的物理环境中进行的。学习者参与度高、体验感强,能够拥有更多机会和物理世界中的实物接触,与师生面对面沟通交流。换句话说,不插电编程在促进学习者与现实环境、生活实际互动的同时也促进了他们与同伴和教师之间的思维互动,比如,开展任务型游戏时,儿童为了达到游戏目标会和同伴展开必要的沟通与交流,当他们遇到困难时就会向教师寻求帮助,集思广益之后制定相应的策略,将构想好的策略转化成实际的动作组合,进行一步步试验和试错直至实现最终目标。学习者在此系列过程中通过大脑、身体和环境的交互来发展其计算思维。
目前,介绍不插电活动的实体产品主要有CS Unplugged项目实体书、韩国学者洪志连、申甲千所著的《不插电!神奇的编程思维是玩出来的》等,以下是对现有实体产品的详细案例说明。
《不插电的计算机科学》是由Tim Bell 教授及其所带领的团队所著,书中详细介绍了32 个Tim Bell 教授和两位中小学教师依据自己的实务教学经验所设计的信息科学活动,其中最具代表性的游戏有翻卡魔术、二进制卡片、橘子游戏和金银岛等。此书是动态更新的,随着项目在世界范围内的普及,具有各国特色的新颖案例不断补充进来。它透过这些有意义的活动充分把计算机工作原理通过有趣的游戏方式和生活实例情景呈现给读者,就算没有计算机理论基础的读者来学习此书也能轻松阅读。
《不插电!神奇的编程思维是玩出来的》一书是韩国学者洪志连、申甲千编著的,本书包含50 个精彩游戏和44 组游戏图卡。不需要计算机,通过50 个简单有趣的不插电编程游戏由浅入深地全面学习编程技能,并且书中有很多实景图片和文字说明。全书共分为四个部分,前两部分包含26 个游戏,内容主要涵盖计算机科学的一些基础知识,比如模式识别、二进制、调试、压缩等,很好地适合小学低年级学生;后两部分包含24 个游戏,内容包含了程序设计中的循环结构、条件结构、函数、代码等进阶知识,适合高年级学生学习。书中有很多实景图片和文字说明,以帮助孩子彻底掌握游戏,让孩子在开心玩游戏的过程中,就可以自然而然地学到编程的基本概念和原理。
不插电编程的构建需要真实互动环境这一关键点体现了认知的具身观,这与认知科学领域中的具身认知理论联结密切,该理论聚焦于身体感知器官与各种环境的交互作用,强调身体的具身体验、情境交互和协作互动[9],具身认知的理念与不插电编程活动的开展不谋而合,当学习活动被游戏、歌曲和故事强化时,整体的身体反应是最有效的[10]。所以本研究通过分析市面上已有的不插电编程产品,并根据学习者的具身参与程度将不插电编程的实施模式分为纸笔型、游戏型、情境型。
纸笔型实施模式是直接让学习者使用纸和笔进行排列、画画和写作,例如,在“寻宝”活动中,一个宝岛的主题吸引了学生的兴趣,教师让学生通过画出自己的轨迹理解程序的概念。一般来说,纸笔型模式的实施步骤可分为分析问题、设计问题解决方案、建造问题解决方案、实施方案以及调试算法。整个环节需要将抽象化的逻辑思维在纸上反映出来,只需要大脑的认知参与和手部操作,学生的具身参与程度较低。同时在绘制符号或流程图等问题解决方案时,不设置过多的规则,强调如何将大脑中的抽象逻辑思维完好地在纸张上表现出来,从而将心理模型转换为逻辑表示,以助力自身计算思维技能的发展。
不插电编程可以通过游戏的形式实施,将开放自由的身体活动和游戏规则巧妙地结合起来,基于游戏的学习具有趣味性、动态性、灵活性,使学习者的身体和思维得以融合。同时,将编程的重点和难点设计成简单而有趣的小游戏,尤其符合K-12 阶段学习者的认知特点,游戏化策略的引入能够激发学习者对编程学习的兴趣,增强活动的趣味性。儿童借助身体的各感知器官沉浸式地体验编程活动,会具有更加强烈的学习动机。需要强调的是,所设计的游戏不是“无脑”游戏,学习者身体和心智是参与其中的,学习者在游戏过程中不仅能够进行自主知识建构还能与师生进行人际交互[11],理论知识以游戏的方式带着人们探索计算机工作的奥秘,让学生在轻松的环境下感受独特编程体验、体会编程理念,进一步培养学生学习编程的兴趣与热情。
情境型实施模式是有实物场景、结合生活实际场景的编程实施模式,也可以称之为称为“实景编程”。复杂计算算法的情境化是一种缓解学习者概念理解困难的手段,这可以刺激学习者主动学习和引导其进行编程知识的构建。不插电编程以日常生活故事情景为主线,创作一个引人入胜的故事,利用场景地图,使编程与真实世界的生活发生交互[12],学习者将自身代入学习任务中的故事角色,进行协作会话和社会交互,基于真实的任务情境,并通过具体的角色体验,来实现与环境中各要素之间交互作用促进学习者与环境之间的具身交互,而这种交互,更强调学习者身体的深度参与和融合。
本文明晰了不插电编程的内涵,通过分析各种不插电编程产品,归类了不插电编程的实施模式,为后期不插电编程教育活动的设计以及不插电编程产品的开发提供了可参考的思路。实际上,探索创生多元化的不插电编程实施模式以发展儿童编程思维才是儿童编程教育的价值所在。通过和真实场景结合,不插电编程利用随手可以触摸到的实际物品,所达到的编程效果都通过实物的运行和感知获得实时反馈,不会受到电子屏幕过多的注意力干扰,是儿童在具象思维阶段最合适的编程启蒙方式。它能够使儿童掌握编程思维、计算思维、创意思维;能够帮助儿童深入认识智能世界,参与未来智能世界的共创。
引用
[1] 高宏钰,李玉顺,代帅,等.编程教育如何更好地促进早期儿童计算思维发展——基于国际实证研究的系统述评[J].电化教育研究,2021,42(11):121-128.
[2] 孙立会.聚焦思维素养的儿童编程教育:概念、理路与目标[J].中国电化教育,2019(7):22-30.
[3] 宋兆玉.小学编程教育中不插电活动的设计与实践研究[D].济宁:曲阜师范大学,2021.
[4] Tim Bell,Ian H Written,Mike Fellow.不插电的计算机科学[M].武汉:华中科技大学出版社,2010.
[5] Tim Bell,Alexander Jerry.Computer Science Unplugged:School Students Doing Real Computing Without Computers[J].New Zealand Journal of Applied Computing and Information Technology,2019,13(1):20-29.
[6] 王芬,何聚厚.“不插电的计算机科学”发展计算思维的有效途径[J].教育现代化,2017,4(20):45-47.
[7] Woochun Jun.Development of Evaluation Metrics for Learners in Unplugged Activity,Advances in Science[J].Technology and Engineering Systems Journal,2019,4(6): 216-219.
[8] 孙立会,王晓倩.儿童编程教育实施的解读、比较与展望[J].现代教育技术,2021,31(3):111-118.
[9] 李志河,李鹏媛,周娜娜,等.具身认知学习环境设计:特征、要素、应用及发展趋势[J].远程教育杂志,2018,36(5):81-90.
[10] 陈乐乐.具身教育课程的内涵、理论基础和实践路向[J].课程.教材.教法,2016,36(10):11-18.
[11] 许玲,张亦弛.全球视野下教育技术研究热点的聚类分析与展望[J].中国远程教育,2019(11):58-65+85.
[12] 傅骞,章梦瑶.实体编程的教育应用与启示[J].现代教育技术,2018,28(12):108-114.