张晶 秦曾昌
STEAM是指科学(Science)、技术(Technology)、工程(Engineering)、艺术(Arts)和数学(Mathematics)这5个学科的有机结合,帮助学习者发现学科间内在联系的教育(李雁冰,2016)。STEAM教育可被定义为以解决真实生活中的问题为导向,以科学的概念和原理为基础,用数学的方法建模与分析,选择相关的技术通过工程的方法,创造出兼具效用和人文价值的想法或产品的教育(孟延豹,李想,2018)。
图形化编程是指通过图形化的电子编程积木拖拽拼接编写动画、故事、仿真物理现象等交互性程序,比较适合8~12岁儿童,通常作为正规编程的入门。图形化编程不仅能教会学生基础的编程指令及结构,更能创设探究设计的学习空间鼓励学生表达自我想法,进行创意设计,以及在创作过程中锻炼逻辑思维和培养问题解决能力。图形化编程的教学课程线上及线下教学皆有,其中线上教学为主流,具体形式多样,一般采用45分钟左右的视频教学加真人教师辅导作品的模式。
STEAM教育与图形化编程教育的联系与区别
图形化编程教育与STEAM教育共享概念。图形化编程教育本身即为STEAM教育的一种,是基于科学知识及数理知识,以图形化编程工具为主要技术手段,以编程产品的设计和开发为目标的过程,本质是以编程技术为核心的多学科的运用。STEAM教育与图形化编程教育共享培养方式。图形化编程教学的过程主体有工程设计的思维,即以编程作品的工程设计环节为线索,以产品的设计为导向的过程,而STEAM教育的主要教学方式为基于问题的教学、基于设计的教学及基于项目的教学(史颜君,2017)。也就是说,图形化编程的常见教学方式也属于STEAM教学中有代表性的一种。图形化编程教育的培养目标与STEAM教育培养目标具有一致性。图形化编程教育能培养学生的协作思维、评判思维、创造性、问题解决能力及算法思维(李幸等,2019),图形化编程所培养的能力与STEAM教育是高度一致的。
但图形化编程教育与STEAM教育相比又有其特殊点。
首先,图形化编程教育虽本质上为多学科的教育,但终究为以编程技术为核心、其他学科为辅助的多学科的学习方式。图形化编程教育要最大程度地发挥其作用,应丰富编程课程的趣味性及内涵,在编程技术之外,应多以情景化的模拟真实世界的问题出发设计课程,丰富课程中的多学科背景知识,体现人文特色,才能最大程度地发挥图形化编程教育作为STEAM教育的天然优势。也就是说图形化编程教育应以STEAM教育理念为指导,丰富其多学科的内涵。
其次,图形化编程教育的问题及情境,不一定为真实世界的处境或问题,这与STEAM教育服务于现实生活的特征或有差异。图形化编程教育主要为8~12岁儿童服务,这个年龄段的儿童想象力丰富但是现实经验不足,处于皮亚杰的“前运算阶段”,不能脱离具体形象进行思维,图形化编程作为教育工具恰好能给这个年龄段的儿童提供模拟及检验现实世界的经验,以及充分发挥想象力的虚拟场所,有助于孩子的创造力和问题解决能力的培养。同时在考虑到图形化编程的不受现实世界约束的优点之外,图形化编程教育也应注意与现实生活结合,与科学规律结合,以科学和现实为准绳,同时考虑与其他线下STEAM教育结合,弥补脱离现实性的不足。
STEAM图形化编程能力的培养
STEAM教育与图形化编程教育结合被研究证明可以培养学生的协作思维、批判思维、创造力、问题解决能力及算法思维,并以此为基础设计了基于工程设计的学习与实践双环。基于工程设计的编程学习环,是指学生的6个学习步骤,依次为:定义真实问题情境,学习背景了解问题,用头脑风暴设计方案,用编程算法构建原型,迭代完善作品,以及对作品进行分享评价。每个学习步骤分别对应6个主要的实践重点:抽象和分解问题,收集和分析数据,多元化呈现数据,分步推理演算,自动化模拟,以及并行处理。通过这6个实践步骤,学生的协作思维、批判思维、创造力、问题解决能力及算法思维能得到综合培养和提高(李幸等,2019)。上述研究主要针对线下图形化编程教育的教学,但在我国图形化编程教育多为线上教学,因此上述学习与实践环都需要在线上教学环境下重新具体考虑其实践细节,这也是本研究的着力之处,即探讨在线上如何实现STEAM图形化编程教学能力培养体系的落地。
线上图形化编程课程多为视频教学加真人教师点评或辅导(教师参与方式,多为点评作品及补充讲解知识点),具有无法同时面对面信息沟通讨论,以及具有明确的时限(15~45分钟)等限制性因素,因此通过单纯的线上的视频教学无法覆盖学习环节的6个步骤,如由于视频时间有限,“学习背景了解问题”“头脑风暴设计方案”等都难以在视频及与教师的沟通中展现,学生也不能进行“收集数据及分析数据”“多元呈现数据”等针对性操作,从而在能力培养上存在缺口。因此考虑通过添加课下作业补充线上教学的不足,通过线上线下联动补齐学习与实践的诸环节与步骤,具体体现如表1所示。
如表1,图形化编程的学习与实践的6个步骤被拆分为3个环节实施,某些步骤上会搭配多环节综合实施。如在“学习背景、了解问题”步骤的“收集数据分析数据”实践步骤,可以放在课下作业中,提供给学生课下拓展的知识和方法。此外,教师在手机移动端能收到学生的编程作品,可及时点评并提出修改及迭代的意见,并将好的作品进行分享展示,促进学生间的相互借鉴和学习,和课下作业一起完成学习环节的“迭代完善改良作品”及“评价反馈分享展示”等步骤,从而形成学习及实践的良好搭配。
每个学习环节及实践环节均能有针对性地培养学生的某些能力,由于缺乏线下面对面实时的行为示范及观察点评反馈等优势,因此可借鉴班杜拉的社会学习理论,发挥典型行为的示范作用,促进学生的观察和模仿,在展示视频中设计每个环节的典型行为的示范与课下作业的模仿练习。具体步骤为:根据能力特性匹配重点思维(行为)根据重点行为归纳最佳思维(行为)模式根据最佳行为匹配能力培养工具(见表2)。
线上图形化编程教育与STEAM教育结合培养学生跨学科的综合素养
众所周知,分科教育存在着分科教育的弊端,面对现在的知识大爆炸,近代以来的分科教育显然不适合面对未来的教育,但是由于分科教学的便利及STEAM師资培训及教师队伍的不足,STEAM教育推行仍旧困难重重。图形化编程教育作为一门新兴的教育成为STEAM教育实施的可行途径:极度便利的编程平台工具极大提升了学生动手编程的积极性,激发学生的探索热情,通过引导让学生综合利用多学科知识解决问题,也在分享便利的互联网时代下实现群体协同创新,充分实现合作学习。
在线图形化编程教育,离不开多学科的知识。好的编程作品,离不开背后的多学科的支持。如设计一个古代名画赏鉴的编程作品,在利用编程知识之外,还需要丰富的人文底蕴。STEAM教育就是在孤立的学科中搭建沟通的桥梁,让学生整合地认识世界,把科学、技术等多学科知识和技能的教学整合到STEAM的教学模式中,使零碎知识的学习变成相互联系、相互统一的知识系统的学习,因此避免了传统教学中各学科知识割裂、不利于学生实际问题解决能力培养的弊端,让学生培养跨学科的综合素养(叶兆宁,杨元魁,2015)。图形化编程教育,天然是多学科的教育,为跨学科教育提供了具有天然优势的平台,应为多学科而学编程,为编程而学习多学科知识。