Scratch高手密码 编程思维改变未来 应对人工智能挑战
作者:李泽著
出版时间: 2018年版
内容简介
本书的目标是通过Scratch为读者讲解计算机科学(Computer Science,CS)的基础知识,属于深入进阶型。书籍的难度较大,为了让学习者顺利过渡,本书专门在第二章节设计了难度递进的15个案例。本书在整体上分成两个部分,第一部分包含两个章节,分别讲解了Scratch的基础内容以及在游戏、故事、音乐、动画、教程、艺术共六个领域的应用案例。第二部分是CS基础知识,其中第三章很重要,它涉及编程基础、数据结构、开发流程、调试技巧等内容,这些知识也能很好地融入到其他编程语言的实践中。其他章节之间的关联较弱,可独立学习:第四章讲解了离散数学知识,包括集合论、图论、代数系统、数理逻辑、组合数学、初等数论;第五章讲解了网络与通信知识,包括:网络模型、通信协议、实践: Scratch 2.0 扩展;第六章讲解了编程语言,包括面向对象编程、事件驱动编程;第七章讲解算法,包括穷举、迭代、递归、回溯、动态规划、分治、贪心、启发式、概率排序、搜索、栈。
目录
第一部分? 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. 参考文献