讓孩子透過 Code.org 學習程式語言!
我們先看一段有趣的影片,請記得打開繁體中文字幕。這是非營利組織 Code.org 在美國揭幕時,由微軟總裁比爾 · 蓋茲(Bill Gates)、 臉書創辦人馬克 · 佐伯克和(Mark Zuckerberg)和NBA 明星球員克里斯 · 波許(Chris Bosh)代言的揭幕影片。兩年後這個倡議得到前美國總統歐巴馬的贊同,他也拍攝了一段影片鼓勵美國的學子們學習程式語言,透過邏輯思維以及程式語言動手解決問題。
Code.org
Code.org 是一個網站也是一個非盈利性組織,宗旨在於讓全世界各地的女性、學齡(前)兒童和各膚色弱勢學生群體,受益於計算機科學教育。在這個網站裡,學生不需要透過敲打鍵盤來撰寫程式。而是透過 Code.org 組織的工程師,巧妙設計的各種「程式積木」,每一個積木背後都代表一個邏輯學上的角色,透過拖曳與組合這些「程式積木」與電腦溝通,可以拼湊出一個現實世界中的複雜問題。透過分析、思索這些問題,慢慢的歸納出解決方案,而這些問題被依照年齡精心的設計成一個又一個的關卡,後面我們會慢慢討論這些有趣的事情。
註冊一個學習帳號
您應該要註冊一個學習帳號,登入後系統會記住您所學習的每一門課程。註冊時,系統會簡單詢問您的身份,您可以是一個教師或學生。學生的角色比較簡單,單純就是利用系統來紀錄您的學習情況。而假設您選擇的身份是教師的話,您可以加入 Code.org 組織一起參與課程的討論與設計。或是透過一個班級達到共學的效果。
年齡 4-6 歲:
這個階段的課程為了學齡前的兒童所設計。適合的年齡為 4 歲到 6 歲,6 歲以上的關卡,可能需要具備簡單的閱讀能力。每個課程內有將近 20 堂課。每一堂課程皆是計算機科學或程式語言中的經典問題,例如:序列、迴圈、遞迴,與除錯(debug)技巧。
學齡前兒童的課程重點在於拆卸與重組問題的能力,例如其中的經典關卡「序列(Sequence)」,學生必須透過拼圖遊戲,幫助小蜜蜂採集足夠的花朵後,回到蜂巢裡釀造蜂蜜。
而序列是一個有趣的數學議題,序列的到底是什麼?序列就是被排成一列的「事件(event)」。就如同小蜜蜂採集花蜜回蜂巢的任務一樣。而序列的內容是由一個一個有順序性的「元素(element)」構成,而這些元素在遊戲上便是一個個的「程式積木」,代表「飛行方向」、「採集花蜜」以及「釀造蜂蜜」。
這個遊戲關卡最有趣的地方在於,不同的元素排列組合,理應會產生不同的結果。但只存在一種元素組合,也就是唯一的序列,能夠經由最短路徑達成蜜蜂的採蜜工作。
年齡 8-18 歲:
學生將更深入的理解前面所學的程式邏輯,並且善用已經學會的程式技巧,設計自己的遊戲關卡。學生在設計遊戲關卡的時候,得先基於之前所學的計算機科學基礎(也就是那些「程式積木」),僅可能的描述一個問題。並嘗試思索自己設計的問題,將一個模糊且籠統的問題歸納成為若干個議題(issue),最後試圖分析、著手解決這些議題。
以基於聖經的第一卷書「創世紀」為發想設計的遊戲關卡「創世神(Minecraft)」為例,創世神是很典型的業界遊戲設計基本流程。
一個遊戲的誕生,源自於一段基於時間(timeline)、空間(scence)與事件(event)完美搭配的腳本(script)。時間的意思就是時間軸,代表在遊戲中一段又一段的分鏡。空間,指的就是場景(sense),場景是你故事中的主角們發生關係的載體,而在場景中的任意時間軸點上發生的不同事件,就是遊戲腳本的基本精神。
例如在創世紀裡,場景是地球,時間(t=0)的點上,神說,要有光、 就有了光!神稱光爲晝、稱暗爲夜!於是在地球上就產生了日與夜。神用泥土塑造了萬物,所以場景上變多了許多事件。管理這些萬物的最佳方法就是收斂這些物種個各式各樣需求,分析他們,維持他們。例如第 3 關卡裡,創世神創造了一隻綿羊,綿羊需要活動,綿羊需要理毛,重複無限多次,綿羊便過得汲汲營營,才不會有時間去思考哲學議題,這樣對綿羊們比較好。 :P
課程進展
目前在美國已經有超過 70 所學校與 Code.org 合作設計算機科學課程。這些學校也接受的專業培訓和指導,培育出專業的教師,涵蓋了小學、中學、高中三個階段,覆蓋幾百萬的學生。截至目前為止約有 60 多萬名教師使用 Code.org 網站作為計算機科學教材,並且有超過兩千萬名學生。
關於課程的思考
我認為教導孩子們計算機科學或程式語言,並不是基於一種學才藝的出發點。事實上,計算機科學的領域進展太快了,孩子們現在學了任何一種程式語言都不保證終身受用。那麼課程的目的到底是什麼呢?我們都知道計算機科學背後的理論就是哲學基礎、數學以及工程學,哲學教導我們質疑萬物,倘若一個孩子願意質疑 1+1=2,那他就是哲學家 XD!數學以及工程學協助我們分析這些問題與並且證明、實現我們針對這些問題所預想的可能解答。答案呼之欲出,我們希望孩子能夠經由計算機科學為媒介,嘗試跟自己對話,也跟這個世界對話。