面向小学生计算思维培养的可视化编程项目式教学
作者:董洪艳 史明会
来源:《中国信息技术教育》2022年第11期
        摘要:计算思维是小学信息技术课程核心素养的核心内容,在该课程实施过程中,需要创设培养计算思维的良好情境。本文以可视化编程平台为基础,结合PBL模式下的教学实践案例,阐述如何在教学过程中培养和提升学生的计算思维。
        关键词:计算思维;小学;PBL
        中图分类号:G434 文献标识码:A 论文编号:1674-2117(2022)11-0031-03
        计算思维是个体运用计算机科学领域的思想方法,在形成问题解决方案的过程中产生的一系列思维活动。目前,在小学阶段培养计算思维主要是借助可视化编程工具,采用编程教学进行计算思维的外化表征。但在教学实践中笔者发现,在传统的教学模式下,学生倾向于编程知识的学习和游戏进阶的闯关,随着难度的递增,学习兴趣和对优化解决方案的诉求逐渐减弱,从长远看,不利于计算思维的培养。因此,笔者尝试基于PBL模式设计创意项目,结合机器人、无人机等外设,模拟完成项目中所需要的角和动作,以此来巩固编程知识,同时达到培养计算思维的目的。
        ● 构建项目内容,培养计算思维
        一个真实的、有挑战性的驱动问题,更能激发学生的创造力。学生首先结合日常生活,寻想要解决的问题,在确定驱动问题的过程中,通过判断问题解决的可行性和迫切性,增加团队成员对驱动问题的认可度。在解决问题过程中,笔者引导学生以“算法”的思维方式来思考问题,将大的问题抽象分解成许多小的问题,直到小的问题能够自动化解决。在解决问题时,按功能顺序排列来实现,最终为问题的解决提出一个方案。学生需要在真实情境中分析各角的任务分工,如何相互配合,最终完成任务,教师重点对学生的思维进行诱导、指引和总结归纳。
        笔者将计算思维的五个维度作为核心培养内容,构建了基于PBL模式的计算思维培养模式(如下页图)。该模型是由基于PBL模式的教学实践循环圈和计算思维核心能力实践循环圈组成。通过构建项目内容,解决生活中的现实问题,将项目情境和实际问题相结合。
        ● 数据调查,确定驱动问题
        学生通过关注新闻、数据调查等方式,了解到每年暑假总会发生溺水事故,而错误的救援方式往往是导致悲剧的原因之一。有没有办法预防溺水?或在有人遇险时怎样及时采
小学创意编程学什么取正确的救援方式?基于这一真实问题,学生提出尝试利用智能机器人解决问题,并最终确定小组的项目主题——海边救援。教师通过播放溺水新闻视频和救援视频,引导学生分析救援任务,进行人员分工。
        结合PBL培养计算思维的模式,在确定驱动问题的过程中,学生通过语言描述和模拟道具等方式,实现场景再现,并合作探究尝试编写程序,计算思维开始进入萌芽阶段。
        ● 设计方案,认领任务
        學生在设计方案时,通过头脑风暴,将能够想到的项目内容全部记录并筛选。最终得出以下解决方案:无人机在空中全方位观测,根据海面上人数的突发性变化来判断险情;通过悬停在被救人员上方,来定位救援位置。学生将海滩场景分为黄海滩(安全区)、蓝深海(危险区),便于EV3机器人巡线开展救援,用编程控制机器人扮演遇险者(如下表)。学生在讨论中,已经呈现了计算思维的初步应用。
        ● 问题抽象,算法实现
        抽象是指将与问题无关的特征和模式去除,只留下相关核心的属性,直到确定一个共
