张德宇

摘 要:我们生活在一个数字化时代,电脑和手机已经成为孩子们生活中的一部分。除了阅读、写作和算术,现在的孩子需要的不仅仅是使用电子产品,而是学会如何编程。不管他们以后选择的职业是什幺,编程会像阅读和写作一样成为最基本能力之一。在面对复杂问题时,孩子会像计算机科学家一样,把所有的变量因素考虑进去,再逐个分析,直到找到最优的解决方法。未来的趋势是什幺,是大数据,是人工智能,是互联网+,这些领域都涉及编程。

关键词:Scratch;编程教育;创新教育;图形化编程;创造力

随着大数据和人工智能时代的到来,编程已成为人类未来发展必不可缺少的技术之一,科技的发展使得儿童有更多的机会来接触编程。而现有的软件已经无法满足他们,他们希望自己也能创作作品。学习编程不仅对数学和科学知识方面有所帮助,而且对语言、创造力等方面都能起到积极和重要的作用。Scratch作为这十年全世界最流行的儿童编程语言,一直延续着其诞生之初的“辉煌”,并被人们自发带到了世界各大洲——从繁华的纽约到贫困的尼日利亚,都有它的身影。

1 我国及国外儿童编程现状

《中国少儿编程行业研究报告》显示,从大约2013年开始孕育、发展,少儿编程行业刚走过不过7年时间。实际上,编程教育的兴起并非偶然。2017年7月,国务院发布《新一代人工智能发展规划》,提出完善人工智能教育体系,在中小学阶段设置人工智能相关课程,逐步推广编程教育。自从教育部明令取消奥数高考加分之后,2018年初,浙江、上海等地确定把编程作为高考科目正常对待,与理综科目平齐。南京、天津等地则将编程纳入中考特招范围。其实,在起步稍早的一些教育发达国家,编程教育的主阵地被限定在学校内的课堂里。2014年,英国成为世界上首个强制在校少年儿童学习电脑编程知识的国家。2015年,美国提出计划10年普及中小学生编程教育。2019年日本将编程纳入小学必须课程。此后,多个国家相继将编程纳入中小学必修课程。

2 Scratch编程的起源和历史发展

1958年,30岁的西蒙·派珀特(Seymour Papert)在剑桥大学拿到数学博士学位后,孤身来到瑞士日内瓦大学。这位天才24岁就拿到了数学博士学位。派珀特在日内瓦大学的老师是着名的哲学家、儿童心理学家让·皮亚杰。他已经是儿童教育领域享誉全球的大师,他用一生的时间,致力于研究儿童如何形成对世界的认知,旗帜鲜明地提出心理发展是主体与客体相互作用的结果。派珀特大受启发:计算机完全可以对照这些模式和经验,是兼顾玩耍和学习的完美载体。他开始深入思考如何利用计算机、数学去理解和解释学习者的学习与思维。7年之后,派珀特结束了在日内瓦大学的学习,来到美国的MIT。在1968年,派珀特发明了LOGO编程语言。通过这套语言程序,孩子会认识到几行简单的代码可以让屏幕上的光标画一朵花。这个过程就是提出一种假设,然后去验证,再去修正得到新的假设。1985年,派珀特的实验室开始了和乐高集团的长期合作,乐高机器人便是这个时期合作研发出来的明星产品。长期接触导师的LOGO语言,又参与乐高积木的创新研发的雷斯尼克领导的“终身幼儿园团队”开发出了新的图形化编程工具——Scratch,基于图形化的编程方式,通过拖拽、拼搭积木的方式,让整个编程过程更加直观,就像在玩乐高积木。随后,Scratch迅速成为风靡全球的儿童编程语言,其在线平台已经有超过2000万注册用户,被翻译成70余种语言,在150个国家里使用。2016年,有超过1.2亿人次访问了该网站,每月有100万人创建并分享项目。

3 Scratch 编程推动儿童的数学、逻辑、创新思维

Scratch是一款由麻省理工学院(MIT) 设计开发的少儿编程工具。其特点是:使用者可以不认识英文单词,也可以不会使用键盘。构成程序的命令和参数通过积木形状的模块来实现。用鼠标拖动模块到程序编辑栏就可以了。Scratch不是游戏,是一款可以趣味性的编程软件,它以图形化的工具让孩子拖动即可完成编程,程序已经被模块化的包涵在了这些图形当中,让孩子可以制作动画、游戏等,制作完成的动画还可以导出为动画。加强孩子兴趣的持久力。

3.1 数学方面

Scratch 图形化编程,第一技能方向就是数学。我们前面注意到,儿童学少儿编程,首先注意的就是一个或一些角色在舞台上的行动——这其中就包括:坐标系:舞台是一个以中心为原点的直角坐标系,x轴正方向为右,y轴正方向为上。通过(x,y)坐标点,来控制所有角色的位置。事实上,舞台上还有一个隐含的坐标系,通过方向、角度和距离,这是一个极坐标系。上下左右的位置,行动操控都是通过角色的坐标来实现的。数据类型:最常见的是整数和小数,即实数集(在Scratch中所有实数是一个数据类型),另外还有布尔类型(真或假)、字符串类型(一段文本)。数据的比较:也就是数学中三种基本顺序,大于、等于和小于。算术运算:加减乘除是四种基本运算,儿童在编程过程中,常常需要在具体的场景中来运用这四种基本运算。另外还有取模运算和四舍五入。数学函数:在编程过程中,儿童将接触到一些基本的数学函数,包括取绝对值,三角函数,对数函数以及指数函数等。可以非常直观的通过函数图像的自动喵点画图及生活应用来理解它们。几何图形:在编程过程中,一类常见的任务就是图形绘制。儿童将大量接触几何图形,并从坐标系中进行图形绘制和操控。

