編輯推薦
《動手玩轉Scratch 3.0編程:人工智慧科創教育指南》是暢銷書《動手玩轉Scratch 2.0編程》的升級版。其是少兒編程領域優秀的學習資料,深受學生、家長、培訓機構的好評,以內容翔實、案例精彩、寫法精湛著稱。本書為上一版內容的全面升級,內容更嚴謹,講解更科學。
內容提要
Scratch是可視化的程式語言,其豐富的學習環境適合所有年齡階段的人。利用它可以製作互動式程式、富媒體項目,包括動畫故事、讀書報告、科學實驗、遊戲和模擬程式等,此外,Scratch也是人工智慧科創教育領域的重要工具。本書的目標是將Scratch作為工具,教會讀者最基本的編程概念,同時揭示Scratch在教學和科創方面的強大能力。本書使用升級後的Scratch 3.0版本,該版本尤其適用於人工智慧科創教育領域。
《動手玩轉Scratch 3.0編程:人工智慧科創教育指南》共分9章,前三章講解如何使用Scratch繪製幾何圖形,並創建富媒體應用程式,其餘章節使用Scratch 講解各個編程概念。每一章都有許多完整的案例,讀者可以模仿它們製作許多類似的程式。當讀完整本書後,相信你一定可以親自完成各種編程項目。
《動手玩轉Scratch 3.0編程:人工智慧科創教育指南》假定讀者沒有任何編程基礎。本書內容的難度基本不會超過高中數學,個別有難度的模擬程式可以先行跳過。
目錄
致謝................................................................................................. VIII
本書介紹............................................................................................ IX
第1 章 準備開始............................................................................... 1
什麼是 Scratch .................................................................................. 2
試一試 1-1 ...................................................................................... 3
Scratch 編程環境 .............................................................................. 3
舞台 ......................................................................................................... 4
試一試 1-2 ...................................................................................... 5
角色列表 ................................................................................................. 5
試一試 1-3 ...................................................................................... 6
積木區 ..................................................................................................... 7
試一試 1-4 ...................................................................................... 8
腳本區 ..................................................................................................... 8
試一試 1-5 ...................................................................................... 9
試一試 1-6 .................................................................................... 10
造型標籤頁 ........................................................................................... 10
試一試 1-7 .................................................................................... 11
聲音標籤頁 ........................................................................................... 11
試一試1-8 .................................................................................... 12
背景標籤頁 ........................................................................................... 12
試一試 1-9 .................................................................................... 13
角色信息 ............................................................................................... 13
選單欄 ................................................................................................... 14
繪圖編輯器 ...................................................................................... 15
設定圖像的中心 ................................................................................... 15
試一試 1-10 .................................................................................. 16
設定透明色 ........................................................................................... 16
製作第一個 Scratch 遊戲 ................................................................. 17
第一步:準備背景 ............................................................................... 18
第二步:加入反彈板和小球 ............................................................... 18
第三步:讓角色動起來 ....................................................................... 19
試一試 1-11 .................................................................................. 20
第四步:添加聲音更有趣 ................................................................... 21
Scratch 積木一覽 ............................................................................ 22
算術運算符和函式 ........................................................................... 23
算術運算符 ........................................................................................... 23
隨機數 ................................................................................................... 24
數學函式 ............................................................................................... 25
本章小結 .......................................................................................... 25
練習題 ............................................................................................. 25
第2 章 運動和繪圖.......................................................................... 28
使用運動模組的積木 ........................................................................ 28
絕對運動 ............................................................................................... 29
試一試 2-1 .................................................................................... 30
相對運動 ............................................................................................... 31
試一試 2-2 ...............................................................................33
其他運動積木 ....................................................................................... 33
畫筆模組和一個簡單的畫圖程式 ...................................................... 34
試一試 2-3 .................................................................................... 35
試一試 2-4 .................................................................................... 36
神奇的重複執行 ............................................................................... 36
試一試 2-5 .................................................................................... 38
旋轉的正方形 ....................................................................................... 38
試一試 2-6 .................................................................................... 39
圖章積木 ............................................................................................... 39
試一試 2-7 .................................................................................... 40
Scratch 項目 .................................................................................... 40
貓咪收集錢袋 ....................................................................................... 40
接蘋果遊戲 ........................................................................................... 44
關於被克隆的角色 ........................................................................... 47
本章小結 .......................................................................................... 48
練習題 ............................................................................................. 49
第3 章 外觀和聲音.......................................................................... 52
外觀模組 .......................................................................................... 53
切換造型創建動畫 ............................................................................... 53
試一試 3-1 .................................................................................... 54
讓角色思考並說話 ............................................................................... 55
試一試 3-2 .................................................................................... 55
圖形特效 ............................................................................................... 56
角色大小和可視狀態 ........................................................................... 56
試一試 3-3 .................................................................................... 57
角色間的圖層 ....................................................................................... 57
試一試 3-4 .................................................................................... 58
聲音和音樂模組 ............................................................................... 58
播放音頻檔案 ....................................................................................... 58
彈奏鼓聲和其他聲音 ........................................................................... 59
創作音樂 ............................................................................................... 60
控制音量 ............................................................................................... 61
試一試 3-5 .................................................................................... 61
設定演奏速度 ....................................................................................... 61
試一試 3-6 .................................................................................... 61
Scratch 項目 .................................................................................... 62
在舞台上跳舞 ....................................................................................... 62
煙花效果 ............................................................................................... 66
本章小結 .......................................................................................... 68
練習題 ............................................................................................. 68
第4 章 過程.................................................................................... 72
訊息的廣播和接收 ........................................................................... 73
傳送訊息和接收訊息 ........................................................................... 74
使用廣播機制協調多個角色 ............................................................... 75
將大型程式分而治之 ........................................................................ 77
使用廣播模擬過程 ............................................................................... 79
創建自己的積木 ................................................................................... 80
給積木添加參數 ................................................................................... 82
試一試 4-1 .................................................................................... 86
過程的嵌套 ........................................................................................... 87
試一試 4-2 .................................................................................... 89
分析問題的思維方式 ........................................................................ 89
自頂向下分析 ....................................................................................... 90
試一試 4-3 .................................................................................... 92
自底向上分析 ....................................................................................... 93
本章小結 .......................................................................................... 95
練習題 ............................................................................................. 95
第5 章 變數.................................................................................... 98
Scratch 的數據類型 ......................................................................... 99
參數凹槽與積木形狀 ........................................................................... 99
數據類型的自動轉換 ......................................................................... 100
變數詳解 ........................................................................................ 101
什麼是變數 ......................................................................................... 101
創建並使用變數 ................................................................................. 104
試一試 5-1 .................................................................................. 107
變數的作用範圍 ................................................................................. 107
修改變數的值 ..................................................................................... 110
繪製蜘蛛網 ..........................................................................................111
繪製風車 ..............................................................................................111
試一試 5-2 .................................................................................. 112
克隆體中的變數 ................................................................................. 112
變數值顯示器 .................................................................................115
在程式中使用變數值顯示器 ............................................................116
歐姆定律模擬實驗 ............................................................................. 116
試一試 5-3 .................................................................................. 118
串聯電路模擬實驗 ............................................................................. 118
試一試 5-4 .................................................................................. 120
計算球體體積和表面積 ..................................................................... 120
試一試 5-5 .................................................................................. 122
繪製玫瑰花瓣 ..................................................................................... 122
試一試 5-6 .................................................................................. 124
葵花籽分布模型 ................................................................................. 124
試一試 5-7 .................................................................................. 126
獲得用戶輸入 ................................................................................ 126
讀取數字 ............................................................................................. 126
讀取字元 ............................................................................................. 127
執行算術運算 ..................................................................................... 127
本章小結 ........................................................................................ 128
練習題 ........................................................................................... 128
第6 章 用邏輯做決定.................................................................... 131
關係操作符 .................................................................................... 132
布爾表達式的求值 ............................................................................. 134
比較字元和字元串 ............................................................................. 134
分支結構 ........................................................................................ 136
如果……那么積木 ............................................................................. 136
將變數作為標誌變數 ......................................................................... 137
如果……那么……否則積木 ............................................................. 139
嵌套分支結構 ..................................................................................... 140
選單驅動程式 ..................................................................................... 141
邏輯運算符 .................................................................................... 143
與操作符(and) ................................................................................. 143
或操作符(or) ................................................................................... 144
不成立操作符(not) .......................................................................... 145
使用邏輯運算符檢查數值範圍 ......................................................... 146
Scratch 項目 .................................................................................. 148
坐標猜測遊戲 ..................................................................................... 148
試一試 6-1 .................................................................................. 150
三角形分類遊戲 ................................................................................. 150
試一試 6-2 .................................................................................. 154
貓咪巡線 ............................................................................................. 154
試一試 6-3 .................................................................................. 155
求解直線方程 ..................................................................................... 156
目 錄 XIX
試一試 6-4 .................................................................................. 160
其他應用程式 ..................................................................................... 160
本章小結 ........................................................................................ 160
練習題 ........................................................................................... 160
第7 章 深入循環........................................................................... 163
循環結構 ........................................................................................ 164
重複執行直到積木 ............................................................................. 164
試一試 7-1 .................................................................................. 166
試一試 7-6 .................................................................................. 179
Scratch 項目 .................................................................................. 179
模擬時鐘 ............................................................................................. 179
試一試 7-7 .................................................................................. 181
小鳥射擊遊戲 ..................................................................................... 181
試一試 7-8 .................................................................................. 185
自由落體實驗 ..................................................................................... 185
試一試 7-9 .................................................................................. 188
拋體運動模擬器 ................................................................................. 188
試一試 7-10 ................................................................................ 191
其他應用程式 ..................................................................................... 191
本章小結 ........................................................................................ 191
練習題 ........................................................................................... 192
第8 章 字元串處理........................................................................ 194
字元串數據類型 ............................................................................. 195
特殊字元統計 ..................................................................................... 195
字元比較 ............................................................................................. 196
試一試 8-1 .................................................................................. 198
字元串操作示例 ............................................................................. 198
Igpay Atinlay ....................................................................................... 198
試一試 8-2 .................................................................................. 200
單詞修正 ............................................................................................. 200
試一試 8-3 .................................................................................. 202
解密遊戲 ............................................................................................. 202
Scratch 項目 .................................................................................. 205
射擊遊戲 ............................................................................................. 205
試一試 8-4 .................................................................................. 208
將二進制數轉換為十進制數 ............................................................. 208
試一試 8-5 .................................................................................. 209
試一試 8-6 .................................................................................. 211
劊子手遊戲 ......................................................................................... 211
試一試 8-7 .................................................................................. 216
分數運算教學工具 ............................................................................. 217
試一試 8-8 .................................................................................. 222
本章小結 ........................................................................................ 222
練習題 ........................................................................................... 222
第9 章 列表.................................................................................. 224
Scratch 的列表 .............................................................................. 225
創建列表 ............................................................................................. 225
試一試 9-1 .................................................................................. 227
列表的積木 ......................................................................................... 228
添加和刪除 ......................................................................................... 228
插入和替換 ......................................................................................... 228
獲得列表中的變數 ............................................................................. 229
試一試 9-2 .................................................................................. 230
包含積木 ............................................................................................. 230
邊界檢查 ............................................................................................. 230
動態列表 ........................................................................................ 231
向列表填充用戶輸入 ......................................................................... 231
繪製柱狀圖 ......................................................................................... 233
試一試 9-3 .................................................................................. 236
數字列表 ........................................................................................ 236
尋找最值 ............................................................................................. 236
試一試 9-4 .................................................................................. 237
計算平均數 ......................................................................................... 237
試一試 9-5 .................................................................................. 238
搜尋和排序 .................................................................................... 238
線性搜尋 ............................................................................................. 238
頻數統計 ............................................................................................. 239
試一試 9-6 .................................................................................. 241
冒泡排序 ............................................................................................. 241
試一試 9-7 .................................................................................. 243
尋找中位數 ......................................................................................... 244
Scratch 項目 .................................................................................. 245
我是詩人 ............................................................................................. 245
試一試 9-8 .................................................................................. 246
四邊形分類遊戲 ................................................................................. 246
試一試 9-9 .................................................................................. 248
數學魔法師 ......................................................................................... 249
試一試 9-10 ................................................................................ 252
花的結構測驗 ..................................................................................... 252
試一試 9-11 ................................................................................ 254
其他應用程式 ..................................................................................... 254
本章小結 ........................................................................................ 254
練習題 ........................................................................................... 255
附錄A 分享與合作........................................................................ 256
創建 Scratch 賬號 ......................................................................... 256
使用書包功能 ................................................................................ 259
創建項目 ........................................................................................ 261
創建新的項目 ..................................................................................... 261
改編項目 ............................................................................................. 262
項目頁 ................................................................................................. 262
分享項目 ............................................................................................. 263
作者簡介
Majed Marji,擁有韋恩州立大學的電子工程博士學位和達文波特大學戰略管理的MBA學位。他在汽車行業工作超過15年,開發了許多軟體,涉及實時數據採集、設備控制、實驗室管理、工程數據分析、嵌入式系統、遠程信息處理、混合動力汽車,以及與安全相關的動力系統。Marji博士還是韋恩州立大學電氣工程系的兼職講師,主要講授通信工程、機器視覺、微處理器、控制系統,以及算法和數據結構等相關課程。
譯者簡介
李澤,國內資深創客,軟體設計師、信息系統項目管理師。2013年畢業於新疆醫科大學信息管理與信息系統專業,有十餘年編程實戰經驗。善於構建課程體系,分解知識點,將複雜的概念簡單化。拍攝百餘集STEM教育教學視頻。已出版《動手玩轉Scratch 2.0編程》《Scratch高手密碼》等共8本著作。
于欣龍,工學碩士。2013年畢業於哈爾濱工程大學機械設計及理論專業。新生代85後機器人創業達人,被媒體譽為“機器人爸爸”,國內第一批將Arduino引入中國的資深創客。現任哈爾濱奧松機器人科技有限公司總經理,創業期間指導多家出版社引進二十多本與開源硬體和創客有關圖書,曾出版譯著《愛上Arduino》和《Arduino機器人權威指南》。
媒體評論
前言
譯者序1
為什麼我們要學習編程?為什麼歐美已開發國家的孩子更具有創造力?為什麼中國青少年素質教育總是家長談起的話題?帶著一系列的問題,我便開始尋找答案。微軟創始人比爾·蓋茨曾說過孩子學編程要從小開始,從興趣出發,通過學習計算機編程來培養創造力,未來我們的下一代才具有競爭力。為此,歐美已開發國家掀起一股青少年學習計算機編程的浪潮。
Scratch 是由麻省理工學院(MIT)媒體實驗室所開發的一款面向青少年的圖形化簡易編程軟體。使用者只需將色彩豐富的指令方塊進行組合,便可創作出多媒體程式、互動遊戲、動畫故事等作品。
近幾年本人一直從事少兒編程的研究工作,在研究中發現中小學生使用C 語言編程的難度較大,許多學生受困於語法的規則和數學算法,無法理解程式之間的邏輯關係,一般的程式語言均採用英文編寫,又增加了學習難度。而對於使用Scratch 的學生來說,他們覺得編程就像是在設計一款遊戲或者編寫動畫故事。他們不需要撰寫複雜的文字語法,只需要通過指令流程安排和一連串積木模組的組合,就可以在短時間內完成有趣的遊戲和動畫設計。目前Scratch 已被翻譯成40 多種語言在全球使用,並且能夠直接在網際網路瀏覽器上執行。
關於本書
本人有幸先於廣大讀者讀到本書英文版Learn to Program with Scratch,通過閱讀發現,本書在內容編排上難度適中,非常適合中學生閱讀,可作為中學科創教育教材或學生自學手冊,同時也可以作為大學選修課輔助教材,實用性較強。為此,本人向電子工業出版社編輯推薦引進,並聯合國內資深創客李澤先生將其翻譯出來,早日跟廣大師生分享,共同學習。2019 年,隨著Scratch 3.0 版本的普及,本書又推出了新的版本,更加適合作為人工智慧科創教育領域的教材使用。
致謝
首先要感謝麻省理工學院(MIT)媒體實驗室的開發人員和本書作者為廣大Scratch 愛好者做出的巨大貢獻,本人因尋找關於Scratch 的學習資料有幸結識譯者李澤先生,沒有他的辛勤付出,本書不可能順利完成。其次要感謝本書編輯林瑞和與高麗陽先生,他們為引進本書多次與外方進行溝通,並對譯稿進行多次審閱。最後,感謝每一位投身於科創教育的老師。
值此出版之際,本人特別希望通過本書來喚醒更多的中國青少年從小喜歡編程,熱愛創造,未來成為一個能夠改變世界的科學家。
于欣龍
奧松智慧型創始人、資深創客
譯者序2
2014 年春節午夜時分,我和弟弟在一起探討兒童編程教育時,第一次聽說 Scratch,從此便與 Scratch 邂逅、結緣。隨後我嘗試開辦培訓班,錄製教學視頻。10 個月後,我幸運地獲得了翻譯本書的機會。當我看到本書的目錄時,我便下定決心:一定要將本書的思想傳遞給國內廣大的 Scratch 愛好者、教師、學生以及家長。2019 年,鑒於Scratch 3.0 版的普及,我又對本書做了升級整理。該版本更適合青少年讀者在人工智慧科創領域的學習。
縱觀國內外的 Scratch 書籍,大都以獨立或進階的案例作為主線。本書雖然基於 Scratch,卻完全超越 Scratch 本身。作者不僅貢獻了眾多優秀的案例,更重要的是,作者僅把 Scratch 視為工具,講解了計算機科學常見的概念,如遞歸、字元串處理、列表等。因此,本書的適用範圍很廣,任何想了解計算機科學的人都能從中獲益。
本書循序漸進地從計算機科學常見的概念出發,配合 Scratch 腳本演示說明,然後通過大量的項目、練習題加以鞏固。作者詳細地解釋了每段腳本的含義,相信讀者一定能理解其中的原理。
最後感謝好友于欣龍的翻譯推薦,感謝研究生導師張學良院長的支持,感謝我的女朋友劉剡細緻地審閱。有了大家的信任和支持,我才能竭盡全力完成本書的翻譯。
李澤
技術編輯簡介
編輯Tyler Watts 是一位富有創造性的計算機教育家。他在堪薩斯城的聯合學區教授六到八年級的學生,還在密蘇里大學堪薩斯分校教授成人學生。他從2009 年開始使用Scratch,並不斷地用它彌補數字鴻溝,告訴學生如何像計算機科學家一樣思考。在教學過程中,Tyler 逐漸認識到讓學生獨立思考、接受挑戰,以及成為數字創造者的重要性。他認為編程是一種個性表達和教導學生的方法,和任何其他的藝術形式一樣有趣。
致謝
雖然本書封面上只有一個作者,但是有許多人都參與了創作。感謝No Starch 出版社的專業人員,特別是本書的編輯Jennifer Grifith-Delgado 和出版編輯Alison Law。他們的建議和專業知識讓本書更加完善,甚至在每一頁上都有批註。同樣感謝Paula L. Fleming和Serena Yang 對本書的貢獻。
感謝本書的技術編輯Tyler Watts 提供的寶貴意見,他深思熟慮的建議在本書中多次出現。
最後感謝我的妻子Marina 和我的兩個兒子——Asad 和Karam。他們是我完成這個長期項目的不竭動力,而且給予了我充分的時間和空間。現在終於可以彌補我曾經錯過的那些時光了!
本書介紹
Scratch 是可視化的程式語言,其豐富的學習環境適合所有年齡階段的人。利用它可以製作互動式程式、富媒體項目,包括動畫故事、讀書報告、科學實驗、遊戲和模擬程式等。與其他程式語言相比,Scratch 的可視化編程環境讓我們更容易領略編程的魅力。
Scratch 不僅僅是編程工具,它還提升了我們解決問題的能力,而這才是生活中不可或缺的。該平台提供即時反饋,可以快速檢查你的邏輯正確與否。可視化的結構讓跟蹤程式流程變得更加簡單,利於完善思考的方式。從本質上講,Scratch 縮短了大眾與計算機科學思維的距離。它不僅可以激發學習的內在動力,促進你對知識的追求,還鼓勵動手實踐,通過探索和發現自主學習。學習Scratch 的門檻非常低,創造力和想像力才是最重要的。
現在有不少Scratch 編程教學的圖書,但它們大多數都面向青年讀者,而且案例簡單、數量有限,指導讀者通過Scratch 的用戶界面進行操作。這類書突出的是Scratch 本身,而非編程的思想。相反,本書的目標是將Scratch 作為工具,教會讀者最基本的編程概念,同時揭示Scratch 在教學上的強大能力。
本書為誰而寫
如果你渴望探索計算機科學,那么這本書就是為你準備的。本書講解基本的編程概念,可以作為中學的教材或自學手冊。針對不同專業背景的學生,本書還可以作為大學教材,也可以作為類似課程的輔助教材。
通過本書的講解,Scratch 授課老師將深化對編程的理解。老師們可以開發相應的教案,鼓勵孩子們使用Scratch 滿足自己的需要。
本書假定讀者沒有任何編程基礎。本書內容的難度基本不會超過高中數學,個別有難度的模擬程式可以先行跳過。
致讀者
程式設計師的美妙之處在於創造。試想一下:你提出了一個問題,然後在數小時內使用鍵盤創造出一個軟體,這是不是很讓人驚嘆呢?
然而,編程技能和任何技能一樣,唯有勤奮練習,方能遊刃有餘。
在編程時,你可能會經常犯錯,但是不要氣餒,不要放棄,花時間思考其中的概念和邏輯,並使用不同的思路和技術,直到糾正它們。
然後不斷前行學習新的內容。
本書特點
本書的理念是親自動手解決問題,從而掌握編程和計算機科學的相關概念。我希望培養讀者的想像力,並向大家分享我在計算機編程領域的經驗。
在這種理念下,本書的編寫是以項目為導向的。我會詳細說明某個概念,然後製作多個運用此概念的案例。因此,我們的重點是解決問題,而非Scratch 的具體使用方法。
為了更好地解釋編程的概念,不斷增強你對知識點的理解,本書的案例都是精心挑選的,而且涉及各個領域的知識。
書中的“試一試”和每章結尾的“練習題”不斷地挑戰著你的編程能力。這兩部分也能提供許多新的思想。我建議你嘗試完成這些練習,並提出在編程時遇到的問題。如果你能夠解決自己提出的問題,說明你對編程已經有了深刻的理解。
本書結構
為了快速入門,本書前三章講解如何使用Scratch 繪製幾何圖形,並創建富媒體應用程式。其餘章節使用Scratch 講解各個編程概念。
第1 章:準備開始,介紹了Scratch 的編程環境、積木的概念和創建程式的方法。
第2 章:運動和繪圖,講解了運動模組和Scratch 的繪圖方法。
第3 章:外觀和聲音,討論了Scratch 的外觀模組、聲音模組和音樂模組。
第4 章:過程,說明了過程是一種讓程式結構化、模組化的方式。從本章開始,我們會關注良好的編程風格。
第5 章:變數,講解了如何使用變數跟蹤記錄信息,向用戶詢問並得到用戶的輸入,這為製作互動式應用程式打下基礎。
第6 章:用邏輯做決定,概括了用邏輯做決定的方法和控制程式的執行流程。
第7 章:深入循環,詳細討論了Scratch 中的循環結構,並通過具體案例展示循環的使用方法。
第8 章:字元串處理,討論了字元串數據類型,展示了許多常見的字元串操作過程。
第9 章:列表,闡明了列表是變數的容器,展示了如何使用它們製作功能強大的程式。
每一章都有許多完整的案例,你可以模仿它們製作許多類似的程式。
本書最後還有附錄A :分享與合作,講解Scratch 3.0 網路版的相關內容。
當讀完整本書後,我相信你一定可以親自完成各種編程項目!