小学生计算思维培养的实践研究
2022-05-30肖玉峰
【摘 要】编程本身具有逻辑性、过程性、综合性,是培养学生信息技术核心素养尤其是计算思维的理想载体。基于苏科版小学五年级信息技术教材中Scratch模块的教学内容,结合一线教学实际,不断向深处挖掘、往高处引领,通过问题驱动、项目引领、学科整合等,有效培养小学生的计算思维,最终为学生的信息技术核心素养提升以及未来可持续学习奠定坚实的基础。
【关键词】Scratch编程教学;小学生;计算思维
【中图分类号】G434 【文献标志码】A 【文章编号】1005-6009(2022)52-0077-04
目前,全世界正处于信息化高速发展的浪潮中,信息技术对人类的学习、工作、生活和生产等各个方面起着不可替代的重要作用。信息技术教育在义务教育阶段也显得尤为重要。新课程标准已经明确提出:信息技术课程的学习,不仅仅是为了帮助学生掌握本学科所含的基础知识、基本技能,还要帮助学生形成信息技术学科的核心素养。这里的核心素养主要包括信息意识、计算思维、数字化学习与创新、信息社会责任4个方面。笔者认为,计算思维这一核心素养的形成是最关键、最抽象也是相对较难实施的一点。本文将结合苏科版五年级Scratch编程模块的教学,探索有效培养小学生计算思维的策略。
一、清晰认识计算思维的概念及其价值
早在1980年,美国麻省理工学院西摩·帕尔特教授就在他的著作《头脑风暴》中提出“计算思维”一词。2006年,计算机科学家周以真教授首次对计算思维做出了比较系统的定义,即运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。计算思维不是独立存在的,而是在用计算机工具和计算机科学方法解决问题的过程中,体现出来的数学能力、设计能力、工程能力等多方面能力的集合。[1]可见,计算思维和普遍开展的写作、阅读、审美等技能具有同等的地位,尤其是在信息高速发展、信息化无处不在的新时代,计算思维愈发重要,已经成为人类生存和发展必备的基本技能。[2]提升小学生计算思维有利于培养分析问题、解决问题的能力,有利于激发创新意识和创新能力,有利于提升综合素养,促进学生可持续发展。
二、Scratch编程教学的特点与学生学况分析
Scratch是一款可视化的编程软件,非常适合初步接触编程的学生学习。这款软件将抽象晦涩的编程语言通过直观化的类似积木搭建的方式呈现出来,不需要英语基础,也无须掌握烦琐的程序语言,比较适合初学者。尽管该软件入门简单、易学,但采用模块化的设计思路,包罗众多编程知识点和技能,学生通过一定阶段的学习,能够较为有效地训练逻辑思维能力。
苏科版教材将Scratch模块的教学设置在五年级,应该是充分考虑到学生的年龄认知特点及已有信息技术知识、技能的储备。这一阶段的学生处于思维水平提升的重要时期,他们的思维已经开始由具体向抽象发展,学习新知的积极性较高,计算思维的可塑性较强。[3]经过前两年信息技术基础知识的学习,他们已经初步掌握了中英文打字、文档的编辑、信息的发布与交流等技能,对计算机软硬件系统有了初步认识,平时在学习、生活中接触了大量的信息技术相关应用,对程序有了比较感性的认识。同时,这个年龄段的学生在创造能力、动手能力、协作学习等方面也都具备了学习可视化编程软件的基础。当然在学习编程的过程中,绝大多数学生并不了解什么是计算思维,但是这并不影响他们此项能力的提升,在教师潜移默化的教学过程中,学生的计算思维将随着编程学习过程而逐步提升。
三、在教学中有意识培养学生计算思维的实践
在小学信息技术课程体系中,Scratch编程对培养学生的计算思维具有重要作用。对于一线教师来说,怎樣有意识地利用Scratch编程软件培养学生的计算思维呢?笔者认为可以本着“眼中有学生、心中有目标、教中有方法”的原则,深入教材,贴近学生,突出重难点,打通关键点,具体做法如下。
(一)在问题驱动及求解中提升计算思维
在小学信息技术的学习过程中,问题驱动是学生学习的兴趣源头和动力源泉。学习的目的是解决实际问题,而提出一个有效、有趣、有实际意义的问题恰恰是激发学生求知、探索的最好“引线”。因为基于解决问题的学习可以促使学生迅速调动潜能,积极融入创设的情境中,从而主动尝试分析问题、解决问题。在这个过程中,学生或自己查找书籍资料,或网上搜索,或和同学讨论,或向老师请教,最终他们会在解决问题后获得较强的成功体验。比如,在教学“花朵缤纷”这一内容前,笔者通过大屏展示了春天的公园一角——花园里盛开了颜色各异的鲜花。如此美景一下子就吸引了学生的注意力,然后笔者提出问题:我们可以用Scratch编程软件来绘制吗?如果可以,我们应该怎样实现?同学们不妨打开课本和软件,找找看需要用到哪些工具。学生根据课本提示动手实操,能初步学会“图章”工具以及“随机函数”相关的使用方法。但是课本上的例子具有一定的局限性,主要体现在花朵形状是一致的。于是,笔者让学生进一步思考:怎样才能让满屏的花朵不仅颜色不同,而且造型也尽量丰富。这个问题对学生具有一定的挑战性,但经过笔者的鼓励后,学生能联想到之前学过的“造型切换”的使用方法,他们配合“随机函数”的应用,自主解决了此问题。
这里需要说明的一点是,教师在设计问题驱动时,需要重视问题本身的选择和设计,提出的问题应该尽量避免太难、太偏、太杂。一个良好的问题对学生来说,就是通过一定程度的努力能解决的问题。当然,解决问题的方案不是唯一的,鼓励学生采用多种方法求解才能在一个个问题的驱动和解决中促使学生获得计算思维的有效提升。
(二)在项目设计及完成中提升计算思维
项目式教学基于皮亚杰的建构主义理论,强调学生积极主动参与。在学生初步掌握Scratch的基本操作后,教师可以将Scratch编程模块中的课程提炼拓展为一个个大小不等的实战项目,并对每个项目进行情境的创设、列出所需知识(或技能)清单,引导学生去探索完成项目所需的解决途径,并据此进行程序结构的搭建、程序算法的设计、程序的反复调试和优化等。
比如在学生学会用教材所教方法制作“克隆飞机大战”游戏后,笔者进行深入“挖掘”,让学生思考、讨论:一是课本上介绍的游戏制作方法还存在哪些不足之处;二是如果要让游戏更具可玩性、交互性,应该如何改进;三是在改进游戏的过程中,有哪些是亟须克服的技术难点。小学生普遍对游戏比较感兴趣,在笔者提出问题后,个个主动参与,小组讨论热烈,奇思妙想层出不穷。最后,笔者将学生提出的所需改进之处进行概括总结,列出清单,结合学生的实际认知水平,从中挑选出若干适合他们攻克的“靶向点”,并提供对应的提示帖。一系列铺垫动作后,笔者进一步提出源于课本但高于课本难度的新项目——太空飞机大战,鼓励学生利用课后或节假日去完成。此时,笔者并没有固化任务的具体目标,只是让学生根据提供的游戏改进“靶向点”,自己确定一种游戏的改进方向及最终呈现形式。任务难度可高可低,教师需要提醒学生不要一看到任务就迫不及待地去动手编程,而是先根据自己的项目要求来绘制程序的流程图。此处绘制流程图的过程就是学生计算思维的直观展示过程。在制作过程中,如果遇到技术难点,学生可以在专门的实践项目微信群里提出,教师或者其他学生看到可以及时提供技术支持。最终,在短短的一周内,很多学生完成了本项目。这期间,问题求解、系统设计、对游戏交互的理解等一系列思维活动的活跃展开,极大地促进了学生分析问题、概括要义、提炼信息、构建思维、优化算法等计算思维水平的提升。
需要注意的是,项目有大有小,每个项目都围绕一个主题,包含若干个具体问题。教师要善于引导学生利用所掌握的知识和能力来尝试完成项目任务。由于项目涉及的知识点较多,完成的难度也比单个知识点大,因此教师要鼓励学生学会科学学习,敢于深入探索,乐于与同伴分享和协作,遇到问题学会清晰表达、有效求助,在深入思考、反复实践中逐步完成项目。一个个项目的完成,就是一次次思维火花的碰撞,也是一次次计算思维的提升。
(三)与其他学科有效整合提升计算思维
近年来,随着STEM教育理念的发展和普及,利用跨学科整合教学培养学生的综合能力也越来越受到专家学者的重视。信息技术不仅仅是一门学科,同时也是一项工具、一种能力。在小学阶段,要想培养学生的计算思维,不应该仅仅局限于信息技术本学科领域,而应该有意识地与其他学科有效整合、有机融合,打破学科之间的无形壁垒,[4]形成“信息技術+数学”“信息技术+科学”“信息技术+英语”“信息技术+阅读写作”等新的跨学科教学模式。
以“信息技术+数学”为例,无论是数学还是编程学习,都强调解决问题的逻辑性和思维方式的多样性,两者之间有着较强的联系。因此,在Scratch编程模块的教学中,教师可以将编程与小学数学知识点结合起来开展教学,通过编程的形式来解决数学问题。这里的编程是作为一种工具来辅助数学问题解决的。[5]教学中,笔者会有意识地创设数学情境,引导学生把编程作为工具来求解数学问题。比如在“小猫判断奇偶数”“编程实现地砖铺设”“几何图形我来绘”等项目任务中,教师可以让学生利用Scratch程序设计来求解小学数学相关习题,体会编程和数学两者之间的关联及区别。
除了与数学学科进行整合,笔者还积极创设情境,让编程与其他学科有效整合。学生学完Scratch基本知识和技能后,会选做一系列跨学科的编程项目,比如“颜色冷暖我知道”“智能读书小程序”“我是小小钢琴家”“根据天气来穿衣”等。这些任务有一个共同点,就是贴合学科、适合学生、契合学情。在编程与学科的碰撞中、在一个个编程任务的完成中,学生不断学习、摸索直到最终收获。这些项目的学习使学生在面对新项目或新问题时不再茫然无措,而是能结合相应学科知识利用程序的思路去分析具体问题、拟定对应流程、搭建相应程序。实践证明,编程与学科整合可以有效提高学生的计算思维水平。
综上所述,计算思维无论是对信息技术本身的学习还是对学生今后的终身发展都具有重要作用。因此,在小学Scratch学习阶段,信息技术学科教师应重视对学生进行计算思维的有效培养,在用好、用足教材的基础上,不断向深处挖掘、往高处引领,通过问题驱动、项目引领、学科整合、难点突破、纠错强化等,提升小学生计算思维水平,最终为学生的信息技术核心素养提升以及未来可持续学习奠定坚实的基础。
【参考文献】
[1]孙立会.聚焦思维素养的儿童编程教育:概念、理路与目标[J].中国电化教育,2019(7):22-30.
[2]周佳伟,王祖浩.科学教育中的计算思维:理论框架与课程设计[J].中国电化教育,2018(11):72-78.
[3]王荣良.计算思维对中小学信息技术课程的影响初探[J].中国教育技术装备,2012(27):56-57.
[4]李阳.计算思维导向的跨学科儿童编程教育模式研究——基于芬兰儿童编程教育的经验与启示[J].现代教育技术,2020(6):19-25.
[5]李雨婷.面向计算思维培养的问题解决学习活动设计研究[D].无锡:江南大学,2020.
【作者简介】肖玉峰,江苏省泰兴市鼓楼小学(江苏泰州,225400)信息技术学科教研组长,一级教师,主要研究方向为小学信息技术教学。