Scratch 是如何成为最受儿童欢迎的编程软件的?
一、Scratch是什么?
Scratch是由麻省理工学院媒体实验室Lifelong Kindergarten Group免费开发的图形化编程语言软件。面向对象主要是8-16岁的孩子,通过将编写好的代码模块以“块状”的形式呈现在操作界面中让使用者对不同的代码块进行移动与结合从而实现控制脚本对象行动的目标,极大地方便了使用者去发挥自己的创意创新能力,也利于他们去创作出能展示自我个性和想象力的作品。
MIT最新发布的Scratch3.0,界面更加清晰简洁
Scratch1.0在2007年第一次公开发布,随后在2012年又推出了Scratch2.0版本。而Scratch支持多国语言则让软件得以在全球范围内被广泛快速的使用与传播。如今在时隔6年之后,麻省理工学院媒体实验室的Lifelong Kindergarten Group在2019年的1月初正式推出了Scratch3.0。
麻省理工学院媒体实验室的LEGO学习研究教授Mitchel Resnick曾经说过:“当孩子们共同使用Scratch一起进行创造和分享彼此项目的时候,他们将学会创造性地思考,系统地推理和协同工作 - 这是当今社会中每个人的基本技能。”
少儿编程之父:米切尔·雷斯尼克(Mitchel Resnick)
麻省理工学院媒体实验室“终身幼儿园”团队主管,乐高教育全球董事。
事实上,Scratch的积木式编程方法很大程度上是受到了乐高玩具的启发,儿童在玩乐高积木的时候常常因为乐高积木灵活的组装方式,而不断地尝试排列出各种风格迥异的形状与结构。在Scratch的设计中也参考了这种富有趣味性的方式,以一系列可以拼接组合的积木式“代码块”将Scratch中的语法进行呈现。
二、Scratch有什么独特的特点?
1、对于孩子来说,以“代码块”形式进行编程会极大程度的避免他们编程时遭遇常常出现在传统编程语言中诸如语法晦涩难懂和被大量标点符号混用所困扰的问题。模块化的代码形式更容易实现零基础编程,因此会更加适合初次接触编程的人群。
2、同时Scratch还可以满足使用者在编写或修改程序代码的过程中随时验证和观察代码执行效果的要求,这也使得孩子随时都可以方便地拖拽调整代码模块组合从而实现脑海里的想法或完成自己作品的迭代。这实际上意味着孩子能够以更加容易的方式看到自己的成果并收获成就感,进而驱动自己继续去进行更复杂的挑战,形成长期热爱。
在Scratch的开发者看来,用更具有交互性的拖拽方式排列组合代码,不仅省去了编程时添加标点符号的烦恼。即使是在遇到问题的时候,使用者也可以轻松地回过头去拖动鼠标拆分代码块去系统地分析这个程序。这使得Scratch比起传统编程语言更便捷,也使得创作的整体过程对于儿童来说更为流畅。
3、当真正开始用Scratch进行编程就会发现Scratch的设计具有很强的交互性,在Scratch中抛去了传统编程软件逐行敲代码的麻烦,使用者只要对Scratch中已经定义好的模块进行拖动再根据一定的逻辑组合就能够像拼积木一样游戏化的实现程序快速编写与修改。
这种类似积木的代码模块总共有8个大类,在对这些“代码块”进行拼接时,要将不同类别的代码块进行组合需要掌握一定的使用规范。以while循环为例,它看起来与字母C非常相似,所以通过这种图形化的形式就能清晰明了的让使用者明白可以在它的内部填充其他的“代码块”。对于孩子来说使用富卡通化和清晰直观的积木式指令,可以促进自身更好的发挥想象力和创造力,创作出属于自己的动画或者游戏作品。
4. Scratch相比于其他编程软件更加注重协作和鼓励分享,在Scratch中“分享”按钮也被设定为整个程序界面最重要的一个部分而放置在界面的顶端。只要按下“分享”按钮个人作品就会被上传到Scratch网站,然后所有人都可以在网站上找到这份作品。而其他人也可以下载修改作品再进行上传,实现不同创意的融合,诞生出新的作品。
Scratch社区,里面有大量由青少年上传的创意作品
三、Scratch 能让青少年收获什么?
在学习Scratch的过程中,除了最根本的培养逻辑思维与创造力之外,还能够提升孩子的理解能力,学会进行团队合作产出项目以及自主地解决问题等等一系列能力。
1、建立知识与实际的联系
在Scratch学习过程中学生会处于一种理论与实践有着强联系的背景下进行学习。就以如何设置与使用变量为例,以往孩子都是通过课堂听老师讲解进行学习,这种学习方式难免让人对如何使用变量感到有些模糊。而在Scratch中,可以直观的设置变量再用变量去控制整个程序和动画的变换,就可以更好的理解变量。
2、解决问题能力
在一位名叫马丁的外国教育家看来,让孩子学会如何去解决问题是极为关键的,但是现在的孩子大多都没有掌握解决问题的能力。她说:“我们应该让孩子像程序员一样。不是让孩子们在遇到问题时就直接放弃正在做的事情然后再重头开始做,而是应该像程序员调试修改程序一样,在发现问题时及时回头去修复、改正问题。
在Scratch中,孩子在尝试创建作品的过程中不仅需要关注到作品背后的逻辑与架构,当他们尝试运行程序但实际上却并没有达到他们预期效果的时候,他们就不可避免的需要对代码进行修改和调试去尝试解决问题,解决问题能力在这个过程就得到了锻炼和提升。
3、培养个人专注力与团队协作能力
之前,在Scratch社区上有一位名为BeeBop的15岁英国小女孩,她通过学习Scratch从而创作出了一个含有大量精灵动画的作品,并且在Scratch社区中进行了上传。同时她也在社区中表达出了希望能够让自己的精灵动画在更多作品出现的期待,并且鼓励大家提供更多的素材让她进行创作。与此同时,另一位同样来自英国的10岁小女孩也关注到了BeeBop的动画作品并且对它们非常感兴趣,所以她联系BeeBop向她获取了授权对这些动画作品进行修改。这也间接促使后来一家致力于用Scratch产出“最高品质游戏”的小型公司——Mesh Inc.的出现。
不久后,来自新泽西的14岁男孩Hobbit在社区中发现了Mesh Inc.的作品,然后他决定发出一份求职申请,他的求职理由则是“我是一个非常棒的Scratch程序员,我能够参与作品的编程和调试。”在此之后,又有一位来自爱尔兰的11岁男孩Marty成了Mesh Inc.公司的新员工,原因则是他很擅长于背景滚动的特效制作与控制。
这种孩子们用Scratch共同协力合作创造出作品的现象并非只是昙花一现。有不少的Scratch用户都通过在Scratch社区分享自己的创意作品而找到了志同道合的伙伴,并且在组队合作的过程中不断沟通与协作,运用团队的力量去解决无法仅凭个人力量解决的困难问题。这个过程不仅能让孩子的协作能力与管理项目能力得到锻炼,合作解决一个困难的的难题也能够提升个人在面对问题时的专注力。
Scratch社区中的部分作品(左右滑动查看)
如今,越来越多的青少年开始尝试学习Scratch并在其中实现各自的创意想法,登陆Scratch社区经常会发现有大量的动画、游戏作品。虽然这些作品之间的水平有所差异,但是在每件作品的背后实质是青少年自主学习能力和协作能力的体现。况且,学习编程也并不意味着未来就注定要成为一名程序员,学习Scratch可以当做是个人综合素养能力的一种培养,最重要的是让孩子能学会如何与计算机互动去进行创新,在日趋智能化的时代中做到良好的去表达自我,掌控生活中的新科技。
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com