APP下载

在Scratch教学中培养小学生的计算思维

2020-12-24陈桂华

中国教育技术装备 2020年9期
关键词:任务驱动法计算思维程序设计

陈桂华

摘  要 分析小学生计算思维培养存在的问题,论述Scratch软件的优势,结合自身教学经验,提出在Scratch教学中培养小学生计算思维的策略,以期为一线教学提供借鉴和参考。

关键词 计算思维;Scratch;程序设计;信息技术;微课;任务驱动法

中图分类号:G623.58    文献标识码:B

文章编号:1671-489X(2020)09-0081-02

1 前言

2006年,美国周以真教授提出计算思维的概念(Compu-

tational Thinking)。周以真教授认为:计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动[1]。计算思维是人的思维,是人求解问题的一条途径,是人们思考如何利用计算机来解决问题时所采用的方法和所选择的过程[2]。

程序设计是理解计算思维的主要途径,计算思维体现了程序设计课程的内在价值。Scratch软件在培养计算思维方面有着自己的优势。笔者结合教学经验,在Scratch教学中通过“提出问题—分析问题—解决问题”来培养学生的计算思维。

2 小学生计算思维培养存在的问题

大多数信息技术教师在教学中传授的内容是常见的工具软件,比如Word、绘图软件、Flash软件等,这些教学内容大多是了解和熟悉工具软件的基本操作和应用,不适合用来培养学生的计算思维。除此之外,教材内容相对枯燥无趣,教学内容缺乏吸引力。因此,学生学习兴趣不浓厚,不喜欢上信息技术课,导致课堂参与度不高,创新意识薄弱。

而程序设计教学则是以LOGO、C语言等较为复杂的编程语言作为教学内容,需要对编程语法有较深的认识。由于大部分小学生的信息技术水平不高,因此,学生在学习编程时对程序结构的理解和吸收存在一定的困难。信息技术教师也不是专业的编程人员,其在学习LOGO、C语言时也存在或多或少的困难。教师通常以编程语法学习为重点,大多数教师是基于自身教学经验和对程序语言的认识照本宣科地进行程序设计教学[3]。

以上这些问题都不利于学生计算思维的培养,不利于培养学生解决问题和逻辑思维的能力。随着中小学信息技术核心素养的提出,如何在程序设计教学中有效培养学生的计算思维,成为信息技术教师亟待解决的课题。

3 Scratch软件的优势

Scratch是一种可视化编程语言,充分体现了算法思维,它的界面和功能使编程对学习者来说更有吸引力而且易学。它不需要复杂的编程语言,画面直观生动,只需要像乐高积木那样拖动程序块进行拼搭与组合。同时具备多媒体导入功能,学生自然会被吸引其中,大大激发学习的兴趣。在学习中,学生通过激发自己的想象力,轻松设计自己的创意作品。小学生的思维中感性经验占绝大部分,Scratch软件编程方式为图形化,为学生思维从具体到抽象提供了便利。因此,它非常适合小学阶段学习使用,学生容易上手,创作方便,为培养小学生计算思维提供空间与途径。

Scratch软件是一款儿童编程软件,是一款面向对象的软件,对教师的专业水平要求并不是很高,教师上手快。Scratch软件有利于培养学生解决问题和逻辑思维的能力,有利于培养学生的计算思维能力。

4 在Scratch教学中培养小学生的计算思维

计算思维是学生需掌握的基本技能之一。如今,研究者意识到每个学生不仅要掌握阅读、写作和算术(Reading, Writing, and Arithmetic,3R),还要掌握一种技能,那就是用计算思维去解决问题[4]。在信息技术学科改革的大背景下,计算思维作为中小学生信息技术核心素养要素之一,教师应该如何培养学生的计算思维呢?答案不仅只是通过一个图形化的编程工具,教师要吃透Scratch软件,提高信息技术素养,不断创新课堂教学方式,在小学课堂中发挥主导作用,努力为学生搭建良好的学习环境,这样才能更好地培养学生的计算思维。

创设情境,提出问题,引导学生积极思考  在教学中为何提倡创设一个情境呢?因为创设情境有利于学生将具体问题转化为抽象问题,激发学生的探索欲望,真实情境更有利于学生构建框架。教师需在教学内容基础上进行适当的添加或者修改,结合对学生的了解情况和对教学内容的理解,创设激发学生学习的情境,在教学情境中让学生自己主动提出问题,引导学生对问题进行思考,有利于培养学生的计算思维,从而实现教学目标。

例如,笔者执教“造型的切换和重复执行指令”这一课时,首先创设教学情境,出示日常生活中比较火的小黄鸭跳舞的表情包。表情包是如何制作的?学生对此非常感兴趣。这时,笔者提出问题:对于小黄鸭跳舞的这一动画效果,你想知道什么?你可以提出什么问题呢?

学生1回答:我想知道小黄鸭是怎样运动的?

学生2回答:这个小黄鸭是不断在重复动作,这一重复是用什么指令呢?

……

在观察、主动提出问题这一过程中,学生的思维是活跃的,由被动学习转化为主动学习。问题一个一个地提出,有利于学生从具体的情境转化为抽象的问题,从而提高学生的思维能力。