性的问题或建立解决这类问题的模式。在海边救援项目实施中,EV3机器人搜救是整个项目最核心的部分,也是最难的部分。笔者引导学生将具体的问题转换成抽象的算法,将算法转化成流程图在组内讨论,最后由流程图转换程序指令,强化算法的分析,用程序设计解决实际问题,整个过程,学生经历了三次抽象。在具体实施过程中,学生很自然地将任务分解、细化。整个搜救的技术任务分为搜索、移动、抓取三部分,而搜索部分的重点在于器材选择和搜索算法。
        (1)在器材方面,用可视化编程语言来控制机器人扮演遇险者,用无人机来定位,用EV3搭建救援机器人。在整个项目中,救援机器人是重点,学生考虑了两个问题:第一,现实中海滩会有凸凹不平的路况,因此救援机器人摒弃了常用的轮胎结构,采用履带式结构。第二,选择什么传感器进行移动探测?如何实现反复巡视的效果?学生提出两种方案,采用超声波传感器或灰度传感器,在尝试灰度传感器时,发现在机器人沿线(如黑线)行走时,是根据黑白灰度值来判断机器人是否行走在线上。由于轨迹线的颜不是绝对均匀,机器人在行走的过程中行进路线经常有偏差,不稳定,因此,最终采用了超声波传感器。
        (2)在搜索算法方面,在搭建搜索机器人时,超声波传感器是机器人的眼睛,指向前方,如果需要在横向巡逻的时候搜索海面,就必须让机器人按照一定的频率转向海面方向,但这会造成代码较复杂,缺乏效率。经过讨论和测试,学生决定在机器人的头部和右侧各安装一部超声波传感器,通过侧向传感器判断是否存在“遇险人员”,发现目标之后再转身,通过正向超声波确定救援的移动方向。并且,在移动的过程中,在通过减少电机转动角度降低移动速度的同时,用循环语句不断对正向超声波返回的数值进行比对,确定目标的精确位置。然后根据精确位置和距离读数,调整搜救机器人的正面朝向和移动方向,以此确保机械臂可以朝向并接触目标,利用机器臂来完成救援工作。学生在具体分析程序时,巩固了之前所学习的函数、循环、条件判断等编程概念,计算思维开始进入发展阶段。
        ● 迭代思维,解决问题
        在完成项目中的救援抓取任务时,学生发现机械抓手对准被救人员是难点,而在执行救援任务时,被救人员是否在抓取的有效范围内,也是完成救援任务的关键。为了控制难度,保护学生的创造力,笔者引导学生在程序设计上运用了一个循环语句反复检测与被救
人员的距离,当正向超声波传感器返回读数小于设定值时停止前进。在使用循环语句确保持续探测的同时,还要考虑电机转速和转动角度对应的移动距离,每次循环都会重新探测机器人和被救人员的距离,并且与所设置的条件数据进行比对,以确定是否达到最佳位置,是否要停止当前动作转而执行下一动作。这个过程体现了程序设计的迭代思维,计算思维进入深入阶段。
        ● 评价反馈,分享成果
        在整个实践过程中,笔者鼓励组间相互交流、分享策略,在进行过程性评价时,鼓励组内学生自我评估。除了对程序功能是否完成做出评价外,笔者更注重对学生的语言表达、沟通合作、算法思维等多方面进行评价,进而实现计算思维的培养。在小组展示的过程中,所有学生再次进行头脑风暴,在质疑的同时,不断纠错调试,最终形成解决方案。同时,学生的学习目的明确,过程有趣,自主学习热情高涨,整体参与度高,计算思维开始进入巩固阶段。
        ● 结束语
        计算思维教育的目的是希望学生在分析和解决问题的过程中,能够在众多信息中明确核心问题,将具体问题抽象成算法,让计算机根据算法程序自动化执行。因此,在项目实施过程中,教师的角需要从知识的传递者变成引导者,让学生学会用编程解决生活中的实际问题,提高团队协作、沟通表达、批判性思维、创新创造能力。
        但是,在项目实施过程中仍然有很多需要反思的地方。PBL模式是以团队组建为基础的,团队的组建和分工合作不是一步到位的,需要贯穿学生学习的整个过程。成员的搭配要综合考虑互补或进阶。项目式教学在评价环节,根据学生展示的作品来诊断学生的学习效果,而互补性团队的项目呈现外显效果往往没有进阶型团队的成熟。为了增强外显效果,学生往往需要利用大量的课后时间,花费精力去不断调试和和组建机器人,这同时也对学生和教师的综合能力提出了更高的要求。针对这些问题,笔者后续将进一步探索和优化。
        基金项目:合肥市教育信息技术研究课题“基于Swift Playgrounds培养小学生计算思维的实践研究”(课题号:HDJ21015)。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。