2021年09月10日
Scratch是麻省理工学院开发的一款简易图形化编程工具。这个软件的开发团队称为“终身幼儿园团队”(Lifelong Kindergarten Group)。几乎所有的孩子都会一眼喜欢上这个软件。建立起做编程的欲望。
建立程序的过程,用到涂鸦,录音,找图片这些有趣的过程。孩子的成品可以通过软件直接发布到官方网站上。官方网站给每个注册用户开通了一个个人空间,放置发布的程序。
用户发布后的程序,在官网可以找到。制作中的程序只能在软件环境下运行,发布后的程序则是在网页内运行的。就是说,孩子们的作品可以通过网络被无数人看到。官方网站具有交友和评论的功能。国内亦有类似官网发布程序后在网页内运行的网站,方便国内爱好者和孩子们对作品进行交流。
学完Scratch有什么好处?
目前很多关于Scratch的研究都指向它能够让学生快乐的玩编程,将它定位于儿童编程入门语言。而我认为, Scratch不仅是编程语言,还是创作工具,是表达工具。它能帮助学生进行有效的信息化表达和数字化创作,能提升学生从语言到思维,从个人解决问题到团队合作等多方面的能力。
Scratch项目负责人凯伦布雷迪博士曾说:“我们的目的不是要创建电脑程序编写大军,而是帮助电脑使用者表达自己。"Scratch的主旨是“想想法程序分享”,学生在用它进行创作的时候,首先要有一个“好创意”,就像导演需要一个“好剧本”一样。作为编程老师我们知道,描述一个程序是可以用自然语言的,在Scratch授课中老师也可以有意识的引导学生用自然语言来描述他们的创意、想法。
比如小学阶段,学生可以用自然语言说一个英语故事《史努比的一天》,将故事中人物和Scratch的教学合二为一。从学生看动画学习英文,到学生可以将自己学习的英文录制在Scratch 中,再到学生将故事做成动画,随着教学的展开与深入,学生还可以自编故事,不断用语言描述着他们的设想和故事。
慢慢的,词汇量、遣词造句的能力在逐步提升,从简单的寥寥数语到完成叙述,从量变到质变。学生会惊喜地发现在叙述时加入一些连接和Scratch特有的专业术语,增加语言和Scratch各部件之间的关联,实现与最终作品之间的耦合。当学生完成从编剧到导演的转变时,我们可以看到的是:故事的叙述是脱口而出,而Scratch的制作则是水到渠成。
而让学生用Scratch进行数字化表达前,先用自然语言来进行表达,也回避了低龄学生绘制流程图这样一个难点,同时还能充分让他们意识到,“凡事预则立,不预则废”的概念,树立想法优先,先设计后制作的意识。在Scratch课堂上,学生通过挑选、处理、集成大量的信息资料,来自由表达他们的意图。当完成自己酷炫的作品时他们将体验到满足感,当相互欣赏作品、交换玩自制游戏时又将获得成就感。在这种目标的引导和激励下,学生的兴趣将得到巨大的提升。
同时,在Scratch教学中,加减乘除,直角坐标,循环和变量、随机函数,逻辑条件等都将成为最吸引人的东西,有了它们就能够让动物们快快奔跑,让花儿慢慢开放,让汽车轮船飞机都按照设想运动,所有的一切都可以在他们的作品中直观的体现出来。在Scratch项目中,变量可以控制动画速度、记录游戏分数,随机数可以让“大鱼吃小鱼”游戏中的小鱼不断重生,此时,学习这些知识变成了一种需要,一种渴求,学生高昂兴趣和主动性的学生,那么课堂的高效是可以期待的。
而Scratch作为一种程序设计语言,它对于学生思维的锻炼作用也是毋庸置疑的。虽然很多学生将来不会成为专业的程序设计者,但是这样一次“导演”的经历,无论是前期设计时用语言完整无误的叙述,中期制作时舞台的设计与更换、角色的分配到分角色设置代码、逻辑条件的创设、判断与循环结构的运用,后期反复的修改,都有助于锻炼他们完整而有创意的表达自己的想法,帮助他们成为一个思维有条理、逻辑清晰的人。Scratch用一种非常有意义的设计理念去支持问题的发现和解决。在学生用Scratch进行创作的时候,他需要有创意,进而设计原型系统,然后进行试验看看是否可行,发现错误及时修正;听取别人的评价和意见,修改自己的设计使其更完美,整个过程是一条不断上升的螺旋线:想到一个好注意,完成作品,而这个作品又激发了新的想法,按照新的想法再完善作品或者创作一个新作品。
在这个不断重复的过程中,无数的问题会自然生成,促使学生不断的去解决问题,而又因为Scratch被设计的非常容易修改,学生能够动态地改变每片代码,然后立即看到结果,因此能够让学生在不断地生成、解决问题的交互试验过程中获得巨大的收获。在多次的Scratch实践课中我们看到,学生是在自觉地重复着这个过程,力求让自己的作品能够更完美的表现最初的设计意图。
在我们调查报告中显示:有71%的学生表示观看其它人的作品有助于自己创作或设计Scratch作品,有64%的学生同意可以从别人作品中得到启发,进而运用在自己的作品上,有81%的学生表示愿意花更多时间和同学讨论Scratch软件中各个角色的程序脚本设计。这些都充分说明,在Scratch授课过程中,基于其本身的特性,我们可以更容易实现小组合作形式的教学,通过男女搭配分组、组内头脑风暴、组间交流等方式来进一步提高课堂的效率,提高学生的思维活跃度与发散性。
玛可瑞塔编程社区
2021年9月10日