分析问题,程序设计,启发学生的计算思维  分析问题前,需要把一个看起来困难的问题分解成一个一个小问题,这是计算思维中分解的概念。教师要做的是引导學生分析这些小问题,理清编程的思路,对重难点进行突破,并找到解决问题的关键语句和指令。

1)角色和造型之间的关系是怎样的?学生1回答:那需要好多个小黄鸭,它们的舞姿各不相同。学生2回答:这个动画一直不断地重复跳舞的几个动作,实际上只有一个角色。当学生的回答越来越接近答案时,教师进一步让学生理解在动画中角色只有一个,动作不同是由于造型的设计不同,造型可以有无数个。教师可请一位学生上台模拟小黄鸭跳舞的动作,学生通过真实的情境很快就理解了小黄鸭这一角色只有一个,动作不同则是它的造型设计不同,学生看到的动画是不断重复切换的造型。

2)如何设置角色的造型切换?小黄鸭跳舞的造型非常多,如何将造型导入?在切换造型的过程中,需要用到什么指令?造型的切换需不需要停留一段时间?需要添加什么指令呢?这时,教师引出造型切换的指令这一新授知识,并让学生理解“切换到造型.....”这一指令也可以用“下一个造型”这一指令代替,引导学生思考两个指令的相同点和不同点,哪个程序指令更为优化?在问题分析中,学生通过不同的算法来解决造型切换的问题,所呈现出来的脚本设计会不同,效果也会有所不同。这样,在问题分析以及思考的过程中体现了算法。

3)如何控制小黄鸭的跳舞圈数呢?一个旋转模块只能旋转一定的角度,那么如何控制小黄鸭跳舞的圈数呢?这时,教师引出循环结构,通过重复执行指令语句,可以将旋转的次数和角度重复多次。最后,教师和学生通过分析,运用思维导图的形式将动画如何实现的过程展示出来,无疑是帮助学生更好地从抽象转为具体的学习过程,同时启发学生的计算思维,达到训练计算思维的目的。

解决问题,分析典型错误,运用计算思维再创造  在教师设定的多个任务的引导下,学生能自主地解决实际问题。实现这一过程,除了采用任务驱动法进行教学外,还应当发挥学生的主观能动性,借助微课视频,引导学生自主学习。如在“造型的切换和重复执行”这一课中,笔者事先准备了相关的微课资源以及学习资料包,为学生提供多样化的学习方式。通过设计脚本,在解决问题的过程中有效提高学生的计算思维。

另外,在这一过程中,学生可能会遇到无法调试成功的问题。比如有的学生在设置小黄鸭的造型时,没有将每个造型设置为造型的中心点,导致角色在跳舞的过程中出现闪跳或者卡顿。当笔者发现大部分学生都出现这个问题时,及时对这个典型的错误进行讲解,让其他学生帮忙找一找程序中出现的错误。有个别学生就会发现需要将每个造型设置为造型的中心点,最终达到预期的目标及效果,提高学生整体纠错能力。

Scratch教学的目的在于教会学生再创造,在培养学生计算思维的同时,提高学生的创造力。比如在小黄鸭跳舞这一课中,学生在掌握了造型的切换之后,在运用過程中会有更多的创意和想法,有的学生会对造型进行修改,添加一些新的元素在造型里;有的学生则给造型添加一些特效,比如马赛克或者颜色的变化;也有的学生在切换造型的同时还增加了一些对话情境。

学生在进行作品再创造时,仍然可能会出现调试失败、程序错误的情况,这时教师应该引导学生继续思考如何解决问题。比如发现当再次点击开始按钮时,角色的造型并没有呈现最开始的静止造型,教师引导学生思考,学生积极思考。

教师继续引导学生发散思维:你还可以用造型设计出什么小动画呢?积极思考后,有的学生回答:我之前看过川剧变脸,觉得可以用造型的切换来达到变脸的效果。有的学生回答:这让我想起了孙悟空三打白骨精的片段,利用造型可以设计出三打白骨精的效果。在教师的引导下,学生的创新思维得到提升,总结方法并学以致用,这无疑也是在培养学生的计算思维。

5 结语

总之,Scratch编程教学不应该单纯地以教学语法、算法为主。作为一线教师,要与时俱进,及时转变教学理念,在Scratch教学中注重培养学生的计算思维,帮助学生分析问题,提高解决问题的能力。

参考文献

[1]张松.建模与解模:探寻培养小学生计算思维的密码:以小学Scratch编程课为例[J].中小学信息技术教育,2019(5):86-88.

[2]王苏明.看得见的“计算思维”:以《有趣的概率》一课为例[J].中国信息技术教育,2018(22):37-40.

[3]章伟.在小学Scratch教学中培养学生的计算思维[J].教师教育论坛,2018,31(6):91.

[4]陈强华.让“计算思维”的种子在Scratch教学中发芽[J].小学教学研究,2019(28):59-61.

猜你喜欢

任务驱动法计算思维程序设计
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
高职高专院校C语言程序设计教学改革探索
胶囊剂的制备课程教学设计
物流运输管理课程教学改革探讨
任务驱动法在土木工程测量教学中的应用
程序设计课程中计算思维和应用能力培养问题研究
民族高校C语言程序设计课程教学改革的研究
算法的案例教学探析
浅谈艺术专业学生计算思维能力的培养