APP下载

初中计算机课程中Scratch的变量教学初探

2019-06-11谢剑峰

新课程研究·中旬 2019年1期
关键词:计算思维变量

摘   要:在实践计算机课程教学中,Scratch的教学内容由于简单易学,非常适用于初中学生的计算机程序思维培养,尤其应有计划、有目的地还原程序设计语言的“难点”——变量。文章围绕变量教学,结合实际教学经验,对该课程内容的设计过程进行分析探究。

关键词:计算思维;Scratch教学;变量

作者简介:谢剑峰,广东省佛山市顺德区勒流富安初级中学第二党支部委员,工会副主席,研究方向为初中信息技术教育、计算机编程教育。(广东  佛山  528324)

中图分类号:G633.67      文献标识码:A      文章编号:1671-0568(2019)02-0097-02

计算思维是近年来备受关注的话题,在一些欧美国家被誉为现代社会人才所必须具备的能力之一,从而引发众多学者对青少年计算思维教育的思考与研究。由美国麻省理工学院媒体实验室开发的Scratch图形化程序设计语言因其最适合作为培养计算思维的载体,被纳入到初中课程内容中。

Scratch的特点是简单易学,学生可以使用它创作属于自己的动画、游戏、模拟科学实验等,并且能够轻易地将其分享至互联网。在这个过程中,学生能够激发创意,培养计算思维习惯,并且学会团队合作。Scratch适合8~16岁年龄段的青少年教学使用,本文主要针对13岁以上初中学段的Scratch变量教学进行探讨。

一、程序设计语言中的变量

一般来说,用计算机解决一个问题大致需要下列几个步骤:首先要从具体问题抽象出一个适当的数学模型,然后设计一个解此数学模型的算法,最后编出程序,进行测试、调整,直至得到最终解答。简单讲,就是把现实问题转化为数学问题进行解答,这个过程中我们需要处理数据,从而牵扯出一个重要的概念——变量。

相对于Scratch或类似Scratch的图形化程序设计语言,传统程序设计语言的学习基本上无法绕开变量,繁杂的数据类型往往让初学者无从适应。Scratch很好地规避了变量这一难点,在学习的初期,学生几乎不需要接触变量的概念,因为Scratch已经帮我们预装好了很多的积木,我们不需要考虑太多底层的思维就能完成作品。但是如果要培养学生真正具备“像计算机科学家一样思考问题”的习惯,教师就需要有意识地设计教学模式,让学生掌握变量的概念。

二、Scratch的变量

变量是被命名的计算机内存区域,在Scratch中可以通过“数据”脚本区的“新建变量”积木来创建变量。Scratch支持的数据类型包括布尔型、数字型和字符串型,但是在变量的创建过程中并不需要指定数据类型。那么Scratch是如何判断变量的数据类型的呢?答案很简单,Scratch也不知道,因为Scratch会根据上下文自动转换数据类型,这无疑大大降低了变量的学习難度。

例如,Scratch变量类型识别过程是通过“新建变量”积木创建了全局变量“ex”,并将其设定为“适用于所有角色”,通过“将……设定为……”积木进行数据类型的区别。当我们将ex设定为10时,数据类型为数字型;将ex设定为Scratch时,数据类型为字符串型;将ex设定为“10>5”(使用“运算符”脚本区的“>”积木)时,数据类型为布尔型,值为“true”。

三、关于Scratch的变量教学探究

在开展Scratch教学的过程中,笔者发现其中关于变量的概念是被淡化的,这对于单纯地开展Scratch教学来说无疑是好事,因为这让学生学得更容易。但是对于培养学生的计算思维却是不利的,编程从来不该是一件容易的事情。笔者对Scratch变量的教学始终贯穿于整个课程的学习,现对一些教学过程设计进行梳理。

