Scratch 是美國麻省理工學院媒體實驗室(MIT Media Lab)發展的一套「程式積木」,適合 8 至 18 歲的學生。像玩積木一樣,只要將「程式積木」做堆疊與組合,就能創造出動畫與遊戲。它的核心概念是為孩子設計一套利用「電腦運算」來實現「創意」的工具 :
Scratch 是圖像式的積木,具備程式設計的雛形;它隱藏了許多細節,將複雜的程式模組化。
例如:「移動10步」積木,就隱含了許多細節。角色的移動,到底是向左移動?向右移動?向上移動?向下移動?或是向右上45度移動?如何移動,其實與角色「面對的方向」有關。這牽涉到三角函數的計算,顯然地,孩子不需要懂三角函數,也可以清楚地指揮角色該往哪裡移動。
因為 Scratch 比一般程式語言入手快,短時間就能學會並應用。兒童或青少年對於撰寫動畫、遊戲很有興趣,以創作做為驅動力,孩子在反覆的創作中,自然地學習到解決問題的方法,也就是「運算思維」。
和 code.org 的遊戲學習最大的不同在於,code.org 的遊戲是基礎程式的邏輯訓練,解決特定問題。而 Scratch 隨著作品複雜度的增加,學生必須思考更多、更完善,是培養「運算思維」更好的學習平台。
Kids Coding Studio 對於 Scratch 積木做了詳細的分類與介紹,歡迎參考讓孩子快樂學程式(三采出版)。
Coding for Fun 是根據 2014 年哈佛大學所發表的「創意運算 Creative Computing」教材,加上 Kids Coding Studio 的教學經驗,實現「大規模開放式線上課程 (MOOCs)」的精神,將程式課程公開、免費。
Kids Coding Studio 過去以「創意運算 Creative Computing」教材教學,廣受好評。為了讓更多學生有機會學習程式,Kids Coding Studio 將這份教材改為線上免費課程,加入更多的自我探索與學習。
以這個線上教材開課時,教學變得很輕鬆,只要提醒學生是否探索完對應的章節就可以了。而詳細的講解,已由影片代勞,學生可以按照自己的理解速度,自主學習。老師可以把時間放在真正需要幫助的學生。
誰適合這門課 ?
Coding for Fun 適合小學五年級以上自學,小學四年級以下親子共學。
這門課建立孩子學程式的動機與基礎,如果孩子尚在小學階段,至少應讓孩子自由創作半年以上,再學進階課程。因為「圖像式的程式語言」和「真正的程式語言(text mode)」對孩子來說差別蠻大的,要有足夠的學習動機,較能引發下一波的自主學習。
無論您是學校老師、安親班老師、或是志工,如果願意推廣兒童程式設計,歡迎 email 至 coding4fun.tw@gmail.com,可以得到 Kids Coding Studio 的協助。
- 低門檻,容易學(low floor)
- 可以創造出複雜的作品(high ceiling)
- 支援廣泛、多樣性的創意(wide walls)
為什麼學 Scratch?
Scratch 是圖像式的積木,具備程式設計的雛形;它隱藏了許多細節,將複雜的程式模組化。
例如:「移動10步」積木,就隱含了許多細節。角色的移動,到底是向左移動?向右移動?向上移動?向下移動?或是向右上45度移動?如何移動,其實與角色「面對的方向」有關。這牽涉到三角函數的計算,顯然地,孩子不需要懂三角函數,也可以清楚地指揮角色該往哪裡移動。
因為 Scratch 比一般程式語言入手快,短時間就能學會並應用。兒童或青少年對於撰寫動畫、遊戲很有興趣,以創作做為驅動力,孩子在反覆的創作中,自然地學習到解決問題的方法,也就是「運算思維」。
運算思維分為四個部分
- 拆解(Decomposition):將複雜的問題或系統分解成更小、更易於管理的問題;
- 模式識別(Pattern Recognition):為了讓解決問題更有效率,將每個小問題分別檢視,思考之前是否有解過類似的問題;
- 抽象(Abstraction):只注意重要的細節,忽略不相關的資訊;
- 演算法(Algorithms ):設計簡單的步驟或規則來解決每個小問題。
和 code.org 的遊戲學習最大的不同在於,code.org 的遊戲是基礎程式的邏輯訓練,解決特定問題。而 Scratch 隨著作品複雜度的增加,學生必須思考更多、更完善,是培養「運算思維」更好的學習平台。
Kids Coding Studio 對於 Scratch 積木做了詳細的分類與介紹,歡迎參考讓孩子快樂學程式(三采出版)。
Coding for Fun 課程
Coding for Fun 是根據 2014 年哈佛大學所發表的「創意運算 Creative Computing」教材,加上 Kids Coding Studio 的教學經驗,實現「大規模開放式線上課程 (MOOCs)」的精神,將程式課程公開、免費。
哈佛大學的「創意運算」植入了運算思維的培養
運算觀念
- 序列(sequence):對某一個任務,確定一系列的步驟
- 迴圈(loops):重複執行相同的序列
- 平行(parallelism):在同一時間讓許多事同時發生
- 事件(events):一件事引發另一件事的發生
- 條件(conditionals):根據條件做決定
- 運算子(operators):支援數學與邏輯的表達
- 資料(data):儲存資料、讀取資料與更新資料
運算實作
- 反覆地增加(being iteratively and incrementally):發展了一點點,試試看,然後再發展一些
- 測試與除錯(testing and debugging):確保事情能執行,發現錯誤並解決問題
- 重複使用與混合(reusing and remixing):在現有的專案或想法上做點什麼
- 抽象與模組化(abstracting and modularizing):探索整個問題與其他部分的連結
建立觀點
- 表達(expressing):了解「電腦運算」是一種創作的媒介,「我可以創造」
- 連接(connecting):體認到「與他人一起創造」和「為他人創造」的力量,「當我有機會接觸他人,我可以做不一樣的事!」
- 質疑(questioning):有能力對世界提出問題,「我可以(運用電腦運算)提問,並理解(電腦運算)世界!」
Kids Coding Studio 過去以「創意運算 Creative Computing」教材教學,廣受好評。為了讓更多學生有機會學習程式,Kids Coding Studio 將這份教材改為線上免費課程,加入更多的自我探索與學習。
以這個線上教材開課時,教學變得很輕鬆,只要提醒學生是否探索完對應的章節就可以了。而詳細的講解,已由影片代勞,學生可以按照自己的理解速度,自主學習。老師可以把時間放在真正需要幫助的學生。
在這個課程中,學生
- 學會電腦運算觀念 : 包含 instruction、sequence、loop、parallelism、event、condition、operator、variable、list
- 在探索與遊戲中精熟 Scratch 各類積木
- 練習軟體開發技巧 : remix、測試、以及解決問題的能力
- 開啟創造力與實作力 : 創作各類型專案,像是自我介紹、樂團、音樂影片、短篇故事、以及遊戲
誰適合這門課 ?
Coding for Fun 適合小學五年級以上自學,小學四年級以下親子共學。
這門課建立孩子學程式的動機與基礎,如果孩子尚在小學階段,至少應讓孩子自由創作半年以上,再學進階課程。因為「圖像式的程式語言」和「真正的程式語言(text mode)」對孩子來說差別蠻大的,要有足夠的學習動機,較能引發下一波的自主學習。
Scratch 推廣
無論您是學校老師、安親班老師、或是志工,如果願意推廣兒童程式設計,歡迎 email 至 coding4fun.tw@gmail.com,可以得到 Kids Coding Studio 的協助。