面向计算思维培养的图形化编程教学活动设计研究

2022-10-26 08:10
中小学电教 2022年7期
关键词:图形化积木编程

王 凡 王 伟 张 鑫

(1.东北师范大学 信息科学与技术学院,吉林 长春 130117;2.沈阳市浑南区第一小学,辽宁 沈阳 110623)

一、研究背景与问题

人工智能时代的到来,促使社会各领域向智能化转变。计算思维作为人工智能时代处理、分析复杂问题的重要思维能力,得到了全世界的重视与关注。诸多学者对计算思维的内涵展开了深入探究,然而迄今为止,对于计算思维的认识并未达成共识。国内对于计算思维概念最权威的认定来源于2017年高中信息技术新课标中对计算思维的定义。计算思维是指个人在计算机技术领域和形成问题解决方案过程中的一系列思维活动[1],包括问题界定、抽象特征、建立模型、优选问题解决方案、迁移应用等内容[2]。国际教育技术学会(ISTE)也曾指出:计算思维的核心能力是CPS(Computational Problem-solving)能力,也就是通过开发计算机程序来解决问题的一种能力[3]。综合国内外对计算思维的认识,可将计算思维的培养要点归结为两方面:一是基础算法程序知识的掌握;二是利用已有编程算法知识完成问题解决的过程,且在解决问题的过程中要经历抽象、分解、算法、评估、概括等计算思维发展的要点内容。

近年来,培养中小学学生计算思维的方式日益增多,但多以算法程序设计、STEAM 和信息技术课程等为载体,其中程序设计及相关应用的教学是计算思维培养的主要方式[4]。但对于中小学学生来说,复杂的程序设计晦涩难懂、枯燥无味,很难调动学生的学习兴趣,同时难以促使学生利用已知的计算知识展开问题解决的探索。图形化编程语言的出现,打破了传统编程语言抽象、复杂、专业性高的局限,将复杂的编程语言封装为简易的图形,通过丰富的色彩和形状各异的积木块表示不同的算法功能。学生可通过“卡合”积木的方式体验学习相关编程知识,在试误中不断探索,逐步解决问题。

虽然图形化编程易入门、易掌握,但依然具备程序设计的算法属性、抽象属性、自动化属性,对学习者的逻辑和推理能力要求并不低[5]。同时图形化编程中开放的编程环境为学生的自主探索、创意表达提供了资源与空间支持。因此,图形化编程作为低龄儿童计算思维发展的关键工具,得到了广泛关注,也逐渐成为当前中小学计算思维培养的主流方式。然而如何科学地应用图形化编程助力学生计算思维的发展尚处于探索阶段,需要广大学者深入探讨图形化编程工具与计算思维的关系,思考设计指向学生计算思维培养的教学活动,以合理的利用图形化编程促进学生计算思维的进步与发展。

二、图形化编程中计算思维的价值内涵

计算思维作为人们运用计算机科学领域思想方法解决问题的一系列思维活动,不仅包括算法、编程等概念和技能层面的知识内容,还包括应用计算机解决问题过程中的学习收获[6]。美国MIT 媒体实验室雷斯尼克教授曾明确指出计算思维并不能单独培养,而是以依附于知识系统的形态存在于课程之中的[7],不同课程体系对计算思维的培养要求不同。图形化编程作为儿童计算思维培养的重要载体,不仅具有基础的算法逻辑,还能够让学生在拼接积木学习过程中掌握基础的编程与算法知识。同时图形化编程工具为学生提供了自由开放的编程环境,让在试误中不断迭代完成编程作品的制作,其特殊的知识概念与可视化的编程界面对计算思维培养提出了新的要求,也丰富了计算思维的价值内涵。因此,结合图形化编程工具特点及对计算思维的理解,将图形化编程中计算思维的价值内涵归结为以下4 点:

1.在掌握编程知识概念基础上发展起来的复合思维能力

图形化编程中指向的计算思维并不是单一技能的进步,它包括知识经验、思路方法、情感认知等多方面因素的综合内容,是在实践过程中积极参与,不断积累并动态更新的思路与方法,是在具象基础上抽象构建思维模型的拓展与应用,是问题分析能力、抽象化能力、概括能力、算法思维能力、结构化问题分解能力等多种思维能力的有机统一。

2.利用图形化编程工具创造性解决问题的能力

