少兒計(jì)算思維養(yǎng)成記:六個(gè)孩子的編程學(xué)習(xí)筆記
定 價(jià):79 元
- 作者:包若寧,卜文遠(yuǎn),傅鼎荃 等編著 張國(guó)強(qiáng) 審
- 出版時(shí)間:2022/4/1
- ISBN:9787111702481
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP311.1-49
- 頁(yè)碼:260
- 紙張:
- 版次:
- 開(kāi)本:16
這本書是筆記,它的特色是“小學(xué)生寫給小學(xué)生看”。
現(xiàn)在市場(chǎng)上的書絕大部分都是大人寫的,雖然作者盡量試圖從小學(xué)生的角度來(lái)寫,但畢竟還是有一些隔閡。
而這本書忠實(shí)記錄了小朋友自己的學(xué)習(xí)歷程和心得體會(huì),包括成功的經(jīng)驗(yàn),也有遇到bug時(shí)的挫折。例如:在實(shí)現(xiàn)劉徽割圓法估算圓周率π時(shí),傅鼎荃懷疑“大圓的π應(yīng)該更大”,通過(guò)實(shí)驗(yàn)才確信了一樣大。這樣的小孩子特有的疑問(wèn)和探索,是大人想不到的,也是大人寫的書里不會(huì)有的。
此外,寫作風(fēng)格也是一個(gè)特色:這本書是小孩子自己寫的,有小孩子自己的語(yǔ)氣和思維方式,或許更適合小學(xué)生讀者接受。
這本書是“計(jì)算思維從娃娃抓起”的一個(gè)嘗試。所謂計(jì)算思維,是用計(jì)算機(jī)的概念來(lái)求解問(wèn)題、理解自然現(xiàn)象與人類行為的思維方式。
我們并行開(kāi)設(shè)“奧數(shù)班”和“編程班”;在此過(guò)程中,也發(fā)現(xiàn)了求解同一個(gè)問(wèn)題時(shí),數(shù)學(xué)思維和計(jì)算思維的異同。
以和差倍問(wèn)題為例,奧數(shù)班教的是“線段圖”法,其本質(zhì)是一元一次方程的求解,是逆向的;而編程班上教的是“枚舉法”,其本質(zhì)是試錯(cuò),是正向的。
我們?cè)跁飼?huì)穿插著講解這兩種思維方式的異同。
此外,仿真自然現(xiàn)象,是認(rèn)識(shí)自然規(guī)律的利器!吧掷锢鲜蠛旺椀臄(shù)目變化”這一講是這種思維方式的代表。
本書講編程,更重要的是用編程來(lái)思考問(wèn)題、認(rèn)識(shí)自然現(xiàn)象和人類行為。這本書是由3-5年級(jí)小學(xué)生編寫,適用于小學(xué)高年級(jí),以及中學(xué)低年級(jí)的學(xué)生。
序 言
前 言
教師的話一
教師的話二
編程基礎(chǔ)篇
第1講
什么是計(jì)算機(jī)程序?
一、什么是計(jì)算機(jī)語(yǔ)言? /2
二、怎樣讓計(jì)算機(jī)聽(tīng)懂Scratch語(yǔ)言? /3
三、什么是計(jì)算機(jī)程序? /4
四、Scratch編程環(huán)境簡(jiǎn)介 /4
五、Scratch積木簡(jiǎn)介 /6
六、怎樣讓程序運(yùn)行起來(lái)? /10
七、第一個(gè)Scratch程序“Hello, world!” /10
八、更復(fù)雜的Scratch程序 /11
九、程序里的bug和debug /15
十、教師點(diǎn)評(píng) /17
第2講
角色的動(dòng)作、繪圖和音樂(lè)演奏
一、知識(shí)點(diǎn) /19
(一)角色的方向 /19
(二)角色變換造型 /20
(三)角色的畫筆 /20
(四)角色演奏音樂(lè) /21
(五)角色的遮擋 /22
二、動(dòng)手練:一個(gè)走動(dòng)的鐘表 /23
(一)實(shí)驗(yàn)?zāi)康? /23
(二)基本思路 /23
(三)編程步驟 /23
(四)實(shí)驗(yàn)結(jié)果 /25
(五)遇到的bug及改正過(guò)程 /26
(六)思考與延伸 /26
三、課后作業(yè) /26
(一)實(shí)驗(yàn)一:音樂(lè)演奏 /26
(二)實(shí)驗(yàn)二:用計(jì)算機(jī)鍵盤彈鋼琴 /27
四、教師點(diǎn)評(píng) /27
第3講
變量:角色的記憶
一、知識(shí)點(diǎn) /28
(一)什么是變量? /28
(二)變量名字的寫法 /28
(三)變量有幾種? /29
(四)什么是局部變量和全局變量? /29
(五)怎樣建立變量? /29
二、動(dòng)手練:給托球游戲加一個(gè)計(jì)數(shù)器 /30
(一)實(shí)驗(yàn)?zāi)康? /30
(二)編程步驟 /30
(三)實(shí)驗(yàn)結(jié)果 /30
三、課后作業(yè) /31
實(shí)驗(yàn):小貓出口算題 /31
四、教師點(diǎn)評(píng) /32
第4講
循環(huán):重復(fù)做動(dòng)作
一、知識(shí)點(diǎn) /33
(一)什么是循環(huán)? /33
(二)“重復(fù)執(zhí)行”積木的種類 /34
(三)循環(huán)的嵌套 /35
(四)寫循環(huán)的小秘訣 /36
二、動(dòng)手練:閱兵方陣 /36
(一)實(shí)驗(yàn)?zāi)康? /36
(二)基本思路 /36
(三)編程步驟 /36
(四)實(shí)驗(yàn)結(jié)果 /37
(五)思考與延伸 /37
三、教師點(diǎn)評(píng) /38
第5講
克。航巧碾p胞胎和多胞胎
一、知識(shí)點(diǎn) /40
(一)什么是克隆? /40
(二)什么時(shí)候用克。 /40
二、動(dòng)手練:閱兵方陣列隊(duì)行進(jìn) /41
(一)實(shí)驗(yàn)?zāi)康? /41
(二)基本思路 /42
(三)編程步驟 /42
(四)實(shí)驗(yàn)結(jié)果 /43
(五)遇到的bug及改正過(guò)程 /44
(六)思考與延伸 /44
三、教師點(diǎn)評(píng) /44
第6講
條件判斷:角色根據(jù)情況做動(dòng)作
一、知識(shí)點(diǎn) /45
(一)什么是條件判斷? /45
(二)多個(gè)條件的組合 /45
二、動(dòng)手練:判斷奇偶數(shù) /46
(一)實(shí)驗(yàn)?zāi)康? /46
(二)基本思路 /46
(三)編程步驟 /46
(四)實(shí)驗(yàn)結(jié)果 /47
(五)遇到的bug及改正過(guò)程 /47
三、教師點(diǎn)評(píng) /48
第7講
過(guò)程:程序的模塊化
一、知識(shí)點(diǎn) /49
(一)什么是過(guò)程? /49
(二)在Scratch程序里怎樣實(shí)現(xiàn)過(guò)程? /49
(三)調(diào)用一個(gè)過(guò)程時(shí)到底發(fā)生了什么? /51
二、動(dòng)手練:會(huì)織網(wǎng)的蜘蛛 /53
(一)實(shí)驗(yàn)?zāi)康? /53
(二)基本思路 /53
(三)編程步驟 /53
(四)實(shí)驗(yàn)結(jié)果 /54
(五)思考與延伸 /55
三、課后作業(yè) /55
實(shí)驗(yàn):彩虹風(fēng)車 /55
四、教師點(diǎn)評(píng) /56
第8講
列表:把幾個(gè)變量合起來(lái)
一、知識(shí)點(diǎn) /57
(一)什么是列表?為什么要用列表? /57
(二)怎樣理解列表? /57
(三)對(duì)列表的操作 /58
二、動(dòng)手練:找出最大值和最小值 /59
(一)實(shí)驗(yàn)?zāi)康? /59
(二)基本思路 /60
(三)編程步驟 /60
(四)實(shí)驗(yàn)結(jié)果 /60
(五)思考與延伸 /62
三、課后作業(yè) /62
實(shí)驗(yàn):計(jì)算列表中數(shù)據(jù)的平均值 /62
四、教師點(diǎn)評(píng) /63
第9講
字符串:把幾個(gè)字母合起來(lái)
一、知識(shí)點(diǎn) /64
(一)什么是字符串變量? /64
(二)對(duì)字符串變量有哪些操作? /64
二、動(dòng)手練:元音字母計(jì)數(shù) /65
(一)實(shí)驗(yàn)?zāi)康? /65
(二)基本思路 /66
(三)編程步驟 /66
(四)實(shí)驗(yàn)結(jié)果 /66
三、教師點(diǎn)評(píng) /67
第10講
收發(fā)消息:角色之間的溝通和協(xié)調(diào)
一、知識(shí)點(diǎn) /68
(一)角色之間的溝通和協(xié)調(diào) /68
(二)什么是“消息”? /68
(三)怎樣創(chuàng)建消息? /68
(四)怎樣發(fā)送消息? /69
(五)怎樣接收消息? /69
二、動(dòng)手練:“誰(shuí)在哪里干什么”游戲 /70
(一)實(shí)驗(yàn)?zāi)康? /70
(二)基本思路 /70
(三)編程步驟 /70
(四)實(shí)驗(yàn)結(jié)果 /73
三、教師點(diǎn)評(píng) /74
計(jì)算思維篇
第11講
逐級(jí)逼近法:劉徽割圓法估計(jì)π
一、實(shí)驗(yàn)?zāi)康? /76
二、背景知識(shí) /76
(一)π是什么? /76
(二)π是多少? /76
(三)怎樣找一個(gè)數(shù)盡量接近π? /77
(四)劉徽割圓法估計(jì)π /78
三、基本思路 /79
(一)畫正多邊形 /79
(二)計(jì)算正多邊形的邊長(zhǎng) /80
四、編程步驟 /80
(一)角色設(shè)計(jì) /80
(二)變量設(shè)計(jì) /80
(三)過(guò)程描述與代碼展示 /80
五、遇到的bug及改正過(guò)程 /82
六、實(shí)驗(yàn)結(jié)果及分析 /82
(一)隨著正多邊形邊數(shù)(n)的增加,π的估計(jì)值的變化 /82
(二)大圓小圓的結(jié)果一樣嗎? /84
七、教師點(diǎn)評(píng) /85
(一)為何叫“割圓法”?哪里體現(xiàn)了“割”? /85
(二)本講采用的方法與劉徽割圓法的差異 /86
(三)劉徽和祖沖之的生平 /86
第12講
聰明的枚舉:巧解數(shù)字謎
一、實(shí)驗(yàn)?zāi)康? /87
二、背景知識(shí) /87
(一)最笨的方法怎么填? /87
(二)如何使得枚舉時(shí)不遺漏可能的填數(shù)方案? /88
(三)如何手工計(jì)算判斷次數(shù)? /89
三、基本思路 /89
(一)最笨的枚舉法 /89
(二)聰明一點(diǎn)的枚舉法 /89
(三)更聰明的枚舉法 /89
四、編程步驟 /90
(一)角色設(shè)計(jì) /90
(二)變量設(shè)計(jì) /90
(三)過(guò)程描述與代碼展示 /90
五、遇到的bug及改正過(guò)程 /92
六、實(shí)驗(yàn)結(jié)果及分析 /92
(一)算法找到了多少種答案? /92
(二)對(duì)比笨算法和聰明算法的判斷次數(shù) /92
七、思考與延伸 /94
八、教師點(diǎn)評(píng) /94
第13講
再論聰明的枚舉:三階幻方
一、實(shí)驗(yàn)?zāi)康? /96
二、背景知識(shí) /96
(一)什么是幻方? /96
(二)怎樣填幻方? /97
(三)三階幻方有哪些性質(zhì)? /97
(四)三階幻方的“包卜魏猜想” /98
三、基本思路 /99
(一)最笨的填法是怎么填的? /99
(二)聰明的方法怎么填? /99
四、編程步驟 /100
(一)角色設(shè)計(jì) /100
(二)變量設(shè)計(jì) /100
(三)過(guò)程描述與代碼展示 /100
五、實(shí)驗(yàn)結(jié)果及分析 /103
六、思考與延伸 /103
七、教師點(diǎn)評(píng) /103
第14講
從最簡(jiǎn)單的做起:4個(gè)和尚分饃饃
一、實(shí)驗(yàn)?zāi)康? /104
二、基本思路 /104
三、編程步驟 /105
(一)角色設(shè)計(jì) /105
(二)變量設(shè)計(jì) /105
(三)過(guò)程描述與代碼展示 /105
四、遇到的bug及改正過(guò)程 /107
五、實(shí)驗(yàn)結(jié)果及分析 /108
(一)2個(gè)和尚分饃饃的分法與饃饃數(shù)有何關(guān)系? /108
(二)3個(gè)和尚分饃饃的分法與饃饃數(shù)有何關(guān)系? /109
(三)4個(gè)和尚分饃饃的分法與饃饃數(shù)有何關(guān)系? /110
六、思考與延伸 /110
七、教師點(diǎn)評(píng) /111
第15講
用“試錯(cuò)法”求解雞兔同籠問(wèn)題
一、實(shí)驗(yàn)?zāi)康? /112
二、背景知識(shí) /112
(一)什么是雞兔同籠問(wèn)題? /112
(二)怎樣求解雞兔同籠問(wèn)題? /113
三、基本思路 /114
四、編程步驟 /114
(一)角色設(shè)計(jì) /114
(二)變量設(shè)計(jì) /114
(三)過(guò)程描述與代碼展示 /115
五、遇到的bug及改正過(guò)程 /116
六、實(shí)驗(yàn)結(jié)果及分析 /116
七、思考與延伸 /116
八、教師點(diǎn)評(píng) /116
第16講
隨機(jī)有威力:打圓形靶子估計(jì)π
一、實(shí)驗(yàn)?zāi)康? /119
二、背景知識(shí) /120
三、基本思路 /120
四、編程步驟 /121
(一)背景和角色設(shè)計(jì) /121
(二)變量設(shè)計(jì) /121
(三)過(guò)程描述與代碼展示 /114
五、遇到的bug及改正過(guò)程 /122
六、實(shí)驗(yàn)結(jié)果及分析 /123
七、思考與延伸 /124
八、教師點(diǎn)評(píng) /125
第17講
再論隨機(jī)有威力:布豐投針估計(jì)π
一、實(shí)驗(yàn)?zāi)康? /127
二、背景知識(shí) /128
(一)布豐是誰(shuí)?布豐實(shí)驗(yàn)是干什么的? /128
(二)歷史上研究者做過(guò)的布豐投針實(shí)驗(yàn) /128
三、基本思路 /129
四、編程步驟 /129
(一)角色設(shè)計(jì) /129
(二)變量設(shè)計(jì) /130
(三)過(guò)程描述與代碼展示 /130
五、遇到的bug及改正過(guò)程 /132
六、實(shí)驗(yàn)結(jié)果及分析 /132
七、思考與延伸 /133
(一)扔圓環(huán)的碰線次數(shù) /133
(二)扔“將圓環(huán)掰直變成的投針”的碰線次數(shù) /134
(三)扔拐彎針的碰線次數(shù) /135
(四)比較一下長(zhǎng)針和短針的碰線次數(shù) /136
(五)布豐投針能算π的終極解釋 /137
八、教師點(diǎn)評(píng) /138
第18講
玩游戲體會(huì)“遞歸法”:河內(nèi)塔游戲
一、實(shí)驗(yàn)?zāi)康? /139
二、背景知識(shí) /140
(一)河內(nèi)塔的故事 /140
(二)什么是遞歸積木塊? /140
(三)遞歸積木塊是怎樣執(zhí)行的? /140
三、基本思路 /141
(一)最簡(jiǎn)單的情形:1個(gè)盤子 /142
(二)比較簡(jiǎn)單的情形:2個(gè)盤子 /142
(三)難一點(diǎn)的情形:3個(gè)盤子 /142
(四)再難一點(diǎn)的情形:4個(gè)盤子 /145
四、編程步驟 /145
(一)角色設(shè)計(jì) /145
(二)變量設(shè)計(jì) /145
(三)過(guò)程描述與代碼展示 /146
五、遇到的bug及改正過(guò)程 /146
六、實(shí)驗(yàn)結(jié)果及分析 /147
(一)輸入不同的n,驗(yàn)證移動(dòng)次數(shù) /147
(二)要是有64個(gè)盤子呢? /148
七、思考與延伸 /148
八、教師點(diǎn)評(píng) /148
第19講
“遞歸法”的應(yīng)用:斐波那契數(shù)列與黃金分割
一、實(shí)驗(yàn)?zāi)康? /149
二、背景知識(shí) /151
(一)斐波那契是誰(shuí)?什么是斐波那契數(shù)列? /151
(二)什么是黃金分割? /152
(三)斐波那契數(shù)列和黃金分割有何聯(lián)系? /152
三、基本思路 /153
四、編程步驟 /154
(一)角色設(shè)計(jì) /154
(二)變量設(shè)計(jì) /154
(三)過(guò)程描述與代碼展示 /155
五、實(shí)驗(yàn)結(jié)果及分析 /156
六、思考與延伸 /156
七、教師點(diǎn)評(píng) /157
(一)如果兔子要3個(gè)月才成年呢? /157
(二)斐波那契數(shù)列的有趣性質(zhì)一:相鄰月份數(shù)目之和 /157
(三)斐波那契數(shù)列的有趣性質(zhì)二:相鄰偶數(shù)月份數(shù)目之積、相鄰奇數(shù)月份數(shù)目之積 /158
(四)植物中的斐波那契數(shù)列 /159
第20講
玩游戲體會(huì)“搜索法”:走迷宮
一、實(shí)驗(yàn)?zāi)康? /160
二、基本思路 /161
三、編程步驟 /162
(一)角色設(shè)計(jì) /162
(二)變量設(shè)計(jì) /162
(三)過(guò)程描述與代碼展示 /163
四、遇到的bug及改正過(guò)程 /167
五、實(shí)驗(yàn)結(jié)果及分析 /167
六、思考與延伸 /169
(一)采用什么樣的策略走最合適? /169
(二) “走迷宮”和解數(shù)學(xué)題之間有什么關(guān)系? /169
七、教師點(diǎn)評(píng) /169
第21講
玩游戲體會(huì)“二分法”:找鉆石
一、實(shí)驗(yàn)?zāi)康? /171
二、背景知識(shí) /172
三、基本思路 /173
四、編程步驟 /173
(一)角色設(shè)計(jì) /173
(二)變量設(shè)計(jì) /173
(三)過(guò)程描述與代碼展示 /173
五、遇到的bug及改正過(guò)程 /177
六、實(shí)驗(yàn)結(jié)果及分析 /178
七、思考與延伸 /178
(一)采用什么樣的策略最合適? /178
(二)傅鼎荃說(shuō)對(duì)8行8列的游戲來(lái)說(shuō),使用二分法最多需要6次,為什么? /178
(三)用遞歸的觀點(diǎn)想一想 /179
八、教師點(diǎn)評(píng) /179
第22講
“二分法”的應(yīng)用:估計(jì)的值
一、實(shí)驗(yàn)?zāi)康? /180
二、背景知識(shí) /181
(一)是怎么發(fā)現(xiàn)的? /181
(二)畢達(dá)哥拉斯是誰(shuí)? /181
(三)為什么說(shuō)的發(fā)現(xiàn)是一件重要的事情? /182
三、基本思路 /182
四、編程步驟 /183
(一)角色設(shè)計(jì) /183
(二)變量設(shè)計(jì) /183
(三)過(guò)程描述與代碼展示 /183
五、遇到的bug及改正過(guò)程 /185
六、實(shí)驗(yàn)結(jié)果及分析 /185
(一)除了2,計(jì)算一下其他數(shù)的平方根,比如3、5、7 /185
(二)輸入不同的初始估計(jì)值low和up,需要多少次循環(huán)才能估計(jì)準(zhǔn)? /186
七、思考與延伸 /186
(一)有沒(méi)有更快的方法來(lái)估計(jì)出呢? /186
(二)計(jì)算2的十二次方根 /187
八、教師點(diǎn)評(píng) /191
第23講
仿真世界:牛頓的大炮
一、實(shí)驗(yàn)?zāi)康? /192
二、背景知識(shí) /192
(一)牛頓是誰(shuí)? /192
(二)牛頓的大炮是用來(lái)做什么的? /193
三、基本思路 /193
四、編程步驟 /194
(一)角色設(shè)計(jì) /194
(二)變量設(shè)計(jì) /194
(三)過(guò)程描述與代碼展示 /195
五、遇到的bug及改正過(guò)程 /197
六、實(shí)驗(yàn)結(jié)果及分析 /197
七、思考與延伸 /198
八、教師點(diǎn)評(píng) /198
(一)如何根據(jù)斜方向的拉力F計(jì)算出水平方向的拉力Fx和豎直方向的拉力Fy? /199
(二)平方反比率的推導(dǎo)和背后的原因 /200
(三)牛頓和他所在的那個(gè)光輝時(shí)代 /201
(四)用更大號(hào)的三棱鏡重做牛頓的光譜實(shí)驗(yàn) /201
第24講
再論仿真世界:森林里有幾只老鼠,幾只貓頭鷹?
一、實(shí)驗(yàn)?zāi)康? /202
二、背景知識(shí) /202
三、基本思路 /203
四、編程步驟 /204
(一)角色設(shè)計(jì) /204
(二)變量設(shè)計(jì) /204
(三)過(guò)程描述與代碼展示 /204
五、遇到的bug及改正過(guò)程 /207
六、實(shí)驗(yàn)結(jié)果及分析 /207
七、思考與延伸 /208
(一)要是第一年只有50萬(wàn)只老鼠呢? /208
(二)假如1萬(wàn)只貓頭鷹每年吃掉0.1萬(wàn)只老鼠呢? /208
(三)假如1萬(wàn)只貓頭鷹每年吃掉0.2萬(wàn)只老鼠呢? /209
八、教師點(diǎn)評(píng) /209
第25講
博弈初探:會(huì)下tic-tac-toe棋的阿爾法小狗
一、實(shí)驗(yàn)?zāi)康? /211
二、背景知識(shí) /211
(一)什么是tic-tac-toe棋游戲? /211
(二)人是怎樣下棋的? /212
三、基本思路 /213
(一)阿爾法小狗怎樣表示棋局? /213
(二)阿爾法小狗怎樣判斷下在哪里贏面大呢? /213
(三)阿爾法小狗怎樣下棋呢? /215
(四)阿爾法小狗怎樣對(duì)棋局進(jìn)行評(píng)分呢? /216
(五)阿爾法小狗要“深謀遠(yuǎn)慮”還是“目光短淺”? /216
四、編程步驟 /218
(一)角色設(shè)計(jì) /218
(二)變量設(shè)計(jì) /218
(三)過(guò)程描述與代碼展示 /219
五、遇到的bug及改正過(guò)程 /225
六、實(shí)驗(yàn)結(jié)果及分析 /225
七、思考與延伸 /227
(一)怎樣讓阿爾法小狗變聰明? /227
(二)新玩法:“狗狗大戰(zhàn)” /228
八、教師點(diǎn)評(píng) /228
(一)阿爾法狗的訣竅之一:控制樹(shù)不能太高 /229
(二)阿爾法狗的訣竅之二:控制樹(shù)不能太寬 /230
(三)神經(jīng)網(wǎng)絡(luò)是怎樣學(xué)會(huì)打分和走子的? /230