用Scratch學程式!融合遊戲、藝術、科學、數學的視覺化導引
Learn to Program with Scratch: A Visual Introduction to Programming with Games, Art, Science,...
原文作者╱
Majed Marji
作  者╱
馬吉德•馬吉
譯  者╱
于欣龍、李澤 譯
出版社別╱
小五南
書  系╱
學習高手
出版日期╱
2018/03/15   (1版 2刷)
  

I  S  B  N ╱
978-957-11-9373-1
書  號╱
YI09
頁  數╱
312
開  數╱
20K
定  價╱
380 (特價 300)


程式設計教育第一本書!

本書特別提供!!教學範例網站 https://sites.google.com/view/wunan-scratchbook

為什麼要學Scratch?
●視覺化的程式設計語言,適合所有人。
利用它可以製作互動式程式、多媒體專案,包括動畫故事、讀書報告、科學實驗、遊戲和模擬程式等。
●提升解決問題能力,生活中不可或缺。
●學習門檻低,激發創造力和想像力。
※書籍推薦人
專業推薦(依姓氏筆畫排序)
國立清華大學學習科學與科技研究所教授林秋斌
臺北市日新國小校長、臺北市資訊輔導團主任輔導員林裕勝   
臺北市立南港高中資訊教師高慧君   
國立臺中教育大學科學教育與應用學系教授許良榮
※推薦文
為了研究Scratch 教學,我蒐集了國內外的Scratch 書籍,很多都流於食譜式教材,就是用一個個案例來呈現Scratch 的功能,但是案例間缺乏觀念的陳述,所以學生往往只能依樣畫葫蘆,不能夠將知識遷移到新案例中。部分Scratch 書籍則流於操作手冊,鉅細靡遺地介紹各種積木,但是缺乏程式設計的內涵。而這本原文書是我覺得寫得比較好的一本,很開心看到它被翻譯成中文版,讓更多學生能夠透過它認識Scratch 的各種可能性。
其實Scratch 本身就設計得很好,厲害的學生自己探索就能夠寫出不錯的作品,但是光靠探索,學生只是個工匠,東拼西湊地解決問題,而本書提供了很好的知識架構,讓學生可以將自己會做的事加以正規化,了解如何以電腦科學的角度來陳述與解決問題。對於那些需要引導的學生,本書也提供了許多範例來豐富學生的經驗,此外,本書設計了許多精美的圖文解釋來輔助學生理解程式碼的功用,相當難得。
Scratch 要學得好,除了有好書的加持很重要外,學生本身的創作慾望也很重要。因為心中有想要創作的目標,配合Scratch提供的積木來表達,透過書籍的引導,逐步掌握與電腦溝通的能力,進而透過電腦來與外在世界互動,這個過程所產生的樂趣,正是支持學生不斷往前學習的動力。
台北市立南港高中高慧君
※審定者簡介
許惠美 審定
學歷
美國伊利諾大學香檳分校課程與教學博士

現職
佛光大學資訊應用學系助理教授

經歷
私立衛理女中英文教師

Majed Marji
擁有韋恩州立大學的電子工程博士學位和達文波特大學戰略管理的MBA學位。他在汽車行業工作超過15年,開發了許多軟體,涉及即時資料採集、設備控制、實驗室管理、工程資料分析、嵌入式系統、遠端資訊處理、混合動力汽車,以及與安全相關的動力系統。Marji博士還是韋恩州立大學電氣工程系的兼職講師,主要講授通信工程、機器視覺、微處理器、控制系統,以及演算法和資料結構等相關課程。
※譯者簡介
于欣龍、李澤 譯
●于欣龍
工學碩士,現任奧松機器人公司董事長

●李澤
軟體設計師、資訊系統專案管理師

第1 章:準備開始
第2 章:動作和繪圖
第3 章:外觀和音效
第4 章:程序
第5 章:變數
第6 章:用邏輯做決定
第7 章:重複:深入迴圈
第8 章:字串處理
第9 章:清單

數學好好玩Ⅰ:
174道提昇空
間智力與數學能
力的推理遊戲
專門用來打好四
則運算基礎的數
學課本《第3級

玩出創意5:5
0個魔法科學實

專門用來打好四
則運算基礎的數
學課本《第5級

專門用來打好四
則運算基礎的數
學課本《第4級

專門用來打好四
則運算基礎的數
學課本《第1級




書評
以程式玩遊戲,能訓練邏輯思考與創造力,輕鬆易學的一本書!
~~國立臺中教育大學科學教育與應用學系教授許良榮

