Scratch是美國麻省理工學院所發展 的一套全新電腦圖形化程式語言,可以用 來創造互動式故事、動畫、遊戲、音樂和 藝術。Scratch也是英文常用語“start from scratch",是「從頭開始」的意思,暗示 Scratch也是適合在電腦資訊領域中起步初 學的電腦程式語言。Scratch主要為為8到 16歲的人設計,同時也可以讓各種年齡層 的人使用,包含學習者和他們的家人。
傳統文字形式的電腦語言課程(像是 C、Java),通常先介紹資料型態,接著 是變數和流程控制、函式等重要的觀念, 這樣方式對中小學生來說並不合適,因為 他們在抽象思考及運用符號表達都還未建 立。這個階段應該透過Scratch協助學生優 先建立下面的重要觀念:
1. 循序式觀念-Scratch中,每一個指令都 是有先後順序,在一個指令的直列上, 由上而下,先到的先被執行,所以上面 指令方塊會先被執行,方塊執行完畢 後,循序地一個一個指令往下會被執 行,不會跳過也不會離開。讓學生接受 循序式的指令思考,找到目前電腦正在 執行中的指令方塊,是未來可以在較大 的程式中除錯的重要基礎。
2. 迴圈反覆-電腦最有特色的地方就是永 遠不會覺得累,除非沒有電,讓學生在 程式中把一件簡單的事做對後,可以不 斷地利用迴圈不停重覆,比如可以讓 Scratch小貓咪畫一間小房子後,就可以 讓學生挑戰一次可以畫五間房子,看看 可否挑戰成功。迴圈的觀念可以說是電 腦程式中最重要的觀念,將具重覆性的 程式碼放在迴圈內,把有差異化的部份 放在迴圈外,每次帶入給迴圈,這正是 奠定抽象電腦程式撰寫的最重要能力。
3. 事件 觸 發 - 當 前 主 流 計 算 機主要架 構都具有框架(framework)和元件 (component)的關係,透過事件的觸 發和處理,簡化程式的架構,同時讓程 式更直覺。Scratch設計了許多波浪狀的 開始事件方塊,像是當角色被點一下、 空白鍵被按下、或是聲音超過特定的數 值,這些事件都可以讓下方循序的程式被執行。讓學生會正確利用事件的方 塊,可以做出更簡潔的程式。
4. 判斷及比較-鑽石型的判斷方塊,由傳 統流程圖中的菱形判斷方塊所改編,本 來程式只能從頭到尾反覆地做好一件 事,透過條件判斷可以選擇兩種或兩種 以上的情形,這點也是非常挑戰學生的 思考方式,從簡易開始學習到複雜的判 斷練習,這些也是未來程式設計能力的 基石。
5. 運用程式解決問題和表達自我-課程中 要讓學生知道,學習Scratch後,可以多 找一些機會運用Scratch來做創意的展現 (圖2),比如可以運用Scratch來製作小 組報告,科展時可以用來做動畫模擬, 或是設計同學的生日卡片,透過實際的 運用和練習,讓跨領域的學習可以更具 成效。
科學月刊目錄:http://www.ntsec.gov.tw/User/Article.aspx?a=2932
大拇指的Scratch課程(入門&進階): http://www.thumb.com.tw/course_coding/scratch