首页>参考读物>计算机科学与技术>软件与程序设计

少儿计算思维养成记:六个孩子的编程学习笔记
作者 : 包若宁,卜文远,傅鼎荃 等编著 张国强 审
出版日期 : 2022-03-31
ISBN : 978-7-111-70248-1
定价 : 79.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 259
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

这本书是笔记,它的特色是“小学生写给小学生看”。
现在市场上的书绝大部分都是大人写的,虽然作者尽量试图从小学生的角度来写,但毕竟还是有一些隔阂。
而这本书忠实记录了小朋友自己的学习历程和心得体会,包括成功的经验,也有遇到bug时的挫折。例如:在实现刘徽割圆法估算圆周率π时,傅鼎荃怀疑“大圆的π应该更大”,通过实验才确信了一样大。这样的小孩子特有的疑问和探索,是大人想不到的,也是大人写的书里不会有的。
此外,写作风格也是一个特色:这本书是小孩子自己写的,有小孩子自己的语气和思维方式,或许更适合小学生读者接受。
这本书是“计算思维从娃娃抓起”的一个尝试。所谓计算思维,是用计算机的概念来求解问题、理解自然现象与人类行为的思维方式。
我们并行开设“奥数班”和“编程班”;在此过程中,也发现了求解同一个问题时,数学思维和计算思维的异同。
以和差倍问题为例,奥数班教的是“线段图”法,其本质是一元一次方程的求解,是逆向的;而编程班上教的是“枚举法”,其本质是试错,是正向的。
我们在书里会穿插着讲解这两种思维方式的异同。
此外,仿真自然现象,是认识自然规律的利器。“森林里老鼠和鹰的数目变化”这一讲是这种思维方式的代表。
本书讲编程,更重要的是用编程来思考问题、认识自然现象和人类行为。这本书是由3-5年级小学生编写,适用于小学高年级,以及中学低年级的学生。

图书特色

本书获得中国科学院科普专项资助,被中国计算机学会推荐为10大科普图书
中国工程院院士与教学名师联袂推荐

图书前言

小SIGMA数学特别兴趣组成立于2018年,有六名学生,三位家长当老师,是“三个老师六个娃”的亲子班。
我们这个特别兴趣组主要讲数学,最大的特点是“慢数学”,有时候两个小时才讲一道题。这让我们有足够的时间去思考、尝试,并发现一些好玩的规律。比如讲幻方时,包若宁、卜文远和魏文珊提出了“包卜魏猜想”—若已知三阶幻方的中心格子、左上角、左侧中间格子的三个数,这个三阶幻方就完全确定了。还有在学“鸡兔同笼”时,傅鼎荃自发地想出了“二分法”。
2020年疫情期间,我们在家里都闷得无聊,便央求老师们教我们Scratch编程。当我们看到一个个美丽的角色,搭搭积木就能写程序时,便深深地爱上了编程。在编程里,似乎所有事情都能实现,于是我们想到什么事情就编程试一下。比如卜文远自发尝试写了一个小程序,用小球模拟病毒的传播。
在学习编程的这3个月里,我们一起写过很多程序,有四个和尚分馍馍,算π,二分法找钻石……在这么多程序中,最好玩儿的就是阿尔法小狗了!这只小狗会下井字棋,它本领高强,每次我们都赢不了它!
通过编程,可以解决许多数学问题,比如数学里的鸡兔同笼、估算2的平方根等。我们还可以写一个程序估计森林里猫头鹰和老鼠的数目。模拟世界,这感觉很奇妙!
我们写这本书时最初的想法是:大部分编程书都是大人写的,都是以大人的视角来看的。我们想以孩子的视角写一本编程书,于是便一人写几章,把学习心得记录下来,最终形成了这本书。
我们觉得这本书和其他书是不一样的,它记录的是每一位小作者对每讲的看法与总结,记录了我们每个编程初学者对程序从陌生到熟悉并形成自己思维的过程,我们也希望自己的经历可以帮助更多初学小朋友爱上编程和计算思维。我们写的程序都放在https://deltadbu.github.io/6kids_learning_scratch/上,供大家参考。
希望你们都能喜欢这本书!
小SIGMA数学特别兴趣组
2021年8月20日