第1章準備開始
你想自己動手創作遊戲、動畫故事、教學工具或科學模擬實驗嗎?那就快來學習Scratch 吧! Scratch 是圖形化程式設計語言,可以快速實現上述程式。本章將簡單對其進行介紹,內容包括:
-初識 Scratch 的程式設計環境
-學習不同類型的程式積木
-創作第一個 Scratch 遊戲
當完成一個Scratch 程式時,你可以把它儲存到電腦,或者直接上傳到Scratch 官網。(官網上的其他使用者可以給你的程式留言甚至進行再創作。)
有沒有很激動? OK,讓我們起航吧!
什麼是 Scratch
電腦程式本質上就是一系列指令的集合,它能告訴電腦要做什麼。通常,我們使用程式設計語言寫下這些指令,當然Scratch本質上也是這樣。
大部分程式設計語言都是文字類型的,這就意味著你需要輸入如下神秘的英文。
對初學者來說,學習這些程式設計語言並了解它們的語法規則是非常困難的。但是Scratch 不同,因為它不是文字類型的,而是一種視覺化的程式設計語言。Scratch 誕生於麻省理工學院(MIT)媒體實驗室,設計它的初衷就是為了更加容易地學習程式設計,也讓學習過程更加有趣。
創作Scratch 程式無須輸入任何複雜的命令或者程式碼,你要做的僅僅是連接一些圖形化的程式積木。若不懂的話,我們來看一個簡單的程式,如圖1-1 所示。
圖1-1: 當執行這個Scratch 程式積木後,貓咪會說「Hello!」,文字顯示在文字對話框中
圖1-1 中的貓咪被稱為角色,它能理解並執行你所發出的指令。紫色的程式積木就是一個指令,它命令貓咪在文字對話框中顯示「Hello!」。本書中的大部分程式都包含多個角色,你可以使用各種程式積木讓角色移動、旋轉、說話、演奏音樂甚至做數學題。
創作Scratch 程式需要將各種不同顏色的程式積木嵌合在一起,就像玩拼圖或樂高積木一樣。嵌合在一起的多塊積木被稱為腳本。圖1-2 展示了一段腳本,其功能是連續四次改變角色(Cat)的顏色。
在這段腳本中,角色每次改變顏色時都會等待1 秒。

試一試 1-1
雖然我們從未討論過圖1-2 中積木的含義,但你可以仔細閱讀一下,看看這些積木的組合,嘗試指出腳本中哪些積木讓貓咪改變了顏色。(提示:第一個紫色積木效果清除使貓咪的顏色還原為最初的顏色。)如果我們移除了等待⋯秒這塊積木,你能想像執行後的結果嗎?

這本書講解的Scratch 版本為發行於2013 年5 月的Scratch 2。該版本允許你直接在網路瀏覽器中創作Scratch 專案,因此,你不需要安裝任何軟體,本書也將使用線上版本進行創作。現在你已經明白什麼是Scratch 了嗎?下面開始我們的程式設計之旅吧!
Scratch 程式設計環境
如何開啟Scratch 呢?首先進入Scratch 的官方網站(http://scratch.mit.edu/),然後點擊創造(Create) 連結,進入Scratch專案編輯器,界面如圖1-3 所示。
圖1-3大致包含三個部分:左上方的舞台、左下方的角色列表、右邊與腳本相關的區域(包括積木區和腳本區)。標籤頁中除了程式標籤頁,還包括造型標籤頁和音效標籤頁,我們將在後面討論這些標籤頁。如果你已經登入Scratch 官網,那麼在右下方還能
看到背包功能,它能分享你的專案,並使用現有專案中的角色和腳本。
下面讓我們快速瀏覽一下這三個部分吧!
舞台
舞台是角色進行移動、繪畫、互動的場所。舞台寬為480點長、高為360 點長,如圖1-4 所示。舞台的中心點是x=0 和y=0。
我們發現在舞台的下方顯示了游標 (x, y) 的座標值,當游標在舞台上移動時,數字會不斷地改變。透過這種方式便能得知游標在舞台上的座標。
再來看看舞台上方的功能。展示模式會隱藏所有的腳本和程式設計工具,並將舞台放大到全螢幕。編輯框v 顯示目前專案的名稱。綠旗和停止按鈕可以啟動或停止程式。

試一試 1-2
在舞台上移動游標,仔細觀察游標 (x, y) 的座標值。如果游標超過了舞台的邊緣,數值會發生什麼變化呢?我們再切換到展示模式,舞台又有什麼變化呢?如果要退出展示模式,可以點擊展示模式中左上角的圖示或按Esc鍵。

角色列表
在目前專案中,所有的角色名稱及其縮圖都會顯示在角色列表中。一個新的Scratch 專案包含一個白色的舞台和一隻貓咪造型的角色,如圖1-5 所示。
你可以透過角色列表上方的四個按鈕,對目前專案添加新的角色:Scratch 的範例庫、內建的繪圖編輯器(你可以在這裡手繪一個造型)、連接到電腦的攝影裝置w,或者是使用你電腦中的素材。

試一試 1-3
嘗試使用角色列表上的各種按鈕,添加一些角色到目前專案中。你也可以拖曳角色縮圖改變角色列表的排放順序。

每一個角色都有專屬於自己的腳本、造型、音效。有兩種方法可以查看它們:一是點擊角色列表中的角色縮圖;二是雙擊舞台中的角色。目前已經選取的角色在角色列表中會以藍框顯示。
當選取某個角色後,只需要在標籤頁中切換,就能看到其腳本、造型、音效,這些標籤頁在稍後會詳細講解。若用滑鼠右鍵點擊(Mac 可以使用Ctrl + 點擊)角色1 的縮圖,你將會看到如圖1-6所示的選單。
複製選項將複製目前角色並命名為不同的名稱。刪除選項v 能將該角色從列表中刪除。儲存到電腦選項可以把角色在你電腦儲存為.sprite2 格式(如果要匯入角色到專案中,點擊圖1-5 的「從電腦中挑選角色」按鈕)。隱藏/顯示選項可以顯示或隱藏舞台中的角色。