图形化编程教学设计
2023-05-30吴欣妍
吴欣妍
〔摘 要〕 为了让学生更好地适应数字时代的飞速发展,信息技术课更名为信息科技课,算法、数据编码等内容进入课程内容,在这之前图形化编程已经进入小学五年级的课本。“双减”政策出台后,1~2年级也开始了社团课程。为了更好地衔接信息教学、发展学生计算思维,我们在1~2年级社团中开展了Scratch编程教学,在5~6年级社团开展了乐高机器人活动。本文结合不同年级的图形化编程教学,谈一谈如何在图形化编程教学中培养学生的计算思维。
〔关键词〕 信息科技;计算思维;图形化编程;教学实践
〔中图分类号〕 G424 〔文献标识码〕 A 〔文章编号〕 1674-6317 (2023) 12-0052-03
随着计算机的逐渐普及与互联网的迅速发展,人类不知不觉走进了信息数字化的新时代。而信息化的发展也推动了教育的不断发展。在小学信息科技学科教学中开展图形化编程教学,对培养学生的计算思维起到重要的促进作用。实践证明:以培养计算思维为导向实施图形化编程教学,切实可行。因此,在“双减”背景下如何在小学信息科技图形化编程教学中培养学生的计算思维,如何培养学生的信息科技学科核心素养,是教师值得研究的重要课题,也是此学科教学探究的重要内容。当然,学生的计算思维培养是一个长期的过程,并不是几节课就可以形成的,我们应在教学中不断渗透,不断引导,不断培养,从而有效实现学科教学目标。
一、概念界定与理论基础
(一)“双减”之后
為了落实“双减”政策,学校进一步优化作业质量,减轻学生作业负担,提升学校课后服务水平,满足学生多样化需求。学校每天给每个班级开展一节社团活动,作为一线教师,笔者也承担了相应的社团活动,也正是在这个背景下,我作为一名小学信息科技教师开始接触1~2年级的信息科技教学。笔者经过一系列的调查研究,决定在1~2年级开展入门门槛低、学生容易上手的Scratch图形化编程教学。
(二)计算思维
2022年版《义务教育信息科技课程标准》再次明确,信息科技课程的目标要围绕核心素养,体现课程性质,反映课程理念。计算思维作为信息科技学科核心素养之一,也有了明确的内涵解读。而计算思维,实际上就是人人都应具备的一种基本技能。课标指出,计算思维是指个体运用计算机科学领域的思想方法,在问题解决过程中涉及的抽象、分解、建模、算法设计等思维活动。笔者在图形化编程中创设问题情境,引导学生进行抽象、分解、建模,并通过算法设计来解决问题,能尝试模拟、仿真、验证解决问题的过程,反思、优化解决问题的方案。
(三)图形化编程
图形化编程一般指专为小学生编程开发的积木式程序设计语言,它以形象直观的积木指令帮助学生在创作中学习编程,表达自己的想法。在本文的教学实践中,笔者以简单的图形化编程软件Scratch在1~2年级的教学和接入硬件设备的图形化编程软件LEGO MINDSTORMS Education EV3在5~6年级的教学为例,探讨培养学生计算思维的图形化编程教学。
二、1~2年级图形化编程教学设计与分析
1~2年级图形化编程,主要是开展Scratch编程教学,通过形象直观的积木指令帮助学生在创作中学习编程,降低学生的学习难度,提高他们学习信息科技的兴趣,激发他们学习的热情和信心。为此,笔者以简单的图形化编程软件Scratch在1~2年级实施教学,不仅完成教学目标,还取得了良好的教学效果。
(一)游戏设计切入,逻辑推理,设计脚本
1~2年级学生注意力难以集中,贪玩好动。让学生先试玩游戏,激发学生的学习兴趣,再引导学生去思考游戏背后的原理,学会站在开发者角度去思考问题。在教学中,游戏的试玩有效调动了学生的兴趣,引发学生思考游戏的趣味性与游戏规则设计的关系。在分析设计游戏中,我引导学生思考:角色的变化是怎样的?大概哪些指令可以使角色出现这些变化?这些指令组合后,我们的角色可以实现这些对应的变化吗?会出现其他的可能吗?如果有其他可能,通过怎样的脚本完善可以解决这些意外情况?学生在学习中,不断地思考预判,将游戏设计得更加严谨,尽可能地减少游戏漏洞,从而实现有目标的学习。
(二)分解任务,将复杂的游戏变化分解为局部的具体指令设计
学生要思考游戏的整体呈现效果,而整体的效果不可能一步到位,需要各个角色的协调。我主要引导学生运用计算思维中的分解,学会从一个整体的游戏或动画,找到其运行的本质。我们知道,任何游戏都是通过角色的运动和背景的变化来完成的。这些运动可以是独立地按照时间的变化或者角色本身的变化出现,也可以是因为别的角色影响而导致的变化。看似复杂的游戏必然由角色和背景组成,学生通过分解分析后,将这个看似难以完成制作的游戏分解成角色的导入、脚本控制角色移动、判断控制角色变化这些简单的程序设计,将大问题分解为小问题,然后综合运用所学知识去一一解决问题。
(三)算法,找出规律,让程序帮助完成烦琐的工作
在程序编写学习中,最常用的就是重复执行,就是用计算思维中的算法,去甄别并描述规律,让程序来重复这个规律。在游戏设计中有些NPC会有很多重复单一的动作,如果用简单的顺序结构,脚本的搭建是无穷无尽的。但找出规律后我们发现,这些脚本都是一样的,我们可以用不断重复执行,让程序来帮助我们完成这个操作。
(四)抽象,排除非主要因素,抓住核心去解决问题
在Scratch程序设计中,有些角色是需要通过画笔模块创作的,而学生在思考设计中会陷入思路瓶颈。其实通过计算思维中的抽象去抓住问题核心,排除其他干扰因素,我们会发现,有些角色只是通过画笔落笔、抬笔、清空就可以完成我们设想的变化。在复杂的变化中排除其他角色变化的影响,单纯思考局部的变化与Scratch中指令可能实现的效果,抓住核心问题去解决。
三、5~6年级图形化编程教学设计与分析
在5~6年级的图形化编程中,开始接入硬件的使用,编程的主要目的是让接入的硬件设备可以发挥它们的具体功能,以完成实际情境中的任务。笔者以经典的搬运任务分析接入硬件设备的图形化编程教学实践,以此有效提升信息科技学科的教学效率与学生的核心素养。
(一)分解搬运任务,细化机器人运动
机器人经典的搬运任务是将在引导线上的物体搬运到指定的位置。从人类的角度看来比较简单的任务,放到机器人身上,是比较困难的。人类完成搬运需要调动自己的四肢,移动抓取,还需要调动自己的感官判断搬运放置的位置。把人类的动作转移到机器人身上来进行细化,帮助学生分解复杂的搬运任务。
移动可以用机器人结构上有动力带动的轮胎来解决,抓取可以用能够用动力控制开合的夹子来解决。那么人类感官的判断呢?这里需要使用可以感知外部环境的传感器来解决。
(二)提炼核心问题,规划设计程序块
在细化机器人运动之后,笔者带领学生为这些运动设计程序。无论是抓取还是移动对于搬运任务来说都不是一次就可以完成的,但是实现这些动作的指令是类似的。程序是代替人类发出机器可以接收的指令,让机器可以完成有规律的运动,如果程序搭建过于碎片化,一个指令一个指令地发出,就不能实现让机器人完成搬运任务的初始目的。
提炼出核心的指令,让程序自动执行烦琐的指令,是我们设计程序的初衷。而在目前我們使用的大多数图形化编程软件都给了我们自定义设计程序的模块,我们可以用已有的程序指令组合形成一个复杂的程序块指令。学生可以将搬运任务分解为巡线走、拐弯、抓取、放下这四种常见的程序块指令。如果地形图较为复杂,巡线走还可以细分为直线巡线走、曲线巡线走、大弯巡线走。规划设计合适的程序块可以有效地减轻程序编写负担以及程序指令冗余造成的程序卡顿。
(三)设计算法,调用程序块完成任务
根据具体任务,设计合适的算法,调用已经设计好的程序块,解决问题。结合搬运任务,可以设计以下算法:收起夹子→前进→拐弯→抓取物品→收起夹子→拐弯→前进→放下物品。
在算法设计中,引导学生找出解决问题的方法,让学生在生活中能够有意识地使用简单算法,利用计算机实现问题的自动化求解,能有意识地总结解决问题的方法,并将其迁移到其他问题求解中。
四、图形化编程教学的体会
5~6年级图形化编程教学,笔者开展了三年,在教学实践中不断地摸索。任务驱动式的教学比较适合5~6年级教学,5~6年级的学生正处于逻辑思维逐渐形成的重要阶段,从原来的形象思维为主向逻辑思维为主过渡。他们对于复杂的编程算法接受度较高,也更容易学习理解和应用。
1~2年级图形化编程教学,在“双减”背景下,笔者开展了一年。学生的信息基础以及思维发展的特点,是教学中的主要困难。在教学中,笔者也在尝试探索设计出更适合他们思维发展规律的课程内容,让学生能够更好地了解算法,对程序设计的过程有初步的概念,也更好地为学生计算思维的养成做好铺垫。让学生在学习中,掌握信息处理的基本过程与方法,体验过程与控制的场景,验证解决问题的过程,初步具备运用信息科技解决问题的能力,有效发展学生的计算思维,从而实现课程目标。
总之,随着当代信息科技的不断推进,信息科技课程越来越受到社会的广泛关注和重视。在小学信息科技图形化编程教学中,计算思维已成为培养学生信息科技学科核心素养的重要组成部分。尤其在“双减”背景下,作为一线教师,应在学生掌握“双基”的基础上,通过合理规划,让学生有效运用课余时间,引导他们用信息科技学科思维去分析问题、解决问题,使他们更好地自主学习,完成学习目标。在教学中,在1~2年级社团中开展Scratch编程教学,在5~6年级社团中建立乐高机器人社团。同时教师也应致力学生计算思维的培养,善于发现、挖掘学科教学中的计算思维,高度重视小学信息科技课程中图形化编程教学的探索和实践,进一步提高小学信息科技课堂教学效率,从而推动此课程的持续发展,为培养新时代的新型人才做出应有的贡献。
参考文献
[1]何莉娜.多学科知识相融合:图形化编程显魅力:贵阳市实验小学图形化编程的跨学科实践探索[J].新课程导学,2022(24):61-64.
[2]邹卫华.基于图形化编程的小学生高阶思维培养策略[J].中国信息技术教育.2022(6):50-52.
[3]张晓宁.基于简易图形化编程工具的小学信息科技教学模式探究[J].中国多媒体与网络教学学报(电子版),2020(36):76,80.
[4]庞洪赢.林敬敬.融合与创新:图形化编程中项目主题确立的三种途径[J].中国信息技术教育,2021(19):52-53.
[5]胡文俊.浅谈简易图形化编程工具在小学信息科技课堂上的创新探索[J].求知导刊,2020(43):41-42