上架指导

计算机\程序设计

封底文字

名师推荐
 小学生能否学编程?怎样学编程?这本小学生写的编程学习笔记以孩子们的亲身实践体会给出了令人信服的答案。本书以计算思维贯穿始终,有助于孩子们从小就明白“什么是计算”,明白“怎样用计算解决问题”。
       李国杰 中国工程院院士
          中国科学院计算技术研究所首席科学家
本书记录了六名小学生的计算思维养成过程,内容设计精心,可谓“高观点下的计算思维”。孩子写给孩子看,此书最宜孩子读。
       熊永昌 数学特级教师
北京一零一中学党委书记、常务副校长
计算思维是信息社会创新型人才的必备素养。本书是少儿计算思维养成过程的忠实记录:中科院计算所三位研究员组织了小SIGMA数学兴趣亲子班,教授孩子们数学思维与计算思维;孩子们在学习时编程序、写心得、记笔记,最终汇集成册,形成本书。
本书包含10讲编程基础和15讲动手实例,讲述6个基本计算思维,包括从最简单的做起、逐级逼近、带剪枝的枚举等,具有3大特色:
以计算思维为纲,内容深刻;
以少儿视角行文,浅白易懂;
以动手促进动脑,手脑并重。
这是一本“孩子写给孩子看”的书,尤其适合中小学生阅读自学。家长和老师也可以本书作为教材,以书中的“教师点评”为导读,按“背景知识->基本思路->编程步骤”的顺序讲授,最后对比、检验实验结果。
让孩子们在少儿时期建立正确的计算思维,将使其终身受益。               

图书序言

人生中一件幸福的事,是在中关村看见10来岁的孩子睁大了眼睛,兴奋地向你讲述计算思维的美妙。你手中的这本书就传递着这种兴奋和幸福。
这本书是6名小学生写的编程课程学习笔记,加上了3位家长兼教师的批注点评。书中凝聚了他们过去一年半的心血、激情和智慧。本书具有三个鲜明的特点,特别适合全国各地的中小学生和家长使用,也适合作为中小学计算机课程的教材。
特点一:独特的亲子游戏。作为家长,中科院计算所的3位研究员设计了一种有温度的亲子游戏,实践了一种以孩子为中心的学习过程。学习编程和计算思维不再只是通过枯燥的讲课、做作业来完成,而是让孩子们与家长一起玩电脑游戏和心智游戏,交心互动。他们的课堂洋溢着爱和欢乐。爱孩子是家长的天性,本书为家长提供了一个与孩子欢乐交心的独特渠道。
特点二:动手动脑,内容走心。作为教师,3位研究员精心设计了这门编程和计算思维课程,既循序渐进,又充满了让孩子动手动脑的内容,实践了图灵奖得主高德纳(Donald Knuth)提出的终极测试:“对我是否理解某项知识的终极测试是看我能否对计算机讲清楚”。本书作者之一包若宁小朋友没听说过斯坦福大学的高德纳教授,但她在课程学习实践中,自己形成了与高德纳教授类似的观点:“……有一点错计算机就会不客气。可是如果程序写对了,计算机又会给你意外的惊喜。”
特点三:实例丰富,易于使用。这本书及配套网站提供了丰富的知识点,每个知识点都配有实例。学习工具就是人手一台计算机,也可以通过互联网远程上课学习;用到的一些辅助教具,如三角形纸板等,都是很容易自行制作的。假如每周花4小时学习,学完全书内容大概需要大半年时间。家长和教师可以根据实际情况适当选择第10讲之后的内容进行学习。
今后20年有两个大趋势:中国将进入信息社会,并跻身创新型国家前列。因此,培养中小学生成为信息社会的创新型人才是社会的刚需。这本书是一部有趣且高质量的教材,希望你喜欢它!
恭喜孩子们!也向他们的父母致敬!

