●免費提供程式碼,輕鬆自學就能夠創造個人風格的電子卡片、遊戲、動畫、音樂等等數位作品,豐富自己的人生,國小階段就能贏在起跑點,為學習運用人工智慧提早做好準備!
■教育部107年公布實施的《十二年國民基本教育課程綱要》,科技領域課程並未規劃國小階段的學習時數,僅建議以彈性課程方式實施。全國所有的國民小學,有必要將國小資訊教育課程結合生活科技領域與時代潮流的科技議題,訂定相關之教學綱要與學習內容,發展相關之教學活動與教材,並且與國中以上科技領域課程相互參照銜接,本書將是最好的選擇教材,若學校沒有安排彈性課程,本書也適合學生自學。
本書目標讀者——
●國小、國中學生
●文科社會組高中生
●非資訊專業科系的大專學生、一般上班族、有志於一窺程式設計領域堂奧的青少年讀者
本書特色——
●針對108新課綱「程式設計」課程教學現場,國中師生可以拿來當作課後補充教材,國小師生可以拿來當作彈性課程教材。
●不是為「程式設計」而學程式設計,而是以遊戲方式奠定「運算思維」基礎而學習程式設計。
●內容以生活中的範例,著重解決生活中的問題的能力,透過程式設計會學到的「運算思維」為主。
●附免費程式碼及教材電子檔,師生可以下載,即學即用。
作者簡介:
周樂正
.平鎮高中資訊科技專任科退休教師
.畢業於國立交通大學控制工程學系(現已合併為國立陽明交通大學電機工程學系),國二時開始接觸APPLE II電腦,與電腦結下不解之緣,退伍後,先後擔任高職資訊科及普通高中資訊科技教師。為追求提升效率及自動化,對於電腦硬體、軟體都有涉獵,擔任電腦教學工作長達三十多年之久,樂於帶領學生打好程式基礎,用程式語言去探索軟體和硬體的整合應用,培養學生在資訊科技領域學習的動機與熱忱。
.著有《文科社會組也會程式設計》一書
.聯絡:camelchou@gmail.com
施百俊
.國立屏東大學文化創意產業學系教授兼副校長
.國立臺灣大學商學研究所博士、美國康乃爾大學電機工程碩士、國立臺灣大學電機系畢業。小學開始寫程式,不知不覺已超過四十年
.著有《文科社會組也會程式設計》、《學測物理》、《學測化學》、《故事與腳本寫作》(均五南出版)等數十本著作,得獎無數,為國內重要的跨領域專家
.聯絡:bj@bjshih.idv.tw
章節試閱
第一課 Scratch的基本認識
程式語言依撰寫操作型式可以分成二大類:
一、積木式
利用滑鼠拖拉堆疊來建立程式,讓初學者熟悉程式邏輯,大型程式較不適用,例如:
1. Scratch:主要開發個人電腦端的程式,開發的程式在個人電腦上運行,運行時需要有Scratch開發環境。
2. Microsoft MakeCode:可用於開發micro:bit的韌體。
3. Google Blockly:用積木堆疊就可以產生5種文字型語言(JavaScript、Python、PHP、Lua、Dart)。
4. MIT App Inventor 2:主要用來開發行動裝置的App,基於Android程式語言,開發的應用可以在手機、平板上運行。
5. Thunkable:也是用來開發行動裝置的App,可橫跨Android與iOS平台,開發的應用可以在手機、平板上運行。
二、文字型
輸入文字來建立程式,一般傳統認知的程式語言,初學者不容易上手,例如:Python、C#、C++⋯⋯,不勝枚舉。
因為Scratch和Microsoft MakeCode適用於全年齡層使用者,所以被廣泛運用於初學者學習程式語言使用。即便使用者從未學過程式設計,透過拖曳預先設定好的積木式程式模件,堆疊出指令,設定或控制角色及背景的行動和變化,從而完成程式撰寫。
1-1 圖形化積木程式設計—Scratch簡介
Scratch是美國麻省理工學院所設計的,它讓程式設計語言初學者不需先學習語言語法便能設計專案。開發者期望透過學習製作Scratch,啟發和激勵使用者在愉快的環境下經由操作(如設計互動故事、多人遊戲)去學習程式設計、數學和計算知識,同時獲得創造性的思考、邏輯編程和協同工作的體驗。
學習者透過「積木塊」的拖曳,只要把放在正確的位置(堆積木)、輸入積木塊中的數值(給命令),就能完成一支小型遊戲或簡單動畫。「堆積木」與「給命令」是人類天生就會的事,Scratch就是把這兩件事實踐在學習程式上,自己動手做出自己的作品,當一步步地從無到有完成這個作品時,從外表來看,是在學程式(把程式積木串連在一起,變成一段指令),但實際上卻是在學「解決問題」的過程。
教育部每年都有舉辦「全國貓咪盃Scratch競賽」,報名時間大約都在每年三月左右,組別分為國小組和國中組,競賽的項目則分為動畫組和遊戲組,創作工具採用Scratch 3離線版(Win11作業系統)及各類自由軟體:包括影像處理軟體(Inkscape、PhotoCap、GIMP)、文書處理軟體(LibreOffice)、聲音音樂處理軟體(Audacity、MuseScore、VMPK、Hydrogen)、檔案壓縮解壓縮軟體(7-Zip)、數位心智圖軟體(Xmind),能讓學生能夠充分展現多媒體創作的實力。
1-2 Scratch—線上程式設計版
我們只要有能上網的個人電腦,就能開始使用Scratch,只要開啟瀏覽器,直接用Google搜尋關鍵字「Scratch」,就可以立刻得到Scratch的網址。
當然,直接在網址處輸入網址https://scratch.mit.edu/也是可以的。
如果,網站沒有出現繁體中文,請直接將網頁滑到最下方,切換成繁體中文即可。
在網頁的最上方,有開始創造和加入兩個按鈕。建議加入Scratch,可以在雲端儲存作品,還有背包功能可以暫存資料,提供不同專案之間的資料交換。
加入Scratch必須填寫一些基本資料,並且要提供一個email信箱供驗證,之後如果忘記密碼,也才可以透過這個email重設新密碼。
請至個人email信箱收信,會有一封來自no-reply@scratch.mit.edu的確認信函,請點擊《驗證我的帳戶》完成email信箱認證。
驗證成功後會跳至「歡迎來到Scratch!」頁面。
1-3 下載與安裝Scratch離線版
除了線上網頁版之外,如果想要不必連上網際網路就能執行,也可以下載離線版。
直接用Google搜尋關鍵字「Scratch Offline Editor」,就可以立刻得到Scratch離線版的下載網址。
請選擇正確的作業系統版本再下載,以Windows作業系統為例,我們點擊《直接下載》,就會在下載資料夾(預設是下載資料夾)出現剛剛下載的Scratch安裝程式。
請直接點擊剛剛下載的檔案進行安裝程序,安裝完成後,桌面會出現執行Scratch 3的連結。
簡單來說,Scratch就是可以想像成有一個舞台,這個舞台可以準備很多背景(有一個目前工作的背景)和音效,舞台背景的切換和音效播放都可以透過程式來控制,也可以有增添很多角色(有些可能是屬於隱藏的狀態,有些可能是顯示的狀態),每個角色都可以有自己的造型(有一個目前工作的造型,如果不斷地切換造型就是動畫了)、音效,而這些造型和音效也都有自己角色的程式來控制,角色和舞台之間有共同使用的變數可以溝通,也可以透過廣播和接收廣播的事件達到互動的效果。
如果要切換語系或切換色彩模式,功能表有Settings選項可以變更。
雖然可以不必登入就能使用Scratch,但是如果登入之後(需要事先註冊),有很多雲端的資源可以使用,也可以將專案儲存於雲端,也有背包可以暫存資料作為不同專案的資料交換使用,可以省去將角色(包含程式和造型)/背景/造型先匯出成檔案,再將該檔案匯入至其他專案的麻煩。
建立新專案時,會自動產生一個貓咪角色,於舞台區正中央,舞台區左上角的《綠色開始旗幟》圖示,點擊就會執行程式,《紅色停止按鈕》則是停止圖示,點擊就會全部停止。
如果要載入本書的相關範例程式,請使用功能表的檔案→從你的電腦挑選,開啟副檔名為sb3的檔案,至於其他操作的細節,會在後面的課程中按部就班,循序漸進地詳加敘述。
第一課 Scratch的基本認識
程式語言依撰寫操作型式可以分成二大類:
一、積木式
利用滑鼠拖拉堆疊來建立程式,讓初學者熟悉程式邏輯,大型程式較不適用,例如:
1. Scratch:主要開發個人電腦端的程式,開發的程式在個人電腦上運行,運行時需要有Scratch開發環境。
2. Microsoft MakeCode:可用於開發micro:bit的韌體。
3. Google Blockly:用積木堆疊就可以產生5種文字型語言(JavaScript、Python、PHP、Lua、Dart)。
4. MIT App Inventor 2:主要用來開發行動裝置的App,基於Android程式語言,開發的應用可以在手機、平板上...
目錄
第一課 Scratch的基本認識
第二課 資料型態與運算
第三課 輸入與輸出
第四課 循序結構、事件與廣播訊息
第五課 控制——選擇(條件)結構、偵測與邏輯
第六課 控制——重複結構(迴圈)
第七課 清單(陣列)
第八課 函式積木
第九課 進階擴充功能
第一課 Scratch的基本認識
第二課 資料型態與運算
第三課 輸入與輸出
第四課 循序結構、事件與廣播訊息
第五課 控制——選擇(條件)結構、偵測與邏輯
第六課 控制——重複結構(迴圈)
第七課 清單(陣列)
第八課 函式積木
第九課 進階擴充功能