内容简介
推荐序
致读者
第一部分 Scratch项目
第一章 准备工作
1.什么是Scratch?
2.软件安装|Scratch及其衍生版
3.软件安装|离线版安装和本书素材
4.环境介绍|舞台
5.环境介绍|角色列表
6.环境介绍|菜单和工具栏
7.环境介绍|脚本标签页
8.环境介绍|造型(背景)标签页
9.环境介绍|声音标签页
10.小试牛刀|猫咪追小球
11.小试牛刀|猜猜我是谁
12.小试牛刀|时尚换装
13.小试牛刀|音乐小球
第二章 Scratch入门
1.游戏|猜拳游戏
2.艺术|魔幻旋转
3.动画|奔跑的Wuffle
4.游戏|智商测试
5.教程|如何系蝴蝶结
6.动画|浪里个浪&夏日沙滩
7.故事|哈士奇的逻辑
8.艺术|风景幻灯片
9.音乐|虚拟电子琴
10.故事|为什么不去约会
11.游戏|经典乒乓球
12.艺术|疯狂的棍子
13.游戏|眼力大挑战
14.教程|裸眼极光
15.音乐|绝对音感养成器
第二部分 计算机科学基础
第三章 软件开发基础
1.编程基础概念|积木块的形状
2.编程基础概念|参数的形状和数据类型
3.编程基础概念|程序的输入输出
4.编程基础概念|脚本流程结构
5.编程基础概念|自定义积木块
6.编程基础概念|递归和尾递归
7.基本数据结构|变量
8.基本数据结构|字符串
9.基本数据结构|列表
10.基本数据结构|结构体
11.基本数据结构|多级索引
12.基本数据结构|引用
13.基本数据结构|二维列表
14.基本数据结构|队列
15.基本数据结构|栈
16.基本数据结构|集合
17.基本数据结构|树
18.基本数据结构|图
19.基本数据结构|选择策略
20.算法入门|什么是算法
21.算法入门|表示算法的方式
22.算法入门|测量算法时间
23.算法入门|问题规模
24.算法入门|时间复杂度
25.算法入门|常见算法策略
26.程序基本设计原则|抽象
27.程序基本设计原则|分解
28.程序基本设计原则|信息隐藏
29.程序基本设计原则|行为和实现分离
30.程序开发方法|程序开发流程
31.程序开发方法|程序的正确性
32.程序开发方法|调试策略
33.程序开发方法|软件重构
34.程序开发方法|脚本复用
35.程序开发方法|第三方库和引擎
36.程序开发方法|作品分享
37.习题和探索
[编程基础概念]
[基本数据结构]
[算法入门]
[程序基本设计原则]
[程序开发方法]
第四章 离散数学
1.集合论|集合的概念和运算
2.集合论|关系和笛卡尔积
3.集合论|函数
4.图论|通路与回路
5.图论|欧拉图
6.图论|哈密顿图
7.代数系统|布尔代数
8.数理逻辑|命题形式化
9.数理逻辑|充分和必要
10.数理逻辑|推理形式化
11.组合数学|基本概念
12.组合数学|鸽巢原理
13.组合数学|Ramsey定理
14.组合数学|计数原理和容斥原理
15.组合数学|排列组合计数
16.组合数学|Catalan数
17.组合数学|Stirling数
18.组合数学|通项公式
19.初等数论|同余和余数
20.初等数论|质数\GCD\LCM
21.初等数论|著名的定理
22.离散数学|习题和探索
第五章 网络与通信
1.网络结构模型
2.网络通信模型
3.通信协议模型
4.Scratch 2.0扩展原理
5.启动HTTP扩展程序
6.搭建Scratch扩展服务器
7.实时天气查询程序
8.地理查询程序
9.mBlock的局域网功能
10.ScratchX的扩展程序
第六章 编程语言
1.面向对象编程|基本概念
2.面向对象编程|三个特征
3.面向对象编程|层次化设计
4.面向对象编程|指数级克隆
5.事件驱动编程
第七章 算法
1.穷举
2.迭代
3.递归
4.回溯
5.动态规划
6.分治
7.贪心
8.启发式
9.概率
10.排序
11.搜索
12.栈
13.习题与探索
附录
1.附录A Scratch疑难杂症
2.附录B Scratch猫坊传奇
3.附录C Scratch直播咪城
4.附录D Scratch技巧or教学
5.附录E 本书原创程序索引
6.参考文献