作为目前流行的编程工具之一,Scratch 是一个强大的可视化编程平台,其丰富的学习环境适合所有年龄段的用户,尤其是想象力丰富且爱好广泛的青少年人群。它可以用来制作交互式程序及多媒体项目,包括动画、音乐、报告、科学实验、游戏和模拟程序等。本书意在以Scratch 为平台,在展示其强大功能的同时,教会读者*基本的编程概念和编程思路,并能够使用Scratch 完成各种编程项目。
本书共12 章,第1章总体介绍了Scratch 的特点、概念,以及如何使用该工具,第2 ~ 11 章讲解了场景、绘画、声音、计算和列表等元素的概念及应用实例,第12 章讲述了Scratch 的硬件连接。在讲解概念和元素的前11 章里,每一章都以作者教学中经历过的实际课堂场景为背景,读者在阅读过程中如同亲身参与课堂学习,生动有趣。同时本书包含许多完整的应用实例,并配有视频讲解可供下载,读者可在掌握这些实例操作的基础上制作出许多类似的程序,还可以在这些实例中根据自己的思路添加很多新的元素,让程序变得更丰富、更完美。
本书可作为没有任何编程基础的青少年的Scratch 自学教程,也可作为中小学或少儿培训机构及学生家长的编程辅导教材。
零基础全彩大字版,大开本设计,图多字大,不伤视力
专业培训教师亲自执笔,曾受邀赴MIT(美国麻省理工)Scratch论坛交流访问
采用绘本故事的讲解方式,边讲边做,让孩子在游戏互动中学
强化培养孩子编程思维,无算法基础的低年级学生也能轻松上手
赠实例教学视频,手把手教孩子玩转编程操作
本书为谁而写
本书是为两类人群准备的,其中最主要的一类是Scratch 的初学者,包括中小学在校生
和相关从业人员,另外一类是学校和培训班的教师以及学生家长,以作为他们的辅导教材或者供其参考。
通过本书的讲解,Scratch 初学者将进一步深化对编程的理解,并学会使用Scratch 开发相应的程序。
考虑到Scratch 初学者大多没有编程基础,本书在写作时假设读者为编程零基础,整体难度较低,个别有难度的编程实例可以暂时略过,不会影响系统化的学习。
程序开发的美妙之处在于创造,而青少年是最有想象力的群体,作者在担任培训教师时,常常为学生们的想象力感到惊叹,而学生也热衷于把自己的想象力实践在Scratch 程序中,并能获得极大的满足感,这也是老师和家长最希望看到的。当然,在学习编程的过程中,和学习其他技能一样,学生可能会经常遇到挫折,导致其积极性下降,但是只要不灰心不放弃,花些时间思考其中的逻辑和精髓,不断地尝试新思路,总能解决问题,收获成功的喜悦。
少儿编程的起源与发展,我国Scratch 的发展现状
如今,信息科技飞速发展,在这个大数据和人工智能引领潮流的时代,我们会发现,一些传统的教学方式对于每天接收新鲜事物的学生们来说,效率并不高。
近年来,由于各种科技公司声名鹊起,各类专业技术人才需求猛增,从人工智能、云计算、大数据和物联网的发展来看,人工智能人才已经成为世界互联网巨头争相竞逐的对象。美国前总统奥巴马、英国前首相卡梅伦和新加坡总理李显龙等各国政要,纷纷呼吁全国上下,都应学习编程。
作者在2018 年4 月亲赴美国哈佛大学和麻省理工学院参加世界各地从业者聚集的论坛,感触颇多。如何在日新月异的信息时代中给学生提供与时俱进的教育方式呢?世界上大多数注重青少年培养的从业者都认同以下观点:创新意识、流程与规则,以及合作与分享。
少儿编程软件Scratch 正是集合上述世界各地从业者对K12 儿童教育的发展期望及未来对高素质人才的要求而产生的优秀编程学习工具。Scratch 的发展其实也不过短短
的10 年时间,就已经在全世界包括中国迅速流行起来,随着时代发展和素质教育的普及,它会有更加美好的前景。
目前,各种Scratch 培训班和培训课程在我国如雨后春笋般涌现,对少儿编程的发展起
到了积极的促进作用,一方面体现出家长和孩子们越来越注重标准课程之外的素质教育,为
孩子的未来打下良好基础,另一方面也说明了Scratch 软件及其课程对孩子和家长们的吸引力
越来越大,在青少年素质提高和思维培养方面树立了良好的口碑。随着素质教育的全面普及
和家长意识的提高,越来越多的人会认识到学习Scratch 的重要性和高收益性。
青少年为什么要学习编程
电脑和网络早已在中国普及开来,现在的孩子们接触网络和电脑的年龄都很早,如果不
加以正向引导,很容易沉迷于各种网络游戏和低俗直播,我们时常见到各种相关的新闻报道,比如,某少年玩游戏把家里的积蓄花光,某学生为了打赏主播花光父母血汗钱。这些成长和教育失败的案例代表着一个个家庭悲剧,这些孩子无一不是喜欢电脑、喜欢网络、充满想象力,并且极度渴望成就感和认同感的孩子。他们只是没有受到正确的引导。在采访中,他们袒露心声,偷花家里钱的时候一边愧疚难受,一边又控制不住自己,渴望通过疯狂花钱来找到荣誉感和认同感。
以上所举的比较极端的例子数量不多,但也呈增多趋势。不过,大多数孩子使用电子产
品和网络都是玩游戏、看动画,很少有人创作游戏、创作动画。他们喜爱创造但是没有找到合适的途径,或者说是没人引导。大禹治水疏而不堵,作为家长,不能一味地禁止孩子接触电脑和网络,还是应该把他们的创造力和爱好加以正向引导。
而少儿编程软件平台Scratch 正适合这个需求,Scratch 编程能让孩子们体验到自主控制电脑的成就感,让电脑成为他们的超级助手。
Scratch 简介
Scratch(中文名:魔抓)是由美国麻省理工学院(MIT)媒体实验室于2008 年推出,专为少儿打造的编程教学系统,一经推出就产生了巨大反响,风靡西方发达国家,最近更是风靡全世界。
Scratch 编程界面友好可爱,寓教于乐。它把程序指令做得像孩子喜欢的积木一样,而
且可拖拽、好理解,即时展示程序效果,功能非常强大,小学生也能轻松掌握。它的版本也
在不断更新, 功能扩展将越来越多。它让本身高深枯燥的编程变得十分有趣。
Scratch 允许用户将图片、声音和文字等各种素材组合运用,变化无穷,随意创新。平时喜爱的游戏在自己手中一步一步创建成形,且能够自己随意调整各种参数来控制游戏,那是一件多么让人自豪和有成就感的事情。当然Scratch 也并没有为了娱乐和让学生接受而过度简化编程知识,它简约而不简单,必备的编程思想和知识点全都囊括其中,包括循环、判断、变量、链表、模块让学生通过Scratch 学习现代编程思想,训练他们既开放又严谨的逻辑思维能力,无论以后从事什么样的工作都会对他们大有裨益。
中国不缺乏有天赋的孩子,缺乏的是发现人才的途径以及培养优秀人才的教育。在智能
化信息时代已经来临的今天,为孩子选择一个好的教育方式会让他受益终
李尤(Steven Li),生于北京,大学和研究生就读于英国中央兰开夏大学,毕业后回到北京就业,先后在互联网公司雅虎和世界500强企业霍尼韦尔等知名公司做软件技术相关的工作。随着大数据与人工智能的发展,作者又走在了潮流前端,近几年在企业从事大数据与人工智能相关的管理与技术工作,并于2017 年有幸受邀参加金砖五国大数据应用讨论国际会议,近一年又受邀担任中关村小学校区培训班专家级Scratch 教师。
知识分子家庭的氛围让我从小养成了读书、写作的爱好。记得小时候,我每天晚上睡觉前都会打开写字台上的小台灯,躺在床上看各种书籍,即使困得不行也舍不得关灯,每次都是在父母的催促下才恋恋不舍地放下书,直到现在还保持着写作分享的习惯。
由于在软件开发方面具有较丰富的实践经验,我受邀在少年培训机构担任专家级Scratch编程教师一职。在少儿培训机构做编程教师的时间里,我教过各个年龄段的学生,积累了很多教学经验。2018 年4 月,受MIT 邀请赴美国波士顿参加了Scratch 的论坛,更是了解了很多世界各地的发展状况、教学理念和教学痛点。
第1 章 愉快地开始体验Scratch
1.1 在Scratch 中实现我的小小梦想 1
1.2 扬帆起航Scratch 2
1.2.1 下载Scratch 2
1.2.2 Scratch 中五彩斑斓的分区模块 3
1.2.3 菜单栏是做什么的 4
1.2.4 光标工具是做什么的 5
1.2.5 什么是标签页 5
1.2.6 舞台是做什么的 5
1.2.7 角色列表是做什么的 6
1.2.8 积木区怎么那么多积木 12
1.2.9 脚本区是做什么的 15
1.3 Scratch 3.0 的发布与访问 17
1.3.1 Scratch 3.0 的发布 17
1.3.2 Scratch 3.0 的访问方法 17
第2 章 装扮一个好的角色和场景
2.1 创建一个自己喜欢的角色 20
2.2 添加舞台与背景 25
2.3 如何编辑/ 删除一个角色或场景 29
2.3.1 编辑/ 删除角色 29
2.3.2 编辑/ 删除场景 29
2.4 给舞台添加好听的声音 30
总结与思考34
第3 章 让你喜欢的角色动起来
3.1 多媒体播放的特点 35
3.1.1 什么是多媒体 35
3.1.2 Scratch 中多媒体的特点 36
3.2 让喜欢的角色动起来 36
3.2.1 使用移动功能块 36
3.2.2 试一试旋转角色 38
3.2.3 来设置角色方向吧 39
3.2.4 在舞台上弹回角色 39
3.3 记下角色的坐标和方向 39
第4 章 当个音乐家,让我们来弹奏音乐
4.1 美妙音乐的构成如何获取音频 41
4.2 音频的使用 44
4.3 当个小小的音乐家 45
4.3.1 演奏音乐的方法 45
4.3.2 演奏音乐示例:演奏小星星(* 有教学视频) 45
第5 章 小小画家大百科
5.1 绘制线条和形状 50
5.1.1 清空舞台区域 50
5.1.2 隐藏舞台上的角色 51
5.1.3 使用画笔绘画 52
5.1.4 设置画笔的颜色、亮度和粗细 53
5.2 创建复杂一些的图案 55
5.2.1 创建美丽的彩色花环 55
5.2.2 画一朵美丽的雪花(* 有教学视频) 56
第6 章 小小工程师的思考逻辑判断与变量
6.1 什么是判断与变量 60
6.1.1 什么是判断 60
6.1.2 什么是变量 62
6.1.3 变量和判断的关系是什么 63
6.2 变量的操作 64
6.2.1 增加/ 删除一个变量 64
6.2.2 显示/ 隐藏一个变量 65
6.2.3 建立专属角色的变量 66
第7 章 做个小小数学家吧Scratch 中的运算
7.1 数学运算 68
7.1.1 基本的加减乘除四则运算 69
7.1.2 理解运算优先级 70
7.1.3 生成一些随机数 71
7.1.4 什么是比较运算 74
7.1.5 什么是逻辑比较 76
7.1.6 如何操作一个字符串 78
7.1.7 四舍五入、获取余数以及其他运算 82
7.2 数学运算实例:角谷猜想(* 有教学视频) 83
第8 章 把脑中的思路转换到程序中逻辑的概念与应用
8.1 让我们控制一下脚本执行 88
8.1.1 停止脚本执行 89
8.1.2 执行一个循环 90
8.2 控制分支 94
8.2.1 什么是编程中的分支 94
8.2.2 做一个小猫移动的程序 95
8.3 其他控制功能 99
8.4 当个小小广播员 101
8.4.1 什么是广播 101
8.4.2 如何用广播 102
小结 104
第9 章 让我们来制作游戏吧
9.1 设计游戏角色和舞台的外观 106
9.1.1 让你的小小角色说话和思考 108
9.1.2 显示和隐藏一个角色 110
9.1.3 改变你的角色造型 112
9.1.4 游戏舞台的背景和特效 115
9.1.5 游戏造型的特效 119
9.1.6 改变游戏角色的大小 124
9.2 开发游戏实例(* 有教学视频) 125
9.2.1 打地鼠的游戏 126
9.2.2 大鱼吃小鱼的游戏(* 有教学视频) 135
第10 章 让小小程序变得更好尝试改进和优化
Scratch 程序
10.1 找出程序的错误 142
10.2 通过过程来优化脚本 144
10.2.1 创建一个小小功能块 144
10.2.2 使用自定义功能块来创建一个小小过程 146
10.3 用一个个注释增加程序的清晰度 150
10.3.1 为什么要给程序增加注释呢 150
10.3.2 增加注释的方法 150
10.4 使用克隆简化项目并减小项目的大小 151
总结 154
第11 章 要存储的内容太多了该怎么办列表的概念与应用
11.1 列表的定义和作用 155
11.1.1 什么是列表 155
11.1.2 列表的几种类型 156
11.1.3 列表在Scratch 程序中的应用 157
11.2 列表的应用实例 161
11.2.1 用节拍和音符列表弹奏乐器 161
11.2.2 假期去哪儿(* 有教学视频) 164
第12 章 用Scratch 连接硬件硬件连接及其实现
12.1 什么是S4A 170
12.2 什么是Arduino 170
后记 172