中国科学院计算技术研究所 徐志伟
2021年9月1日于北京中关村

图书目录

序 言
前 言
教师的话一
教师的话二
编程基础篇
第1讲
什么是计算机程序?
一、什么是计算机语言? /2
二、怎样让计算机听懂Scratch语言? /3
三、什么是计算机程序? /4
四、Scratch编程环境简介 /4
五、Scratch积木简介 /6
六、怎样让程序运行起来? /10
七、第一个Scratch程序“Hello, world!” /10
八、更复杂的Scratch程序 /11
九、程序里的bug和debug /15
十、教师点评 /17
第2讲
角色的动作、绘图和音乐演奏
一、知识点 /19
(一)角色的方向 /19
(二)角色变换造型 /20
(三)角色的画笔 /20
(四)角色演奏音乐 /21
(五)角色的遮挡 /22
二、动手练:一个走动的钟表 /23
(一)实验目的 /23
(二)基本思路 /23
(三)编程步骤 /23
(四)实验结果 /25
(五)遇到的bug及改正过程 /26
(六)思考与延伸 /26
三、课后作业 /26
(一)实验一:音乐演奏 /26
(二)实验二:用计算机键盘弹钢琴 /27
四、教师点评 /27
第3讲
变量:角色的记忆
一、知识点 /28
(一)什么是变量? /28
(二)变量名字的写法 /28
(三)变量有几种? /29
(四)什么是局部变量和全局变量? /29
(五)怎样建立变量? /29
二、动手练:给托球游戏加一个计数器 /30
(一)实验目的 /30
(二)编程步骤 /30
(三)实验结果 /30
三、课后作业 /31
实验:小猫出口算题 /31
四、教师点评 /32
第4讲
循环:重复做动作
一、知识点 /33
(一)什么是循环? /33
(二)“重复执行”积木的种类 /34
(三)循环的嵌套 /35
(四)写循环的小秘诀 /36
二、动手练:阅兵方阵 /36
(一)实验目的 /36
(二)基本思路 /36
(三)编程步骤 /36
(四)实验结果 /37
(五)思考与延伸 /37
三、教师点评 /38
第5讲
克隆:角色的双胞胎和多胞胎
一、知识点 /40
(一)什么是克隆? /40
(二)什么时候用克隆? /40
二、动手练:阅兵方阵列队行进 /41
(一)实验目的 /41
(二)基本思路 /42
(三)编程步骤 /42
(四)实验结果 /43
(五)遇到的bug及改正过程 /44
(六)思考与延伸 /44
三、教师点评 /44
第6讲
条件判断:角色根据情况做动作
一、知识点 /45
(一)什么是条件判断? /45
(二)多个条件的组合 /45
二、动手练:判断奇偶数 /46
(一)实验目的 /46
(二)基本思路 /46
(三)编程步骤 /46
(四)实验结果 /47
(五)遇到的bug及改正过程 /47
三、教师点评 /48
第7讲
过程:程序的模块化
一、知识点 /49
(一)什么是过程? /49
(二)在Scratch程序里怎样实现过程? /49
(三)调用一个过程时到底发生了什么? /51
二、动手练:会织网的蜘蛛 /53
(一)实验目的 /53
(二)基本思路 /53
(三)编程步骤 /53
(四)实验结果 /54
(五)思考与延伸 /55
三、课后作业 /55
实验:彩虹风车 /55
四、教师点评 /56
第8讲
列表:把几个变量合起来
一、知识点 /57
(一)什么是列表?为什么要用列表? /57
(二)怎样理解列表? /57
(三)对列表的操作 /58
二、动手练:找出最大值和最小值 /59
(一)实验目的 /59
(二)基本思路 /60
(三)编程步骤 /60
(四)实验结果 /60
(五)思考与延伸 /62
三、课后作业 /62
实验:计算列表中数据的平均值 /62
四、教师点评 /63
第9讲
字符串:把几个字母合起来
一、知识点 /64
(一)什么是字符串变量? /64
(二)对字符串变量有哪些操作? /64
二、动手练:元音字母计数 /65
(一)实验目的 /65
(二)基本思路 /66
(三)编程步骤 /66
(四)实验结果 /66
三、教师点评 /67
第10讲
收发消息:角色之间的沟通和协调
一、知识点 /68
(一)角色之间的沟通和协调 /68
(二)什么是“消息”? /68
(三)怎样创建消息? /68
(四)怎样发送消息? /69
(五)怎样接收消息? /69
二、动手练:“谁在哪里干什么”游戏 /70
(一)实验目的 /70
(二)基本思路 /70
(三)编程步骤 /70
(四)实验结果 /73
三、教师点评 /74
计算思维篇
第11讲
逐级逼近法:刘徽割圆法估计π
一、实验目的 /76
二、背景知识 /76
(一)π是什么? /76
(二)π是多少? /76
(三)怎样找一个数尽量接近π? /77
(四)刘徽割圆法估计π /78
三、基本思路 /79
(一)画正多边形 /79
(二)计算正多边形的边长 /80
四、编程步骤 /80
(一)角色设计 /80
(二)变量设计 /80
(三)过程描述与代码展示 /80
五、遇到的bug及改正过程 /82
六、实验结果及分析 /82
(一)随着正多边形边数(n)的增加,π的估计值的变化 /82
(二)大圆小圆的结果一样吗? /84
七、教师点评 /85
(一)为何叫“割圆法”?哪里体现了“割”? /85
(二)本讲采用的方法与刘徽割圆法的差异 /86
(三)刘徽和祖冲之的生平 /86
第12讲
聪明的枚举:巧解数字谜
一、实验目的 /87
二、背景知识 /87
(一)最笨的方法怎么填? /87
(二)如何使得枚举时不遗漏可能的填数方案? /88
(三)如何手工计算判断次数? /89
三、基本思路 /89
(一)最笨的枚举法 /89
(二)聪明一点的枚举法 /89
(三)更聪明的枚举法 /89
四、编程步骤 /90
(一)角色设计 /90
(二)变量设计 /90
(三)过程描述与代码展示 /90
五、遇到的bug及改正过程 /92
六、实验结果及分析 /92
(一)算法找到了多少种答案? /92
(二)对比笨算法和聪明算法的判断次数 /92
七、思考与延伸 /94
八、教师点评 /94
第13讲
再论聪明的枚举:三阶幻方
一、实验目的 /96
二、背景知识 /96
(一)什么是幻方? /96
(二)怎样填幻方? /97
(三)三阶幻方有哪些性质? /97
(四)三阶幻方的“包卜魏猜想” /98
三、基本思路 /99
(一)最笨的填法是怎么填的? /99
(二)聪明的方法怎么填? /99
四、编程步骤 /100
(一)角色设计 /100
(二)变量设计 /100
(三)过程描述与代码展示 /100
五、实验结果及分析 /103
六、思考与延伸 /103
七、教师点评 /103
第14讲
从最简单的做起:4个和尚分馍馍
一、实验目的 /104
二、基本思路 /104
三、编程步骤 /105
(一)角色设计 /105
(二)变量设计 /105
(三)过程描述与代码展示 /105
四、遇到的bug及改正过程 /107
五、实验结果及分析 /108
(一)2个和尚分馍馍的分法与馍馍数有何关系? /108
(二)3个和尚分馍馍的分法与馍馍数有何关系? /109
(三)4个和尚分馍馍的分法与馍馍数有何关系? /110
六、思考与延伸 /110
七、教师点评 /111
第15讲
用“试错法”求解鸡兔同笼问题
一、实验目的 /112
二、背景知识 /112
(一)什么是鸡兔同笼问题? /112
(二)怎样求解鸡兔同笼问题? /113
三、基本思路 /114
四、编程步骤 /114
(一)角色设计 /114
(二)变量设计 /114
(三)过程描述与代码展示 /115
五、遇到的bug及改正过程 /116
六、实验结果及分析 /116
七、思考与延伸 /116
八、教师点评 /116
第16讲
随机有威力:打圆形靶子估计π
一、实验目的 /119
二、背景知识 /120
三、基本思路 /120
四、编程步骤 /121
(一)背景和角色设计 /121
(二)变量设计 /121
(三)过程描述与代码展示 /114
五、遇到的bug及改正过程 /122
六、实验结果及分析 /123
七、思考与延伸 /124
八、教师点评 /125
第17讲
再论随机有威力:布丰投针估计π
一、实验目的 /127
二、背景知识 /128
(一)布丰是谁?布丰实验是干什么的? /128
(二)历史上研究者做过的布丰投针实验 /128
三、基本思路 /129
四、编程步骤 /129
(一)角色设计 /129
(二)变量设计 /130
(三)过程描述与代码展示 /130
五、遇到的bug及改正过程 /132
六、实验结果及分析 /132
七、思考与延伸 /133
(一)扔圆环的碰线次数 /133
(二)扔“将圆环掰直变成的投针”的碰线次数 /134
(三)扔拐弯针的碰线次数 /135
(四)比较一下长针和短针的碰线次数 /136
(五)布丰投针能算π的终极解释 /137
八、教师点评 /138
第18讲
玩游戏体会“递归法”:河内塔游戏
一、实验目的 /139
二、背景知识 /140
(一)河内塔的故事 /140
(二)什么是递归积木块? /140
(三)递归积木块是怎样执行的? /140
三、基本思路 /141
(一)最简单的情形:1个盘子 /142
(二)比较简单的情形:2个盘子 /142
(三)难一点的情形:3个盘子 /142
(四)再难一点的情形:4个盘子 /145
四、编程步骤 /145
(一)角色设计 /145
(二)变量设计 /145
(三)过程描述与代码展示 /146
五、遇到的bug及改正过程 /146
六、实验结果及分析 /147
(一)输入不同的n,验证移动次数 /147
(二)要是有64个盘子呢? /148
七、思考与延伸 /148
八、教师点评 /148
第19讲
“递归法”的应用:斐波那契数列与黄金分割
一、实验目的 /149
二、背景知识 /151
(一)斐波那契是谁?什么是斐波那契数列? /151
(二)什么是黄金分割? /152
(三)斐波那契数列和黄金分割有何联系? /152
三、基本思路 /153
四、编程步骤 /154
(一)角色设计 /154
(二)变量设计 /154
(三)过程描述与代码展示 /155
五、实验结果及分析 /156
六、思考与延伸 /156
七、教师点评 /157
(一)如果兔子要3个月才成年呢? /157
(二)斐波那契数列的有趣性质一:相邻月份数目之和 /157
(三)斐波那契数列的有趣性质二:相邻偶数月份数目之积、相邻奇数月份数目之积 /158
(四)植物中的斐波那契数列 /159
第20讲
玩游戏体会“搜索法”:走迷宫
一、实验目的 /160
二、基本思路 /161
三、编程步骤 /162
(一)角色设计 /162
(二)变量设计 /162
(三)过程描述与代码展示 /163
四、遇到的bug及改正过程 /167
五、实验结果及分析 /167
六、思考与延伸 /169
(一)采用什么样的策略走最合适? /169
(二) “走迷宫”和解数学题之间有什么关系? /169
七、教师点评 /169
第21讲
玩游戏体会“二分法”:找钻石
一、实验目的 /171
二、背景知识 /172
三、基本思路 /173
四、编程步骤 /173
(一)角色设计 /173
(二)变量设计 /173
(三)过程描述与代码展示 /173
五、遇到的bug及改正过程 /177
六、实验结果及分析 /178
七、思考与延伸 /178
(一)采用什么样的策略最合适? /178
(二)傅鼎荃说对8行8列的游戏来说,使用二分法最多需要6次,为什么? /178
(三)用递归的观点想一想 /179
八、教师点评 /179
第22讲
“二分法”的应用:估计的值
一、实验目的 /180
二、背景知识 /181
(一)是怎么发现的? /181
(二)毕达哥拉斯是谁? /181
(三)为什么说的发现是一件重要的事情? /182
三、基本思路 /182
四、编程步骤 /183
(一)角色设计 /183
(二)变量设计 /183
(三)过程描述与代码展示 /183
五、遇到的bug及改正过程 /185
六、实验结果及分析 /185
(一)除了2,计算一下其他数的平方根,比如3、5、7 /185
(二)输入不同的初始估计值low和up,需要多少次循环才能估计准? /186
七、思考与延伸 /186
(一)有没有更快的方法来估计出呢? /186
(二)计算2的十二次方根 /187
八、教师点评 /191
第23讲
仿真世界:牛顿的大炮
一、实验目的 /192
二、背景知识 /192
(一)牛顿是谁? /192
(二)牛顿的大炮是用来做什么的? /193
三、基本思路 /193
四、编程步骤 /194
(一)角色设计 /194
(二)变量设计 /194
(三)过程描述与代码展示 /195
五、遇到的bug及改正过程 /197
六、实验结果及分析 /197
七、思考与延伸 /198
八、教师点评 /198
(一)如何根据斜方向的拉力F计算出水平方向的拉力Fx和竖直方向的拉力Fy? /199
(二)平方反比率的推导和背后的原因 /200
(三)牛顿和他所在的那个光辉时代 /201
(四)用更大号的三棱镜重做牛顿的光谱实验 /201
第24讲
再论仿真世界:森林里有几只老鼠,几只猫头鹰?
一、实验目的 /202
二、背景知识 /202
三、基本思路 /203
四、编程步骤 /204
(一)角色设计 /204
(二)变量设计 /204
(三)过程描述与代码展示 /204
五、遇到的bug及改正过程 /207
六、实验结果及分析 /207
七、思考与延伸 /208
(一)要是第一年只有50万只老鼠呢? /208
(二)假如1万只猫头鹰每年吃掉0.1万只老鼠呢? /208
(三)假如1万只猫头鹰每年吃掉0.2万只老鼠呢? /209
八、教师点评 /209
第25讲
博弈初探:会下tic-tac-toe棋的阿尔法小狗
一、实验目的 /211
二、背景知识 /211
(一)什么是tic-tac-toe棋游戏? /211
(二)人是怎样下棋的? /212
三、基本思路 /213
(一)阿尔法小狗怎样表示棋局? /213
(二)阿尔法小狗怎样判断下在哪里赢面大呢? /213
(三)阿尔法小狗怎样下棋呢? /215
(四)阿尔法小狗怎样对棋局进行评分呢? /216
(五)阿尔法小狗要“深谋远虑”还是“目光短浅”? /216
四、编程步骤 /218
(一)角色设计 /218
(二)变量设计 /218
(三)过程描述与代码展示 /219
五、遇到的bug及改正过程 /225
六、实验结果及分析 /225
七、思考与延伸 /227
(一)怎样让阿尔法小狗变聪明? /227
(二)新玩法:“狗狗大战” /228
八、教师点评 /228
(一)阿尔法狗的诀窍之一:控制树不能太高 /229
(二)阿尔法狗的诀窍之二:控制树不能太宽 /230
(三)神经网络是怎样学会打分和走子的? /230

教学资源推荐
作者: 郑阿奇 主编 顾韵华 等编著
作者: 马玉春 著
参考读物推荐
作者: [美]埃内斯·比尔金(Enes Bilgin) 著
作者: 达观数据 著
作者: [加]丹尼尔·兹布里夫斯基(Danil Zburivsky),[加]琳达·帕特纳(Lynda Partner) 著
作者: (美)Michael Moncur