1. 基础教学——计分。计分属于一般游戏的常见项目,所以在初期的学习中学生就有机会接触到。在这一阶段的学习中,一般不会太过强调变量的概念与重要地位,在教学上只是以一般的积木功能来对待它:在制作好一个小游戏后,要求学生在其中添加计分项目,以便直观地感受计分项目所带来的游戏感的提升。很明显,一个小小的计分显示让游戏的竞争感大大地加强了。如图1所示,即在“猫咪收集礼物”游戏中增加计分项目,完成变量的创建、命名、初始化及变量值的变化教学。

2. 理解教学——布尔型变量。当Scratch教学进入中期,学生已能较为熟练地掌握、使用Scratch,这是学生从理论进入实践去掌握变量的好时机,可以开始学习如何进行程序设计,如将大程序模块化,使其拥有清晰的逻辑结构。在学习程序设计(算法)的过程中,数据处理出现的频率明显增多,但是由于Scratch自带非常完善的功能积木,学生可能无法明显体会到教师反复强调的变量的作用与重要性,教师应该有意识地提及程序中出现的布尔型变量及其作用。例如,图1中的“如果‘碰到Sprite1,那么……”积木组合,其中“碰到Sprite1”积木就返回布尔型变量“true”或者“false”,类似的功能积木还有很多,且都以六边形外框出现。同时,布尔型变量相对应的是分支结构,因此,明确布尔型变量的使用,可以加深学生对分支结构的理解。

3. 强化教学——学习变量的原始用法。Scratch已经将很多相对复杂且使用频率较高的程序指令集合制作成相应的功能积木块,且其作为一款开源软件,开发团队支持和鼓励使用者对Scratch进行修改和完善,这意味着Scratch的学习将会变得越来越简单。但是在Scratch教学的后期,建议鼓励学生以“多走弯路”的方式去完成作品,因为很多数据的获取不是直接调用现有的功能积木,而是自行通过变量进行加工、计算或传输。例如,在“坦克对战”游戏制作教学中,如果要设置子弹方向与坦克方向一致,以Scratch的方法制作,只需要在子弹角色使用“侦测”模块中的“‘方向of‘坦克”就可完成对子弹方向的控制了(如图2)。但是如果我们假设没有这个功能积木,那要怎么完成这个功能呢?我们可以通过在坦克角色设置全局变量direction,并在控制坦克方向的积木组合中对变量direction进行值的设置即可(如图3)。

如果仅考虑Scratch教学,是可以不需要进行这部分教学设计的,但是作为新时代的初中生,应该有能力、有必要进行更复杂的程序设计学习,这也是对学生计算思维的一种培养。

四、结束语

计算思维是每个学生都应该具备的基本技能,它不仅仅只属于计算机科学家。我们应当培养每个孩子的解析能力,让他们不仅掌握阅读、写作和算术,还能拥有计算思维。计算机科学是计算的学问——什么是可计算的?怎样去计算?数据是计算的基础,而变量则是数据的载体,变量之于程序设计的地位不言而喻。所以,通过一段时间的Scratch教学实践与研究,笔者认为,在初中阶段的Scratch教学中额外补充“变量”这一概念是非常必要的。当然,对于Scratch的教学,笔者仍处于摸索阶段,由衷希望能与各位同行互相学习交流、共同进步。

参考文献:

[1] 陈国良,董荣胜.计算思维的表述体系[J].中国大学教育,2013,(12):22-26.

[2] 严蔚敏,吴伟民.数据结构[M].北京:清华大学出版社,2000.1-1.

[3] (美)Majed Marji.动手玩转Scratch2.0编程[M].于欣龙,李泽,译,北京:电子工业出版社,2016.

[4] 赵兰兰.运用Scratch软件培养中学生计算思维的研究[D].上海:上海师范大学,2013.

责任编辑   袁静琴

猜你喜欢

计算思维变量
多变量恒成立,多角度有妙解
例谈双变量不等式解决策略
基于计算思维的软件类研究生高级算法课程教学研究
基于计算思维程序设计的军事案例研究
程序设计课程中计算思维和应用能力培养问题研究
民族高校C语言程序设计课程教学改革的研究
算法的案例教学探析
浅谈艺术专业学生计算思维能力的培养
分离变量法:常见的通性通法
不可忽视变量的离散与连续