1. 引言
创新是个人、国家和社会持续发展的动力源泉。在国际化、信息化的时代背景下,培养创新型人才成为教育的一个重要目的。自我国《国家中长期教育改革和发展规划纲要(2010~2020年)》发布以来,学生的创新教育得到了越来越多的关注。创新教育是着重培养创新性人才的教育活动,而创造力则是创新性人才必备的关键能力和重要表征[1]。
然而我国基于编程培养学生创造力方面的研究尚在初期探索阶段,编程工具理性的培养方式忽视了低年级学生不具备成熟的识字、计算和抽象推理能力等身心发展特点,导致效果并不理想。因此,如何针对低年级学生独特的认知能力和发展需求,选择合适的教学方式成为研究重点。有研究者从编程工具层面出发,探索发现实体编程通过一系列物化的编程指令,让低龄儿童通过触摸、拼搭实物,发展其抽象、观察、分析和创造能力,儿童像创客一样使用实体编程工具设计、制作、思考,为成为创新性人才做好准备[2]。
2. 实体编程与创造力培养的关系
实体编程概念始于20世纪60年代中期,到1993年,由日本学者铃木英之等人明确提出,并将此称为“有形的编程语言”(Tangible Programming Language) [3]。实体编程在可视化编程的基础上,将屏幕中的代码块实物化后,集成到积木实物模块中。这些实物积木块被赋予了不同的属性或功能,如变量、函数、传感器等。这种基于现实世界的编程方式的出现,为教育者解开了诸多环境和工具上的限制,为低龄学习者的编程活动提供了更大的探索空间[4]。
相比小学语文、数学这样以学科知识为主要教授内容的学科,编程教育的意义在于培养学生计算性、创造性等得思维方式,并发展学生多样的学习方式。在教学过程中教师创设情境任务,激发学生的创造兴趣。随着编程教育的发展,其形式趋于多样化,傅骞等认为编程形式可分为文本编程、图形化编程、实体编程。然而随着研究的深入和发展,人们发现根据实际教学经验,虽然教师可以通过知识讲授、课堂练习等形式转变小学生的思维方式,但是如果没有一套新的、更适合低年级学生的教学方法或教学工具,很难使低年级学生的创造力、计算思维等高阶思维能力朝着预期的目标发展。而实体编程不仅有助于具体的、良构的学科知识的学习,并且可以被用于培养学习者的高阶思维能力[4]。因此可以尝试通过实体编程课程培养小学低年级学生的创造力。
3. 面向低年级学生创造力培养的小学实体编程教学模式建构
本文以低年级学生创造力培养为目标,结合PBL项目式教学法,提出“情境体验、指挥官学习室、指挥官训练场、总结与延伸”多阶段的教学模式(如图1所示),以期探索通过实体编程课程培养小学低年级学生创造力的实践路径。
Figure 1. Construction of the primary school tangible programming teaching model for cultivating creativity in lower grade students
图1. 面向低年级学生创造力培养的小学实体编程教学模式建构
(1) 情境体验
情境体验环节的核心任务是激发学生的学习兴趣、激活学生的前经验。在该环节中教师通过图片提问、儿歌视频、航天新闻浏览等方式,创设低年级学生感兴趣的问题情境,并对本课的教学主要问题进行定性表征。学生的主要任务是结合自身的已有经验知识从情境中发现问题,这时学生获取无法准确理解问题,则需要教师提供引导,为接下来的进一步探究奠定重要基础。
(2) 指挥官学习室
结合低年级学生认知水平较低、学习以具象性为主、不具备成熟的识字和计算能力的特点,在“学习室”中主要采用生动有趣的“不插电游戏”,让学生在游戏中感受算法的逻辑。不插电活动是通过提供学生有形的学习材料,利用实物工具帮助学生创设编程学习环境,在不插电活动中来培养学生的编程能力[4]。利用有趣且生活化的不插游戏不仅可以提升学生对编程的兴趣,同时也能帮助学生理解编程知识。根据每节课的知识点数量及其特点,每节课或将安排一至多个“指挥官学习室”,通过多种多样的不插电游戏,结合教师有针对性地介绍硬件原理和算法知识,引导学生认识不同硬件和理解算法知识,培养学生的创新意识和信息处理能力。
(3) 指挥官训练场
训练场环节是对上一环节“学习室”中所学到的知识进行运用的阶段,先在教师的带领下对情境问题进行分析,根据任务要求和所学知识,完成初步程序设计。再由学生运用实体编程工具对初步设计进行验证。学生通过拼接编程块和操作机器人来表达自己对程序的理解,通过结合同伴、机器人、教师等多方反馈来验证程序是否能够完成任务。在该环节中,教师观察学生操作情况,识别出学生在操作过程中所出现的问题,为学生提供过程性帮助来推进编程活动,并且鼓励学生在完成任务的基础上进行创造创新。与“学习室”环节相同,根据不同课程需求,设置一至多个“训练场”,并于“学习室”基本对应。学生通过编写程序、拼搭硬件等具体的操作体验来理解抽象的程序概念,能够通过联想创新来改进功能。既符合幼儿认知发展特征,又能锻炼学生的合作协调能力、动手能力,培养学生的创新心理品质。
(4) 总结与延伸
总结与延伸环节是对本课学习的知识进行总结和概括,为学生形成完整知识体系,加强学生知识结构,提升学生创新能力、计算思维能力和表达能力。开展成果分享交流环节,引导学生上台汇报展示作品效果、介绍作品的主要实现方法、讲述实践过程中遇到的问题和解决方法等,为学生提供互相学习、表达交流的机会。教师选择其中具有示范性的案例进行分析,鼓励学生积极思考、敢于想象、敢于创新,诱发学生创新思维的发生。该环节通过游戏复习、分享交流、展望新课等方式,学生对拼搭硬件积木的编程活动中发现的问题进行反复的修正和纠错,促进思维向更高层次发展。
4. 基于PP9编程机器人教学实践
以PP9编程机器人为教学工具,课程的主题是“太空机器人助手的指挥官”,PP9机器人假设为中国空间站的机器人助手,执行人类无法完成的任务,学生作为指挥官和机器人一起去往地球、月球和火星,闯过重重难关完成任务。学生在有趣的故事情境中,运用算法知识拼搭积木块操纵机器人获得足够的能量并且完成保卫地月家园和探索遥远星空的任务。
本研究在上海市实验学校低年级选修课程中开展两轮行动研究,在行动中发现教学模式存在的问题并进行经验总结,配合使用问卷调查法和观察法,用量化数据和质性分析为教学模式的修正提供依据。通过第一轮行动研究,结合教师和学生两方面的反馈,提出课堂气氛过于活跃、组内有学生参与度不高、教学节凑易破坏等问题。结合上述问题,在教学模型修改时加入了“规则小暗号”强化课堂纪律,以确保课程的进度和节奏;在“指挥官训练场”环节中加入学习单,让学生在操作的同时能够用画图、书写等方式记录下思维过程,促使参与度不高的学生完成基础任务。在第二轮行动研究观察时,以上问题均得到了改善。
为获得学生更加准确的创造力变化情况,在行动研究前后用“低年级实体编程创造力倾向测试”对学生进行了前测和后测。该问卷是使用威廉斯创造性倾向量表与创造性思考活动时对相应测试进行微调,确定了小学低年级学生创造力评估工具。其中包括冒险性测试、好奇心测试、想象力测试和挑战性测试在内的50道题,采用3点计分。测量前对量表进行信效度检验,在Cronbach信度分析中,各维度α系数均高于0.8,说明信度高;使用KMO和Bartlett检验进行效度验证,KMO值为0.734,介于0.7~0.8之间,从分析结果可以看出研究数据适合提取信息,故说明此量表具有良好的信效度。
创造力倾向的变化是本研究中重要的数据,在SPSSAU在线数据分析平台,笔者将前后测学生创造力倾向总值进行配对样本T检验,检验结果如表1所示。创造力倾向前测和后测之间呈现出0.01水平的显著性(t = −3.630, p = 0.001),说明创造力倾向的前后测试存在着显著差异性。具体对比差异可知,创造力倾向前测的平均值(104.34),会明显低于创造力倾向后测的平均值(118.24),以上数据说明面向低年级学生创造力培养的小学实体编程教学模式能够有效提升学生的创造力倾向。
Table 1. Results of paired t-test analysis on creativity tendency before and after testing
表1. 创造力倾向前后测配对t检验分析结果
名称 |
前后测(平均值 ± 标准差) |
差值(配对1~配对2) |
t |
p |
前测 |
后测 |
创造力倾向前测 配对 创造力倾向后测 |
104.34 ± 15.61 |
118.24 ± 11.71 |
−13.90 |
−3.630 |
0.001** |
*p < 0.05,**p < 0.01,下同。
深入的效应量指标分析进一步解释了低年级学生创造力倾向的各维度变化情况,在各维度的T检验都存在显著差异的前提下,使用Cohen’s d值表示效应量大小,该值越大说明差异越大,如表2所示,冒险性测试的Cohen’s d值为0.751,为其中最高,说明在面向低年级学生创造力培养的小学实体编程教学模式下,学生的创造力中冒险性得到最多提升,其次是想象力和好奇心。
Table 2. Depth analysis of creativity tendencies in various dimensions—effect size indicators
表2. 创造力倾向各维度深入分析——效应量指标
名称 |
平均值 差值 |
差值95% CI |
df |
差值 标准差 |
t |
p |
Cohen’s d值 |
冒险性前测 配对 冒险性后测 |
−3.59 |
−5.403~−1.769 |
28 |
4.777 |
−3.630 |
0.001** |
0.751 |
好奇心前测 配对 好奇心后测 |
−3.48 |
−6.050~−0.916 |
28 |
6.749 |
−4.043 |
0.000** |
0.516 |
想象力前测 配对 想象力后测 |
−3.83 |
−6.229~−1.426 |
28 |
6.314 |
−2.779 |
0.010** |
0.606 |
挑战性前测 配对 挑战性后测 |
−3.00 |
−5.378~−0.622 |
28 |
6.251 |
−3.265 |
0.003** |
0.480 |
5. 总结与展望
本文分析了实体编程与创造力培养之间的关系,探究了符合低年级学生认知特点的编程工具,厘清了低年级实体编程与创造力之间的耦合关系,为小学低年级开展实体编程教学提供了新思路。根据理论分析及教学实践结果,要想更好地培养低年级学生的创造力,还需要从教学内容、教学策略、师生角色等方面探索新途径。
(1) 选择适当教学内容,加强基础知识巩固
在以往的教学进程中,编程之基础——算法的学习到了初高中才会被提及,知识点的描述和教法都是符合高年级学生认知发展水平的,在低年级开展实体编程课程的首要任务就是选择恰当的知识点作为学习内容。这些知识点是基础的、简单的,并且需要用低年级学生能够理解和接受的方式教授给学生。不仅如此,由于低年级小学生有较低的认知发展水平、记忆力和专注力,在课程的推进过程中,基本概念、专有名词等这些基础知识需要不断重现,在学生的整个学习过程中反复强调巩固这些基础而重要的知识点。
(2) 采用多样化教学策略,助力综合素养发展
在低年级学生的教学课堂上,教师的课堂管理方式、教学策略等因素都会对学生产生较大的影响。因此,选择和使用有效的教学策略是以实体编程为基础培养低年级学生创造力的一个突破点,也是使用实体编程工具的教学方式被低年级学生真正理解和接受的关键。将跨学科学习模式、项目化学习方式等多样化的教学策略融入实体编程的课程中,培养学生在智能时代所需的计算思维和创新素养的同时,也促使学生在教学活动中形成综合素养,如坚韧的学习意志、创新的思维方式等。
(3) 强调学生自主探索,重视教师引导作用
实体编程教学的目的不仅是传授编程知识,更重要的是培养创新能力与核心素养。对于核心知识的获取、关键功能的设计,都应由学生自主探索获得。学生还应在合作中培养责任意识、自我管理能力等,增强学生编程学习的参与感与体验感。而教师则应作为引导者,告诉给学生问题解决的办法,包括程序设计、实施、改进等。在课堂中强调学生的主体作用,增加学生动手实践的机会,交给学生充足的自主学习时间和空间,有益于培养低年级学生的创造力。