真正的计算思维发展应该以创造为导向[8]。图形化编程中指向的计算思维核心是一种创造性解决问题的能力,学生能够从教学情境中抽离出可计算问题,并将复杂问题分解、细化成问题解决方案,并能够使用图形化编程工具将方案程序化、自动化,最终解决问题。这个过程学生不仅仅是生搬硬套原有的问题解决方法,而是在已有经验上不断创造完善的新思路与新方法。

3.在拼装修补测试作品过程中不断反思优化的能力

图形化编程中指向的计算思维并不是一蹴而就的,是学生在不断调试、反思、优化编程作品的过程中慢慢形成的一般思维能力。儿童在利用编程工具解决问题时,往往需要多次调试与修改,在修补的过程中产生认知冲突,进而开始反思、尝试优化作品。在整个反思并优化的过程中完成认知层次的进阶,最终获得思维上的进步与发展。

4.梳理问题解决过程形成算法经验并迁移应用的能力

图形化编程中计算思维最终的外显成果是以问题解决为背景的编程作品,但思维能力发展并不止步于问题解决,而是指向迁移应用能力。学生在完成图形化编程作品后能回顾解决问题的过程,形成算法经验,并且能在相似的编程问题中迁移应用或改造升级算法从而解决更高难度问题,才是学生思维能力的真正进步与发展。

三、图形化编程对计算思维的支持分析

图形化编程是通过积木块拼接进行编程学习的代表,它可以让学生创建互动的故事和游戏。一般由积木代码区、积木搭建区、舞台、角色区组成,如图1所示。学生可以在角色库中选择角色添加到作品中,之后在积木代码区选择相应积木块,拖拽到搭建区为该角色搭建相应的代码,并通过舞台运行查看是否能实现想要的效果。若演示效果与期待效果有偏差可以再次修改所搭建的积木代码,直到实现期待效果为止。

图1 编程平台页面

学生通过不同类积木块的拼搭,可以实现角色移动、跳跃、舞蹈、唱歌等效果。孩子像搭建积木一样就可以轻松完成动画、游戏等设计。在此过程中,学生不用考虑复杂的编程语言,而将更多的时间放在思考如何通过编程解决问题上。学生利用图形化编程工具完成作品创作的过程即为实现问题解决的过程,在此过程中图形化编程工具本身的特点也为学生解决问题提供思路方法支持,为计算思维的发展提供了基础。

1.可视化界面帮助学生抽象表征问题

图形化编程可视化的舞台区设置,让学生在完成创意作品的过程中,将复杂的故事内容简化为舞台上的背景与角色设置,以可视化的背景、角色表征所要解决的核心问题,让学生在不知不觉中养成抽象化思考与具象化表征的能力。

2.创建不同角色帮助学生分解复杂问题

学生要完成图形化编程创作时首先要确定主要的角色,根据每个角色所要完成的动作内容将整个作品还原。而这种分角色设置代码的过程在无形中让学生将复杂的问题分解为若干个小问题,锻炼其结构化的问题分解能力。

3.简易积木搭建帮助学生实现程序设计方案

图形化编程将复杂程序代码内容封装为具有一定功能的积木块,学生通过积木块搭建即可实现角色相应的动作、效果变化。在此过程中,学生不需要考虑复杂的代码编写等问题,而将精力放在如何通过积木块搭建实现问题解决,并通过积木块的嵌套、顺序卡合等方式展示问题解决方案。

4.编程平台及时反馈帮助学生完成测试与调试

在图形化编程创作过程中,积木是否能够自动“卡合”为学生判断其解决方案的有效性提供了直接反馈。同时舞台区能够将学生所创作的内容直观展示出来,帮助学生在创作过程中不断调试优化其解决方案。学生在不断优化调整的过程中获得知识、经验、问题解决方法的感悟,为其思维进阶发展打下基础。

5.丰富的编程资源帮助学生实现经验的迁移与应用

图形化数字创作是在学生掌握一定问题解决能力后的再度延伸与发展,图形化编程色彩丰富、类型多样的积木块既能为学生创作提供底层支持,同时对学生复盘整个问题解决过程,如何通过图形化编程(计算机)自动化实现问题解决提供了帮助。让学生通过图形化编程学习不断地总结方法经验,得到解决新问题的能力。之后利用图形化编程平台角色库、拓展模块等资源内容完成新案例搭建,实现问题解决能力的迁移应用,促进其计算思维的发展。

四、面向计算思维发展的图形化编程教学活动框架设计

