前言
Scratch是由MIT媒体实验室为青少年开发的图形化编程工具,已被翻译成70种以上的语言,在超过150个国家和地区被广泛使用。就像玩乐高积木一样,使用Scratch编程简单而有趣。只要用鼠标从140多个不同功能的指令积木中选择和拖曳,把不同的指令积木按照某种逻辑关系拼搭在一起,就能得到一个可运行的程序,从而创建出各种交互式故事、动画、游戏、音乐和美术作品等。
Scratch能够与数学、物理、语文等众多学科融合在一起,对青少年的学习有着非常大的帮助。例如,在Scratch中,不仅能接触到基本的算术运算、关系运算和逻辑运算,还能接触到平面直角坐标系、绝对值、平方根、三角函数等初等数学知识。毋庸置疑,游戏总是能够吸引青少年的注意力。用Scratch编写不同类型、不同复杂度的游戏时,需要适当地运用不同的数学知识来设计游戏的算法。例如,通过圆的参数方程来控制角色作圆周运动,通过抛物线方程来模拟炮弹的运动轨迹,等等。在游戏的驱动下,这些数学知识将不再枯燥乏味,将会驱使青少年主动探究这些在游戏程序中发挥关键作用的“秘笈”。通过“玩中学”,能够激发青少年主动学习和运用各个学科的知识。
学习Scratch编程最大的益处就是能够激发青少年的创造力。Scratch简单易用且功能强大,能快速地将青少年的创意落地,变成一个个交互感极强的作品。在动手创作的过程中,根据项目的不同,需要融合Science(科学)、Technology(技术)、Engineering(工程)、Arts(艺术)、Mathematics(数学)等多个领域的知识。例如,对于一个稍复杂的游戏项目,就需要策划、美工、编程等不同角色的人员参与组成一个开发小组,以团队协作方式共同创作项目。可以说,Scratch编程是近年来流行的STEAM教育理念的一个极佳实践方式。
本书分为基础编程篇、图形编程篇和进阶编程篇3个部分。
第1部分讲授Scratch基础编程知识,介绍如何使用Scratch编辑器开发项目,如何使用变量、运算符、列表和过程等进行编程,如何使用流程图描述算法和进行结构化程序设计,等等。该部分提供丰富多彩的趣味数学案例,有韩信点兵、鸡兔同笼、数字黑洞、约瑟夫环、逻辑推理……
第2部分讲授Scratch图形编程知识,介绍如何控制角色在舞台上运动和进行碰撞侦测,如何更改角色的外观和创建各种特效,如何播放声音和模拟乐器演奏,如何使用画笔和图章在舞台上绘制图形和图案,等等。本部分以一个汇集诸多图形编程技术的“海底探险”趣味游戏贯穿各章,还引导读者创作电子相册、巡线甲虫、手势抓蝴蝶、种蘑菇、模拟乐器等趣味小游戏。
第3部分讲授Scratch进阶编程知识,介绍如何使用克隆功能和消息机制简化程序开发,如何编写和组织规模较大或功能复杂的应用程序项目,以及面向对象程序设计和事件驱动编程思想等。此外,还通过“英汉词典”和“走迷宫”项目介绍常用算法和数据结构的应用。
本书中的程序基于Scratch 2.0(版本号为v458.0.1)编写,所有范例程序均已调试通过。读者可以关注微信公众号“小海豚科学馆”获取本书的范例程序文件和素材,还可以加入本书的官方QQ群126170677获取学习资源,并可与本书编著者和网友进行在线交流。
本书假设读者从未接触过编程,从零基础开始介绍Scratch编程知识,帮助读者逐步建立起Scratch编程的知识体系,适合对编程有兴趣的青少年阅读,也适合希望辅导孩子进行编程训练的家长和少儿编程培训机构的教师使用。
由于水平所限,本书难免有疏漏或不妥之处,还请读者朋友不吝赐教。
谢声涛
2018年3月
本书配套资源下载