让孩子爱不释手、让新手轻松入门的Scratch计算机科学入门教程,用图形“积木块”掌握正确的编程理念,用趣味案例实战理解真正的计算机科学思维,7个章节由浅入深(从简单到复杂)、由表及里(从界面到脚本)、化繁为简(用实例讲理论)、寓教于乐(玩游戏学技能),将高深的程序设计理论思想从高山变成平地,成为大众技术。变身编程能手?从翻开*页开始!
本书面向读者群和使用建议:
本书适合中学生、大学生、Scratch或信息技术教师、计算机科学爱好者、青少年编程培训机构、校内相关社团、Scratch爱好者阅读研究。本书的内容较多,作者的使用建议是:
(1)将本书作为字典类的工具书,遇到问题后查找相应的内容;
(2)或者作为一本教材从头开始研学,或选学部分章节;
(3)鉴于章节设计的独立性,各类机构可挑选部分小节转换为内部课程和活动;
(4)本书与信奥存在交集,感兴趣的学习者和青少年编程培训机构可以借鉴;
(5)对于低年级学生或教师,尝试把重心放在第二章节,各领域的案例应该能够吸引到你;
(6)若感觉本书后面的章节难度过大,则把精力放到*重要的第三章节;
(7)大部分章节有开放式习题,甚至没有标准答案,值得深思;
(8)本书的很多内容具备一定通性,相信它会在很长一段时间内帮助到你。
很棒的书!对于编程入门知识讲的很透彻,本来是买给孩子看的,结果发现大人也能看,里面知识还不简单呢。孩子可以看比较简单的部分,等他大一点了就可以理解其他内容了。案例很丰富,讲解也很形象,入门基本没什么压力。能给人带来满满收获的一本书!
——广东金牌会员
买给孩子的,孩子对计算机一直很感兴趣,买了几本儿童编程的书做完感觉太简单了,其他计算机编程书籍又太过专业不适合初中生。这本书简直太完美!入门很简单,也很容易理解,循序渐进的讲解,后面的知识又比较专业,能满足学习需要,全篇都是用Scratch讲解,很有趣味,孩子很喜欢!
——上海银牌会员
自己买来看的,因为看介绍内容不是那种面向小孩子的童书,所以买来学编程入门的,其他书感觉太难了,怕坚持不下去,看了几页,目前感觉写的很好,学起来比较轻松,值得购买!
——北京银牌会员
小孩上初中了,之前买的Scratch书籍太简单了,孩子觉得没学到什么,这本书内容很全面,里面的算法什么的我都不懂,想要跟孩子一起学习,目前孩子学的感觉还不错,很有成就感,跟同学说起来编程也是头头是道。
——北京金牌会员
非常棒的书,忍不住买了两本送朋友,小侄子很喜欢,整天说要研究电脑,给他这本书让他好好学,据他反馈,学的不累,也很好理解,关键是内容很专业,“干货”很多。*近他学习劲头很足,要感谢这本书!
——上海钻石会员*部分 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. 参考文献