為什麼要學Scratch?
●視覺化的程式設計語言,適合所有人。
利用它可以製作互動式程式、多媒體專案,包括動畫故事、讀書報告、科學實驗、遊戲和模擬程式等。
●提升解決問題能力,生活中不可或缺。
●學習門檻低,激發創造力和想像力。
程式設計教育第一本書!
本書特別提供!!教學範例網站 https://sites.google.com/view/wunan-scratchbook
作者簡介:
Majed Marji
擁有韋恩州立大學的電子工程博士學位和達文波特大學戰略管理的MBA學位。他在汽車行業工作超過15年,開發了許多軟體,涉及即時資料採集、設備控制、實驗室管理、工程資料分析、嵌入式系統、遠端資訊處理、混合動力汽車,以及與安全相關的動力系統。Marji博士還是韋恩州立大學電氣工程系的兼職講師,主要講授通信工程、機器視覺、微處理器、控制系統,以及演算法和資料結構等相關課程。
審核者簡介
許惠美
學歷
美國伊利諾大學香檳分校課程與教學博士
現職
佛光大學資訊應用學系助理教授
經歷
私立衛理女中英文教師
譯者簡介:
于欣龍
工學碩士,現任奧松機器人公司董事長
李澤
軟體設計師、資訊系統專案管理師
各界推薦
名人推薦:
專業推薦(依姓氏筆畫排序)
國立清華大學學習科學與科技研究所教授林秋斌
臺北市日新國小校長、臺北市資訊輔導團主任輔導員林裕勝
臺北市立南港高中資訊教師高慧君
國立臺中教育大學科學教育與應用學系教授許良榮
書評
以程式玩遊戲,能訓練邏輯思考與創造力,輕鬆易學的一本書!
~~國立臺中教育大學科學教育與應用學系教授許良榮
名人推薦:專業推薦(依姓氏筆畫排序)
國立清華大學學習科學與科技研究所教授林秋斌
臺北市日新國小校長、臺北市資訊輔導團主任輔導員林裕勝
臺北市立南港高中資訊教師高慧君
國立臺中教育大學科學教育與應用學系教授許良榮
書評
以程式玩遊戲,能訓練邏輯思考與創造力,輕鬆易學的一本書!
~~國立臺中教育大學科學教育與應用學系教授許良榮
章節試閱
第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 的「從電腦中挑選角色」按鈕)。隱藏/顯示選項可以顯示或隱藏舞台中的角色。
第1章準備開始
你想自己動手創作遊戲、動畫故事、教學工具或科學模擬實驗嗎?那就快來學習Scratch 吧! Scratch 是圖形化程式設計語言,可以快速實現上述程式。本章將簡單對其進行介紹,內容包括:
-初識 Scratch 的程式設計環境
-學習不同類型的程式積木
-創作第一個 Scratch 遊戲
當完成一個Scratch 程式時,你可以把它儲存到電腦,或者直接上傳到Scratch 官網。(官網上的其他使用者可以給你的程式留言甚至進行再創作。)
有沒有很激動? OK,讓我們起航吧!
什麼是 Scratch
電腦程式本質上就是一系列指令的集合,它能告訴電腦...
推薦序
為了研究Scratch 教學,我蒐集了國內外的Scratch 書籍,很多都流於食譜式教材,就是用一個個案例來呈現Scratch 的功能,但是案例間缺乏觀念的陳述,所以學生往往只能依樣畫葫蘆,不能夠將知識遷移到新案例中。部分Scratch 書籍則流於操作手冊,鉅細靡遺地介紹各種積木,但是缺乏程式設計的內涵。而這本原文書是我覺得寫得比較好的一本,很開心看到它被翻譯成中文版,讓更多學生能夠透過它認識Scratch 的各種可能性。
其實Scratch 本身就設計得很好,厲害的學生自己探索就能夠寫出不錯的作品,但是光靠探索,學生只是個工匠,東拼西湊地解決問題,而本書提供了很好的知識架構,讓學生可以將自己會做的事加以正規化,了解如何以電腦科學的角度來陳述與解決問題。對於那些需要引導的學生,本書也提供了許多範例來豐富學生的經驗,此外,本書設計了許多精美的圖文解釋來輔助學生理解程式碼的功用,相當難得。
Scratch 要學得好,除了有好書的加持很重要外,學生本身的創作慾望也很重要。因為心中有想要創作的目標,配合Scratch提供的積木來表達,透過書籍的引導,逐步掌握與電腦溝通的能力,進而透過電腦來與外在世界互動,這個過程所產生的樂趣,正是支持學生不斷往前學習的動力。
台北市立南港高中高慧君
為了研究Scratch 教學,我蒐集了國內外的Scratch 書籍,很多都流於食譜式教材,就是用一個個案例來呈現Scratch 的功能,但是案例間缺乏觀念的陳述,所以學生往往只能依樣畫葫蘆,不能夠將知識遷移到新案例中。部分Scratch 書籍則流於操作手冊,鉅細靡遺地介紹各種積木,但是缺乏程式設計的內涵。而這本原文書是我覺得寫得比較好的一本,很開心看到它被翻譯成中文版,讓更多學生能夠透過它認識Scratch 的各種可能性。
其實Scratch 本身就設計得很好,厲害的學生自己探索就能夠寫出不錯的作品,但是光靠探索,學生只是個工匠,東拼西湊地解...
作者序
為什麼我們要學習程式設計?為什麼歐美發達國家的孩子更具有創造力?為什麼我們的青少年教育總是家長談起的話題?帶著一系列的問題,我便開始尋找答案。微軟創始人比爾.蓋茲曾說過孩子的程式設計要從小開始,從興趣出發,透過電腦程式設計來培養創造力,未來我們的下一代才具有競爭力。為此,歐美發達國家掀起一股青少年學習電腦程式設計的浪潮。
Raspberry Pi(中文名為「樹莓派」,簡寫為RPi)是一款信用卡大小的卡片式電腦,自2012 年問世以來,受眾多電腦發燒友和創客的追捧,曾經一「派」難求。樹莓派基金會創始人Eben Upton 為了改變青少年對電腦程式設計缺乏興趣這一現狀,他創造出了樹莓派,希望透過它能夠激勵更多的青少年將電腦程式設計從小視為愛好,未來可以發展成職業。
樹莓派作為一種教學工具,鼓勵青少年展開各種電腦實驗,透過對樹莓派的使用研究,本人發現其安裝了各種程式設計語言的直譯器和編譯器,對青少年可以使用樹莓派系統中安裝好的Scratch 這款圖形化程式設計軟體進行程式設計。
Scratch 是由麻省理工學院(MIT)媒體實驗室所開發的一款針對青少年的圖形化簡易程式設計軟體。使用者只需將色彩豐富的程式積木進行組合,便可創作出多媒體程式、互動遊戲、動畫故事等作品。近幾年本人一直從事Arduino 程式設計課的研究工作,研究中發現中小學生使用C 語言程式設計難度較大,許多學生受困於語法的規則和演算法,無法理解程式之間的邏輯關係,一般的程式語言均採用英文編寫,又增加了學習難度。而對於使用Scratch 的學生來說,他們覺得程式設計就像是在設計一款遊戲或者編寫動畫故事。他們不需要撰寫複雜的文字語法,只需要透過指令流程安排和一連串程式積木的組合,就可以在短時間內完成有趣的遊戲和動畫設計。目前Scratch 已翻譯成四十多種語言在全球使用,最新推出的Scratch 2.0 版本更可直接在網路瀏覽器上執行。
關於本書
縱覽中國現有關於Scratch 的圖書,本人發現講解Scratch 2.0的並不多,能夠以專案為導向並解釋程式設計概念,有問有答的圖書就更少。本人有幸先於廣大讀者讀到本書英文版Learn to Program with Scratch,透過閱讀發現,本書內容編排難度適中,非常適合中學生閱讀,可作為中學教育教材或學生自學手冊,同時也可以作為大學選修課輔助教材,實用性較強。
因本書涉及圖片與文字混編較多,書中難免會出現疏漏與錯誤,值此出版之際,本人特別希望透過本書來喚醒更多的青少年從小喜歡程式設計,熱愛創造,未來成為一個能夠改變世界的科學家。
奧松機器人創始人、資深創客
于欣龍
為什麼我們要學習程式設計?為什麼歐美發達國家的孩子更具有創造力?為什麼我們的青少年教育總是家長談起的話題?帶著一系列的問題,我便開始尋找答案。微軟創始人比爾.蓋茲曾說過孩子的程式設計要從小開始,從興趣出發,透過電腦程式設計來培養創造力,未來我們的下一代才具有競爭力。為此,歐美發達國家掀起一股青少年學習電腦程式設計的浪潮。
Raspberry Pi(中文名為「樹莓派」,簡寫為RPi)是一款信用卡大小的卡片式電腦,自2012 年問世以來,受眾多電腦發燒友和創客的追捧,曾經一「派」難求。樹莓派基金會創始人Eben Upton 為了改...
目錄
第1 章:準備開始
第2 章:動作和繪圖
第3 章:外觀和音效
第4 章:程序
第5 章:變數
第6 章:用邏輯做決定
第7 章:重複:深入迴圈
第8 章:字串處理
第9 章:清單
第1 章:準備開始
第2 章:動作和繪圖
第3 章:外觀和音效
第4 章:程序
第5 章:變數
第6 章:用邏輯做決定
第7 章:重複:深入迴圈
第8 章:字串處理
第9 章:清單