所以这里面有着大量的数学学科内容,而且,这些内容都在具体的问题和任务场景中出现,既包括基本算术和几何图形知识,也包括函数以及坐标系等中学数学核心概念。通过它们在具体任务中的应用,儿童不仅操控了这个虚拟世界,而且会切身锻炼到、应用到数学知识和能力。

3.2 逻辑方面

编程的基础,既有数学,也有逻辑。逻辑思维能力,是儿童发展的一个基本能力,儿童编程,可能是第一次对儿童正式的、系统的进行逻辑方面的锻炼。

逻辑变量:起点就是逻辑变量或事件的真或假。真或假是逻辑世界的两个基本值。比较逻辑:对于用比较判断的逻辑,是儿童有直接经验并可以学习的基本逻辑判断,大于、等于、小于三种逻辑判断。事件逻辑:其次是事件逻辑,基于事件的判断,也是儿童比较熟悉的。少儿编程用几种基本的事件模式,来生成事件判断语句。在Scratch中都是以“触碰”为核心动作来构建的。逻辑运算:在简单的逻辑推理中,三种基本逻辑运算是最重要的基础。即与逻辑、或逻辑和非逻辑——这三种基本逻辑在少儿编程中大量的使用到。逻辑控制:然后就是一组逻辑控制,包括条件判断、循环控制和等待。这些既是少儿编程的基本逻辑控制语句,也是逻辑思维锻炼的一个基本工具。

所以,在儿童编程中,逻辑思维的训练是一个基本训练,这也是程序设计及计算机科学方向的一个基本核心特征。儿童将在大量的问题解决和任务控制中,形成系统化的有逻辑的解决方案。突出锻炼到儿童的逻辑思维能力。

3.3 设计思维

设计思维是人们提出的对未来社会有重大意义的思维方式,它是一种面向问题解决的、创新的系统思维方法。这也是属于STEM课程方向内少儿编程的优势之一。我们的儿童将学会系统的思维方法来分析、分解问题(需求),并通过综合的资源来解决问题。

基本设计:在Scratch的编程世界中,任何一个问题需求或任务,都需要在背景、角色及行为上进行思考和分解。它们是这款编程工具提供的基本视角和思维框架。角色表达:在角色的行为表达过程中,基本的表达工具是外观图形的控制和声音音乐的控制(Scratch提供21种乐器的模拟)。一个角色的外在行为和表达,无非这些方面。交互逻辑:在事件过程中,背景、角色、行为所组成的一个完整世界中,核心逻辑是通过它们交互来完成的。除了程序所控制的软件层面的交互之外,Scratch还提供丰富指令对计算机外部设备(如鼠标、键盘)以及外部的自动化控制元件的操作能力,这使得少儿编程的解决问题方式,扩展到了硬件层面,扩展到了生活中的自动控制层面。

所以,儿童编程是一个具有丰富资源和场景可能性的学科方向,以驱使儿童深入的、创新的考虑问题的解决方法,并锻炼到儿童的设计思维。随着问题的复杂度,以及儿童问题解决方案的复杂度,和方案中操控设备复杂度的提升,儿童的设计思维能力在不断提升。

4 结语

Scratch编程培养孩子的创造力最大的挑战不在于“培养创造力”,而在于能够营造让创造力生根、发芽、茁壮成长的环境。家长们可以围绕以下五点营造环境:imagine(想象):给出一个想法,让孩子去天马行空;create(创造):通过创造将想象的东西和现实结合起来;play(动手玩):孩子亲自动手使用工具和材料创作项目;share(分享):孩子将完成的项目分享给其他人;eflect(反思):在分享后,对项目的反思和改进。

这五个部分其实就是创新学习螺旋模型。在这个过程中,孩子们会不断产生新的想法,然后开始螺旋学习,不断在想象、创造、玩耍、分享和反思的循环。在螺旋模型的每一次迭代,你都会找到支持孩子们创意学习的新的机会。Scratch的成功,与皮亚杰终其一生研究的儿童成长理论密不可分:对活动和交互的重视、让孩子在玩耍中不断创建和调整心智模式。Scratch编程引领了儿童在编程教育和创新教育的前瞻方向,编程教育推动了创新教育的发展。

参考文献

[1]杨海楠.中小学Scratch编程教学模式文献综述[G].教育现代化,2018年第22期.

[2]赵昱鲲,王婉.终身幼儿园(美)米切尔·雷斯尼克(Mitchel Resnick)[M].第一版.浙江教育出版社,2018年7月.

[3]于欣龙,李泽译.动手玩转Scratch2.0—STEAM创新教育指南(美)Majed Marji(马吉德.马吉)着,[M].第一版.电子工业出版社,2015年10月.

[4]Scratch少儿趣味编程.[日]阿部和广[M].第一版.人民邮电出版社,2014年10月.

[5]动手玩转Scratch 3.0编程:人工智能科创教育指南.(美)Majed Marji(马吉德.马吉)着.[M].第一版.电子工业出版社,2020年1月.

[6]于欣龙,李泽译.动手玩转ScratchJr编程——STEAM创新教育指南(美)Marina Umaschi Bers,Mitchel Resnick着,[M].第一版.电子工业出版社,2020年1月.

[7]张子仪,刘文静,焦宝聪,董黎明.面向逻辑能力培养的编程课程教学设计研究——以Scratch为例[G].软件导刊Software Guide2019年06期.