看見未來新趨勢
「兒童程式教育」是國家未來的競爭力,互動式數位技術已經不可避免地成為孩子成長的一部份。喜歡機器人的孩子,會自然而然地想要知道如何拆開機器人,也能把它組回去;如果他們不喜歡某個 app,他們可以自己動手寫一個。他們不該只是站在享受技術的那一端,應該要成為創造者。
這幾年許多國家認知到「兒童程式教育」是國家未來的競爭力,政府或民間紛紛投入大量的資源來推動,像是美國、英國、芬蘭、愛沙尼亞,以及台灣鄰近的香港、新加坡與韓國。例如英國從 2014 年開始,提供五歲以上兒童各種階段的程式教育。
而台灣呢?多數家長與老師不清楚程式教育對我們孩子未來的深遠影響,而錯失了讓孩子學習的機會。這是筆者寫這本書的目的,將我的兒童程式教學經驗與大家分享。介紹免費的網路課程資訊給家長與老師們,讓我們的孩子可以在「玩」中學習,發展創造力。
筆者在 2014 年提出「Coding for fun」的概念。我們鼓勵孩子學習 Scratch 或 ScratchJr,讓孩子熟悉這些創作工具,盡情地表達他們的創意與想法。當孩子愈喜歡寫 Scratch,他們的思考力與邏輯能力會發展得更好。一般的學習比較屬於單向思考或記憶,只是按部就班地完成某件事;能掌握 Scratch 的孩子,他的思考是多面向的,思慮會愈來愈周密。如何啟動孩子做自發性的學習呢?「Coding for fun」「快樂寫程式」是筆者所要強調的。
在本書中,筆者藉由一些簡單的例子,讓家長可以輕鬆地引導孩子探索 Scratch 和 ScratchJr 的世界,也讓家長了解,進入程式的世界是很容易的。目前筆者也製作了一個免費的 Scratch 學習網站,只要註冊就可以使用。也會在後面的文章做介紹。
為什麼寫這本書?
我們這個世代的父母,第一次聽到「兒童學程式」,大概會抱著懷疑的態度:小孩學得來嗎?會不會揠苗助長?又是補習班的花招?
七年前(2010年),小學三年級的兒子要求我教他寫程式。但是 BASIC、C 這些常用的程式語言對小學生並不容易接受,市面上也沒有適合的教材,該如何教呢?我買了本 BASIC,教了他幾頁,還教他畫流程圖(flow chart),最後連自己都覺得枯燥,於是請他自己看書學。結果,當然是不了了之。
那麼為什麼要寫一本書來推廣「兒童學程式」呢?兒童學寫程式是必要的嗎?
兩年後(2012年),小兒子升國中的暑假,我才知道有一個適合孩子的程式語言 —— Scratch,而 Scratch 竟然是小兒子想學程式的「幕後推手」。令人驚訝的是,他已經把 Scratch 玩得很好了,任何 Scratch 的功能都難不倒他。在我的教材中,那些讓孩子很容易接受的 Scratch 範例,幾乎都出自於他的原始設計。只要我問,某某功能怎麼做,他三兩下就把程式寫給我看。
Scratch的宗旨,是教你學會建立故事、遊戲與動畫,分享給世界上的人們。孩子運用 Scratch ,可以呈現互動故事、配上音樂做成動畫、遊戲,甚至做數學/科學的模擬(simulation)。有些家長反應:孩子學了 Scratch 後會寫一些動畫或遊戲,然後在電腦前笑得東倒西歪,還呼朋引伴請家人來看。這就是 Scratch,讓孩子可以天馬行空地發揮創意。
學齡前兒童也可以學程式?
對於 8 歲以下、年紀更小的孩子,他們從小就與智慧型手機或平板電腦為伍,這些觸摸世代(Touchscreen Generation)的電腦經驗是即時、直接而且直覺的,傳統電腦具備的螢幕、鍵盤、滑鼠、以及觸控板,對他們來說是有些距離的。但是孩子都是以消費者的角度來使用觸摸式產品,而非創造者的角度。這種單向的「使用者角度」,對於下一代的孩子並不是一個好的開始,家長可以有更好的選擇。
2014年麻省理工學院媒體實驗室(MIT Media Lab)、Tufts University 和 Playful Invention Company(PICO) 合作推出簡易版的 Scratch —— ScratchJr。ScratchJr 是以平板電腦為平台,為 5 到 7 歲的幼兒所設計的:這個年齡層的幼兒「認字」有些困難,而 ScratchJr 唯一需要輸入的文字,是在角色說話的泡泡中輸入內容。
當幼兒使用 ScratchJr,他們學會了如何使用電腦來創作並且表達自己,而不只是與電腦互動。在這個過程中,孩子學會解決問題,設計專題,而且發展出排列先後順序的能力,這是日後學業成功的基礎。
Children aren't just learning to code,they are coding to learn.