孙立会 周丹华
[摘 要] 儿童编程教育与基础课程的融合已成为编程教育领域研究的重要课题。儿童编程教育融入学科教学是转变与重塑计算教育观念的一次新尝试,也是推广与普及儿童编程教育的创新举措,更能助力编程教学与学科知识彼此协同发展。Scratch具有算法简化、媒体丰富的图像空间,自上而下、分而治之的修补理念,设计建造、交流协作的自由情境等特征优势,成为“用编程学”的媒介首选。基于此,文章以基于设计的研究为设计原则,并以4P学习法为理论基础,构建了以小学科学内容为案例的儿童编程与学科融合的教学模式,以期丰富与优化小学科学教学方式并探索推广多样化的儿童编程教学形式。
[关键词] 儿童编程教育; Scratch; 小学科学; 教学模式
[中图分类号] G434 [文献标志码] A
[作者简介] 孙立会(1985—),男,吉林白城人。副教授,博士,主要从事儿童编程教育研究。E-mail:sunlh777@163.com。
一、引 言
人工智能时代的到来对教育提出了更高要求。西蒙·派珀特(Seymour Papert)在20世纪60年代创建了Logo语言,其愿景是通过计算机环境改变儿童的认知学习方式[1],但此后10年,编程在K-12计算机教育中几乎消失,取而代之的是文字处理和互联网搜索等在当时更有价值的实用技能[2]。随着智能教育时代的到来,编程教育不仅只为满足未来就业和社会需求,而且更加关注“编程赋能”价值。儿童通过编程学习所培养的思维技能、共情能力以及交流协作精神,恰能填补诸多学校教学方面的空白。可视化编程语言的出现重新唤醒了教育界对编码的兴趣,编程不再是作为一种工具,而是一种发展其他技能的媒介,以改善学生的学习动机和结果。正如米切尔·雷斯尼克所说,儿童不是在学习编程(Learn to Code),而是“用编程学(Code to Learn)”,将编程视为一种新的表达方式,同时编程也可以作为学习其他学科的媒介[3]。因此,将编程渗透到儿童的基础课程中,已成为当前及今后的一大研究趋势。
二、儿童编程教育融入学科的必要性
(一)认知观:转变与重塑计算教育观念的新尝试
新技术在课堂中的接受和发展总是缓慢且迟疑。尽管教师已意识到计算教育的重要性,并且也为之付出了努力,但收效却不尽如人意,或许我们应做的是计算教育观念的转变。计算机赋能教育、信息技术与课程整合等是研究者经常探讨的话题,但在面向智能教育时代的期许之下,可能会表现出诸多不适应性。一是主观割裂,教育工作者在意识与实践中并未真正将计算机教育与传统学校教育同等对待,计算机只是赋能,也就是处于补充地位。这种情况在教育信息化覆盖率较高的国外课堂也同样存在。英国皇家学会曾做过一次全球性调查,显示部分国家中小学计算机课程被“丢弃和挤压”现象严重[4];二是主体错位,计算机辅助教学意味着计算机把儿童程式化,使计算机对儿童进行编程。而儿童编程教育的用意是要让儿童对计算机进行编程,将自身想法与设计付诸计算机程序之中。因此,转变与重塑传统计算机教育观念,应意识到计算教育在课堂中的普及障碍不是由把人们拒之门外的高难技术决定的,而是由人们不愿投入其中的思想决定的[5]。
派珀特穷尽一生来普及他所期许的计算机助学文化。Logo语言进入学校多年,但编程教学作为“形式”和“摆设”的现象依然存在[6]。他认为是因学校在推动技术教育方面表现得“胆怯而迟疑”,“保守”的教育界可分成“学者型”与“渴望型”两种[7]。“学者型”承认当前教育中的潜在问题,但关注的只是短期迫切事件;“渴望型”在此基础之上正不断地尝试改善此情境,但不得不承认科技并没有为学校学习带来革命性改变[7]。学习型社会就如桑巴舞团的表演一样,具有一定组织结构和专业指导,但最终成果由舞者自创,在相对自由开放的情境下,表现出巨大的学习热情与意愿,表演的效果兼具专业性与创新性,同时也充满对当代政治、文化、生活的隐喻。但学校忽视了计算机的广泛能力,将其从学习过程中孤立出来,作为教育的附加部分,而計算机在学校的真正地位应如书本和纸笔一样普遍[7]。技术本就是教育中不可或缺的要素,或许应该如此表述:未来最大的挑战绝不会是科学与技术,是人类认知观念的转变。
(二)方式观:推广与普及儿童编程教育的创新举措
儿童编程教育作为继奥数、英语之后我国儿童教育市场的“最后一块蛋糕”,吸引了无数市场和资本的争相注入,但编程教育不论是作为信息技术还是作为科学类课程,在学校的普及程度均未达到理想预期。
西班牙国立远程教育大学的研究者曾选取数所学校五六年级学生进行了为期两年的教学跟踪,探究学生在Scratch教学环境下科学、艺术等课程中学科成绩、计算思维能力及学习情感等方面的改变。结果发现,参与教学活动的学生在这些方面的成绩均有显著提高[8]。西班牙胡安卡洛斯国王大学的研究者在小学四五年级英语课堂中引入Scratch,与传统教学课堂进行对比探究,一学期教学活动后发现,进行Scratch教学的小组英语成绩进步更大,并且对计算机教学的态度更积极[9]。日本文部科学省于2018年颁布了《小学学习指导纲要》[10],将编程教育作为小学必修课程,将编程思想与小学课程内容相结合,设计了大量教学实践活动案例在各小学推广实施[11]。发展中国家在信息化教育的改革与发展道路上或许面临着更加艰巨的挑战。巴西圣卡塔琳娜联邦大学的研究者让小学五年级学生通过Scratch学习历史知识,以此提高学生学习兴趣并缓解学校计算机课程量少和专任教师缺乏的情况[12]。因此,探究儿童编程教育融入学生基础课程的理论支撑及实践路径是编程教育“后进”国家推广编程教育的快车道,是我国目前推进儿童编程教育值得借鉴的重要形式。我们目前需要的不仅是一种理念和形式,更多的是一种氛围和态势,形式更多的是一种“渲染和烘托”,但不可否认,采用这种方式可能会收获更多的了解和关注,在社会舆论接受度高的情况下,儿童编程教育才可能获得它真正的教育地位,获得后续发展。
(三)工具观:助力编程教学与学科知识彼此协同发展
国际儿童编程教育研究不断深化,研究者更多地聚焦于编程“赋能”的特点,即编程环境对儿童高阶思维能力及其他课程学习的改善。派珀特与伊迪特·哈雷尔指出,编程学习具有“反赋能(Reflexive)”的作用,即编程与其他领域逻辑知识共同学习,要比单独学习每个领域更容易,并且进步更快[13]。土耳其研究者探究了儿童利用Scratch创建游戏项目,以此验证此干预对学生概率学习的影响,结果表明,基于Scratch的游戏创建教学对学生概率知识学习成绩的提高具有统计学意义,编程学习方式与逻辑性学科知识的学习在不断协同整合中“互相成就”[14]。
编程教育主要是利用适合儿童年龄发展的简化形式的编程工具,帮助儿童掌握计算机科学知识,发展理论思维能力[15]。编程的魅力不仅在于编码,更重要的价值体现在问题解决过程及思维能力的延伸,以及在此过程中对学习者观察、反思和结构性思考等无形技能的培养[16],这些技能不仅是优秀程序员必需的,也是每位优秀学习者所必备的。儿童编程教育融入学科课程的目的是希望带来儿童学习更深层次的转变。理想的教育情境不是强大的教学手段和技术的有效使用,而是儿童融入该环境的认知与意愿[17]。
三、“用编程学”的媒介——Scratch
Scratch是由麻省理工学院媒体实验室研发的一款面向8~16岁儿童的编程软件[18]。Scratch的设计灵感来源于Logo与Squeak Etoy图块化编程理念,儿童通过鼠标拖动程序块的方式编写“Sprite(小精灵)”动画故事,并可以上传到Scratch社区与其他创造者分享交流。Scratch作为标志性图形化编程软件风靡全球,已翻译成40多种国家的语言,目前儿童编程教育研究也主要集中在以Scratch为载体的基础之上。
(一)算法简化、媒体丰富的图像空间
Scratch与文本编程语言相比,算法理解及操作方式更为简便。Scratch将文本编程语言替换为命令块、功能块、触发块等,用户通过拖拽功能程序块来赋予角色命令,各程序块的形状决定它们能否组合在一起,不符合编程语法的代码块不能成功拼接。Scratch又被称为“数字乐高”,特定的部件只能以特定方式结合,这使得编程中语法错误不易出现,同时也奠定了编程中的“试误”操作。
在文本编程语言中,变量和列表是不可见的,而Scratch中的变量和列表可见并可操作,使用者通过显示器可以看到每执行一次命令,变量或列表中数据的变化过程[19]。Scratch中包含丰富的媒体资源,包括动画角色、背景图片、声音等[20],为学生发挥创造力提供了丰富素材,也为创设教学情境、引入目标对象提供了支持。Scratch3.0的扩展功能包括了添加音乐、画笔、视频检测等功能。Scratch同样支持硬件功能拓展,能够充分调动学生各感官体验,拓展功能丰富了Scratch的媒體环境,为学习活动的展开提供了更好的载体支持,方便学生对各类科学现象的直观认识与转化操作。
(二)自上而下、分而治之的修补理念
修补这一理念来自法语“Bricolage”一词,意为“走街串巷的修补者”,引申为具有无限可能的创作活动。Bricolage的工具袋里放着各样的修理工件,面对多样化的问题情境,它们会尝试利用不同的工具解决各种“随机问题”[21],Bricolage形象勾勒出编程初学者的状态。不论是图形化编程形式,还是有形实物化编程形式,都奉行修补理念,在现有文献中多用“Tinker”一词来表示,儿童编程的特点就是极强的“可修补性”,这也符合Scratch不会产生语法错误的特点,使用者一般很容易上手创建项目,并通过不断尝试新想法来完成既定目标,在此过程中培养思维能力[22]。Tinker与Bricolage编程思想一脉相承,成为儿童编程形式特点的代名词。
修补理念决定了Scratch自上而下、分而治之的编程形式。自上而下的编程方式指使用者从各程序组件开始,将它们设计连接在一起形成更大的子系统,直到构建成一个完整的顶层系统,这种被称作“颗粒化(Extremely Fine-Grained Programming)”编程的形式能够有效训练儿童分步解决问题的意识与能力[23]。同时,Scratch自上而下的编程方式能够淡化儿童编程时深度算法层面的处理,将目标任务的完成作为问题解决的过程,通过尝试可能适合任务目标的所有程序块来解决问题。自上而下、分而治之的形式不仅为程序编写与课程创新提供了支持,同时,儿童能对自身思维过程有更清晰的认识,更有助于问题解决能力的培养。
(三)设计建造、交流协作的自由情境
Scratch延续了建造主义(Constructionism)理论,该理论根植于建构主义(Constructivism)基础之上,但建造主义将适用范围拓展到技术学习情境中。建造主义推崇儿童在具体的情境中,利用工具通过设计制作来获取知识与发展技能;“具体”的思维方式对于儿童编程教育已不再是皮亚杰理论中所描述的低阶思维形式,过于形式化的逻辑思维是儿童产生编程恐惧和疏离感的原因之一。而Scratch界面提供了具体的情境支持,以具体可感的构建过程和最终可见、可评的实物结构来体现和评估学生此过程中抽象思维技能的获得与改变,使得“具体”与“抽象”思维相得益彰。
Scratch的“计算社交”也是其重要特点之一,儿童可以将其作品上传到Scratch社区与世界各地的设计者彼此分享,互相借鉴,作品在共享开放的社区中不断探讨、修改、完善之后再发回社区,此过程将协作学习、沟通交流的技巧培养充分展现出来。建造主义不应是技术课程的方法论,而更应从认识论的视角来看待,以此推动儿童学习研究更深层次的转向[24]。在媒体技术充斥的现代课堂,这种思想被越来越多的研究者接受,建造主义本质上应作为一种认识论,以此能够承载与衍生不同学习理论的实施与发展,将其作为儿童编程教育融入课程的教学模式构建与展开的顶层设计。
四、基于Scratch的课程模式设计与构建
Scratch作为儿童编程教育实施的载体,兼具工具性与教育性,可以将其作为课程教学的横向工具整合以恰当的科目及单元内容,从而培养学生在理论思维、学科知识、学习动机、社交情感等方面的能力。Scratch良好的工具性特点需要理论坚实的教学模式以及形式丰富的教学活动的支撑,从而最大限度地发挥其教育优势。
(一)教学研究原则与理论基础
1. 教学研究原则:基于设计的研究
对儿童编程教育理论与Scratch媒体特点的归纳为儿童编程教学模式勾勒出大致的实现图景,但如何弥合理论研究与教学实践的鸿沟是当前应解决的问题。因此,需要一种符合Scratch内在理论特征与外在操作特点的教学设计原则为模式建构提供框架支持。本研究选取基于设计的研究(Design Based Research,简称DBR)作为教学模式设计与实施原则,DBR是20世纪90年代中期美国研究者提出的一种在真实情境下以设计为中心的研究方法[25]。在当代智能环境中,DBR在设计开发和教育评估方面焕发出新的活力,被广泛应用于计算机创新教学及评价活动中。DBR的实行可分为四阶段:第一阶段是知情探索,即通过多种途径对问题表征进行理解与假设,从而引起参与动机;第二阶段为设计建构,对设计及制造过程的记录描述,涉及研究者、学习与教学实践者在真实情境下的干预循环;第三阶段为影响评估,创建评估工具对干预进行评价,并反馈到干预活动中,在迭代实践中不断修改完善以达到预期结果;第四阶段为理论化延伸,将实践所得的理论原则推广到更普遍的情境中,开发适应个性化教学特点的方法[26]。DBR是在真实的教学情境中,专注于教学干预的设计与实施,由研究者和实践者共同参与,通过不断创建测试、迭代精炼将设计方案改进完善,并且将此理论技能迁移到更广阔的情境中。通过对DBR的阶段划分及特点解读,得以明确DBR站位于实践主体(教学者与学习者)、技术情境、社会文化之下,这与儿童编程教育的理论和Scratch特点有诸多契合之处。
2. 理论基础:4P学习法
4P学习法由米切尔·雷斯尼克提出,是对儿童编程教育的观点提炼而形成的“综合集成体”,兼具一定的教育理论性与实践指导性[27]。
(1)项目(Project):项目是创新教学活动的基本单位。在创客时代,通过“在制造中学习”,亲身实践创造某项产品的过程中所获得的知识才最有价值[28]。基于计算机的学习方式是儿童积极“创作制造”知识的广阔途径,儿童在构建周围事物的过程中获得新的思想与技能,从而促进新事物的螺旋式建构。不论是玩具或编程工具,在学习制造过程中都应体现从“为我”到“我为”的主体转变,即不是工具载体能为儿童做什么,而是儿童能通过它们来获得什么,将编程作为一种流程的表达与思想交流的方式,以此延伸到各类问题解决和设计活动中。
(2)热情(Passion):内在动机才是儿童学习长期坚持永续发展的关键,编程教育融入学科教学活动的开展应在儿童认知因素与动机因素之间找到最佳调整状态。基于热情的学习应当是“艰难的乐趣”[29],即当儿童对自己从事的项目感兴趣时,即使是复杂难解的问题情境或在没有外界奖励的前提下,他们也会积极地投入其中。同时,热情与内在动力给标准化教育模式带来了更多个性化发展的空间,儿童能够对自己的学习方式、内容、时间、地点等拥有更多的控制权。
(3)同伴(Peers):新技术的出现不仅改变了协作学习的时间、地点,而且改变了同伴在学习过程中扮演的角色,Scratch在线学习社区让儿童在协作分享中互相学习、反馈进步。开放的设计环境可以带来更丰富的创造性灵感与更深刻的学习体验,并营造关爱、尊重的文化氛围,颂扬多元包容的文化价值,培养儿童共情、鼓励的社会情感。同时,教师也是“同伴”角色之一,扮演催化者(激发学生思维)、顾问(鼓励、完善与发展学生的项目设想)、连接者(连接各成员)、协作者(参与到项目制作的过程)的角色,技术不会完全取代教师,但会摒弃不会正确利用技术的教师,新技术使教师展开“最小干预”,却能发挥最大效能。
(4)游戏(Play):游戏是项目创造中好奇心、想象力和实践活动的结合与体现,编程是对技术的设计、探索、创造的过程,应当提供给学生创造性探索的自主权,使得“编码活动如在游乐场”一般[30]。学科知识以传统教育的偏爱模式向学习者传授的弊端被许多学习者否定,以儿童编程教育的视角审视,问题不在于学科本身,而在于知识如何被呈现与传授。
以项目创作为基础、以热情为驱力、以游戲为学习途径、同伴协作共同创造是4P学习法的理念核心,为教学活动的设计与开展提供了实践指导。Scratch及4P学习法兼具技术性、社会性及人文性的特点,各要素同样可划归为实践主体、技术情境、社会文化之下,与DBR四阶段具有同样的适用背景,两者共同架构起教学模式的实践基础。
(二)教学模式建构
借鉴DBR阶段划分及基于Scratch项目创作的一般过程,本研究将儿童编程教育教学模式划分为四个阶段:定义抽象、算法设计、迭代实施、拓展延伸。在实践主体、技术情境、社会文化三者融合的背景之下,使学习者在建构、执行、分析、反思和细化循环中不断发展[31]。
1. 定义抽象
编程项目创作中最重要的环节之一是抽象,如何凝练复杂多变的情境问题的本质并转化为能够用Scratch表示的编码序列是关键。向学生解释目标任务,使其了解学习情境并呈现知识内容,帮助学生将情境内容与基本算法原理相联系,简化为能够通过Scratch环境设计解决的问题。
2. 算法设计
了解问题情境后,需要预设出每一步的实施过程,设计基于Scratch的程序算法。在教师引导下,学生基于Scratch尝试修补的操作特点及程序算法的原理,将面临的问题情境算法步骤化,为实施操作描绘蓝图。
3. 迭代实施
根据预设步骤进行实践操作,根据实际情境不断调整方案,在创新更迭中解决随机个性化问题;通过同伴交流借鉴(面对面沟通或评论区提问)获得灵感,同时,教师适时的引导与辅助能够帮助学生更好地达成预设情境。
4. 拓展延伸
将项目创作中所涉及的逻辑原理拓展到更广范围的生活情境中。作品完成后进行展示与评估,学生展示介绍,同伴交流释疑,或将作品上传到Scratch社区,在社交讨论中不断补充修正;了解学生教学活动后对Scratch程序设计中算法知识与学科知识学习的理解与感受,并将其与生活实践相联系。
综上所述,将各要素有机结合建构出儿童编程教育教学模式,如图1所示。在最基本的生命层次“细胞”中,4P学习法作为“基因”调控整个系统;技术环境、实践主体、社会文化承担着“核膜”的监控和边界功能,并在此背景之下展开设计与学习;四阶段划分充当“mRNA”的角色,作为理论与实践的中介,将理论“基因”与实践执行“蛋白”相联系。教学实践需要更具体详细的指导,因此,在定义抽象、算法设计、迭代实施、拓展延伸四阶段之下,将教学阶段细化为目标任务、内容呈现,设计构思、学习指导,迭代创新、练习反馈,评估巩固、知识转移等,每个阶段对应两个步骤,如图2所示。向学生解释目标任务,呈现内容知识,创设问题情境,形成问题表征,刺激学生对Scratch算法和学科知识的回忆联系;在教师指导下,学生设计构思问题解决的算法步骤;通过不断尝试修补、迭代实施,形成最终的解决方案,呈现项目作品;开展同伴交流展示与在线评估,并尝试将逻辑知识与思维技能拓展到更广阔的生活与学习领域。
五、教学案例设计
(一)Scratch与小学科学的结合
Scratch能更好地帮助学生理解学科逻辑规律、计算构造与方法。本研究以小学科学为例,选取一节课进行教学设计,以期为儿童编程教育教学模式的展开提供说明与借鉴。小学科学作为一门基础性、综合性、实践性的课程,在小学阶段具有重要地位。新课标倡导科学与多学科融合教学,并着重強调科学内容中技术与工程领域的教学整合。探究式的科学教学方式不可撼动,但科学课在学校的开展情况不容乐观,也亟待科学教育理论研究和教学方式的激活与创新;同时,对于一些实践周期较长或不适合学生接触与体验的操作,在教学中的效果也不尽如人意。因此,基于Scratch的小学科学教学的开展是对儿童编程融入学科教学的尝试创新,同时也是对小学科学教学模式的优化与丰富。
(二)教学内容及学情分析
序列、条件、循环等基本的程序原理同样也普遍存在于科学现象中。利用Scratch编程创作呈现科学现象和逻辑过程,加深学生对科学概念内容的理解,同时,在设计过程中培养训练学生的计算思维能力。教学设计选择《食物链与食物网》一课,本课出自教科版《科学》五年级上册,内容目标是:使学生了解食物链与食物网及生产者、消费者、分解者等概念,能够正确书写食物链并体会到自然界中生物的相互关系;食物链中各营养级之间环环相扣,体现了计算中的排序原理,只有合理的营养关系才能保证食物链中各生物的稳态,同时也只有正确的程序顺序才能输出预设结果。在Scratch中设计动画角色行为,需要学生深入思考如何设计角色指令顺序,不断调整直至最终作品能够合理呈现角色之间正确的捕食关系。小学五年级学生已掌握了一定科学概念与探究能力,具备逻辑思考与设计建构技能,能够动手创建出较复杂的动画、游戏、音乐等个性化项目,为教学的展开提供了前提条件。
(三)教学活动设计
教学活动遵循教学模式展开,教师和学生在每个阶段的每一步骤中都有与之相对应的实践活动,每一阶段体现着不同的4P学习法并活跃着不同的主体视角。定义抽象阶段目标任务步骤需要教师引入问题情境,即探究食物链中生物之间的捕食关系,使学生能够理解项目创建的背景,在内容呈现步骤中教师需要引导学生明确基于Scratch项目创建所需的角色、背景等并完成导入,如本节需要涉及小草、蚜虫、瓢虫、小鸟等角色及背景;此后,阐述项目任务,可以通过创建游戏和动画故事合理表示各生物之间的捕食关系,使学生对任务表征有大致的了解。此阶段,Scratch营造技术环境激发学生的热情,项目任务的理解和呈现方式也使得教学与学习实践主体积极参与其中,体现了4P学习法中的热情原则,具体教学设计见表1 。
六、结 语
儿童编程融入学科教学符合教育信息化发展的时代需求,也是儿童编程教育多样化发展的创新教学方式。Scratch作为图形化编程工具的代表,具有鲜明的操作特点及坚实的理论背景。同时,在实践展开过程中有诸多因素也需考虑,学科教师能否将Scratch媒体环境或编程原理与恰当的学科知识内容相融合,编程教育与学科融合的教学起始时间、技术设备的支持情况还有教师与学生的技术操作熟练程度等也是应当进一步讨论的因素。通过本研究的论述、构建与设计过程可以看到,基于Scratch的儿童编程教育教学模式能够在学校课堂开展实施,这为学科教学模式的探索提供了更加多样化的选择,同时,也需更加深入的实践探究,以此营造多样化的儿童编程教育大环境。
[参考文献]
[1] PAPERT S. Mindstorms:children, computers, and powerful ideas[M]. New York:Basic Books,1980.
[2] MORENO-LEON J,ROBLES G,ROMAN G M. Code to learn:where does it belong in the k-12 curriculum?[J].Journal of information technology education:research,2016,15(6):283-303.
[3] Resnick M. Learn to code,code to learn[EB/OL].(2018-12-03)[2019-11-15].https://www.robofun.org/blog-1/2018/12/3/samplekids-technology-and-the-internet.
[4] WILSON C,SUDOL L A. Running on empty:the failure to teach K-12[M]. New York:Association for Computing Machinery,2016.
[5] TURKLE S, PAPERT S. Epistemological pluralism: styles and voices within the computer culture[J].Journal of women in culture and society,1990,16(1):128-157.
[6] MCNERNEY T S. From turtles to tangible programming bricks:explorations in physical language design[J].Personal and ubiquitous computing,2004,8(5):326-337.
[7] PAPERT S. The children's machine:rethinking school in the age of the computer[M].New York:Basic Books,1993.
[8] SAEZ-LOPEZ J M,ROMAN-GONZALEZ M,VAZQUEZ-CANO M. Visual programming languages integrated across the curriculum in elementary school:a two year case study using "Scratch" in five schools[J].Computers & education,2016,97(3):129-141.
[9] MORENO-LEON J,ROBLES G. Computer programming as an educational tool in the English classroom: apreliminary study[C]// Proceedings of IEEE Global Engineering Education Conference. Estonia:IEEE,2015:1-7.
[10] 小林 祐紀.コンピューターを使わない小学校プログラミング教育 “ルビィのぼうけん”で育む论理的思考[M].东京:翔泳社,2017.
[11] 孙立会,刘思远,李曼曼. 面向人工智能时代儿童编程教育行动路径——基于日本“儿童编程教育发展必要条件”调查报告[J]. 电化教育研究,2019,40(8):114-120,128.
[12] WANGENHEU C G,ALVESl N C,RODRIGUES P E. Teaching computing in a multidisciplinary way in social studies classes in school——a case study[J].International journal of computer science education in schools,2017,1(2):1-14.
[13] HAREL I,PAPERT S. Software design as a learning environment[J].Interactive learning environments,1991,1(1):1-32.
[14] AKPINAR Y,ASLAN U. Supporting children's learning of probability through video game programming[J].Journal of educational computing research,2015,53(2):228–259.
[15] 孙立会,周丹华. 国际儿童编程教育研究现状与行动路径[J].开放教育研究,2019,25(2):23-35.
[16] ZHANG L C,NOURI J. A systematic review of learning computational thinking through Scratch in K-9[J].Computers & education,2019,141(11):1-25.
[17] HAREL I,PAPERT S. Situating constructionism[M].New York:Ablex Publishing Corporation,1991.
[18] RESNIC M,MALONEY J,MONROYHERNANDEZ A,et al. Scratch: programming for all[J].Communications of the ACM,2009,52(11):60-67.
[19] KAFAI Y B,BURKE Q. The social turn in K-12 programming:moving from computational thinking to computational participation[J]. Communications of the ACM,2016,59(8):26-27.
[20] LAMB A,JOHNSON L. Scratch:computer programming for 21st century learners[J].Teacher librarian,2011,38(4):65- 75.
[21] 孫立会,周丹华. 儿童编程教育溯源与未来路向——人工智能教育先驱派珀特的“齿轮”与“小精灵”[J].现代教育技术,2019,29(10):12-19.
[22] PAPADAKIS S J,KALOGIANNAKIS M,ZARANIS N. Developing fundamental programming concepts and computational thinking with ScratchJr in preschool education: a case study[J].International journal of mobile learning and organisation,2016,10(3):187-202.
[23] MEERBAUM S O,ARMONI M,BEN A M. Habits of programming in Scratch[C]//Proceedings of the 16th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education. Darmstadt:ACM,2011:168-172.
[24] PAPERT S,HAREL I. Constructionism[M].New Jersey: Ablex Publishing Corporation,1991.
[25] ANDERSON T. Design-based research and its application to a call centre innovation in distance education[J].Canadian journal of learning and technology,2005,31(2):1-8.
[26] BANNAN R B. The role of design in research:the integrative learning design framework[J].Educational researcher,2003,32(1):21-24.
[27] RESNICK M,ROBINSON K. Lifelong kindergarten:cultivating creativity through projects,passion,peers and play[M].Boston:The MIT Press,2017.
[28] MARTINEZ S L,STAGER G. Invent to learn:making,tinkering, and engineering in the classroom[M].Torrance: Constructing Modern Knowledge Press,2013.
[29] PAPERT S. Hard fun[EB/OL].(2010-12-25) [2019-10-30].http://www.papert.org/articles/HardFun.html.
[30] BERS M U. Coding as a playground:programming and computational thinking in the early childhood classroom[M].New York:The Routledge Press,2017.
[31] SENGUPTA P,KINNEBREW J S,BASU S,et al. Integrating computational thinking with K-12 science education using agent-based computation: a theoretical framework[J].Education and information technologies,2013,18(2):351-380.
[Abstract] The integration of children's programming education and basic curriculum has become an important topic in the field of programming education. The integration of children's programming education into subject teaching is a new attempt to change and reshape the concept of computing education, and is also an innovative measure to promote and popularize children's programming education, which can help the collaborative development of programming teaching and subject knowledge. Scratch's simplified algorithm, media-rich image space, top-down, divided tinkering concept, design and construction, and free contexts for communication and collaboration make it the preferred medium for “using programming”. Then, based on design-based research (DBR) as the design principle and the 4P learning method as the theoretical basis, this paper builds a teaching model of integrating children's programming and subject with primary science as a case, in order to enrich and optimize primary science teaching methods and explore and promote diversified teaching forms for children's programming.
[Keywords] Children's Programming Education; Scratch; Elementary Science; Teaching Model