学生计算思维能力的培养并不是一蹴而就的,需要教师在相应教学活动的支持下不断迭代循环,经历计算思维培养的要点,从而实现思维能力的进步。结合图形化编程工具的特点以及其对计算思维发展的作用,将图形化编程中促进学生计算思维发展的教学活动归结为激活基础知识技能、情境问题抽取、分解复杂问题、设计问题解决方案、迭代问题求解算法、迁移与应用、反思总结、复盘思维过程等7 个环节。学生在参与到教学活动中的同时能在教师的帮助下经历计算思维的发展要点,在循环迭代中培养发展其复合思维能力、创造性解决问题能力、反思优化能力以及迁移应用能力,为其计算思维的培养提供支持,具体如图2所示。

图2 面向计算思维发展的图形化编程教学活动框架

1.激活基础知识技能

基础知识技能掌握是学生展开图形化编程学习的基础,包括序列、循环、事件、并行、条件、运算符以及数据等基础编程概念的掌握,也包括13 大类积木块的用法。此时学生对知识概念或积木块的认知多停留在记忆或理解层面,需要教师进一步给予相关学习策略支持,帮助学生更深层次地掌握相关知识技能。

2.情境问题抽取

学生应用知识技能解决问题的过程是计算思维养成的关键。从复杂任务中抽象表征出具体真实的问题是进行问题解决的第一步,在此过程中教师要为学生提供合适的资源与情境,通过言语、行为以及情感上的支持帮助学生从情境中抽离出真实可解决的问题。

3.分解复杂问题

图形化编程教学中的问题均为教师精心设计准备的问题,学生无法直接实现问题解决,因此进一步细化分解复杂问题使学生完成项目作品制作的基础。在此过程中,教师要给学生提供相应的分解支架或任务单,学生在这些学习资源的支持下能够自主或通过寻求教师帮助实现整体复杂问题的化简分解。

4.设计问题解决方案

问题解决方案设计是学生利用可视化工具将其问题解决思路表现出来的过程,学生可以利用纸笔,也可通过思维导图等可视化小工具实现解决方案的设计。在此过程中,学生要在掌握知识技能的基础上,应用知识技能实现算法方案设计,检验其对知识理解与掌握程度。同时,教师要注意观察学生表现,在其遇到问题时及时给予支持,帮助学生形成正确的算法经验。

5.迭代问题求解算法

评估问题解决方案的过程与学生展开编程测试与调试的关系十分密切,学生根据已设计好的方案内容,通过编程积木块搭建实现自动化方案,不仅是检验方案效果的最佳方式,也是学生不断试误迭代完成知识概念新认识的重要部分。在此过程中要注意沟通交流的作用,学生可通过测试修补或与同伴交流分享实现方案的迭代升级优化,促进认知与思维观念的发展。

6.迁移与应用

问题解决强调实现一个问题解决后,要能把相关的经验与想法迁移应用至其他领域,这就要求学生不能仅仅掌握了问题解决的内容,而是要更进一步掌握问题解决的方法。图形化编程教学在完成相关基础案例后,也会提供对应的拓展案例,这就需要学生总结所学过的知识、概念、技能、经验等内容,融合迁移至新问题解决过程中。此过程多为学生自主建构,但是也需要教师给予学生知识概念、技能等言语与情感上的支持。

7.反思总结,复盘思维过程

问题成功解决并不是计算思维培养的最后一步,思维是个体内部知识、思想、经验、方法的综合表征,因此若想促进学生思维发展,必须引导学生展开自我与自我的交互,即自我意识的交互,通过复盘整个问题解决过程,内化所获得的认知、经验、情感等内容,融合成具体的思维能力,生成更高位的观念,并为下一次思维经验迭代打下基础。

五、结语

计算思维作为21世纪数字原住民应对新时代竞争与挑战必不可少的技能之一,从小培养学生的计算思维,将为学生掌握计算机运行原理,适应以计算机为基础的智能生活以及养成科学思维方式打下基础。本研究在探究图形化编程与计算思维关系的基础上,结合图形化编程中计算思维的价值内涵以及图形化编程对计算思维的支持,确定了面向计算思维发展的图形化编程教学活动实施流程,以期为教师合理地利用图形化编程促进学生计算思维的发展做出贡献。

猜你喜欢
图形化积木编程
基于Arduino图形化编程的教学应用研究
堆积木
编程,是一种态度
元征X-431实测:奔驰发动机编程
基于三维软件的智能变电站SCD图形化研究及应用
编程小能手
纺织机上诞生的编程
有趣的积木
Mixly米思齐:优秀的国产创客教育工具
玩积木