常常會覺得自己很愛給自己挖坑,總是強調太陽實驗室是在教「思考」,而不只是教些技術,孩子學到後面,總是想要讓他們能夠應用所學,做出自己想做的,這樣才甘心。
專案金字塔
之前暑假有辦過「遊戲設計師」的營隊,帶著孩子透過觀察生活中的遊戲,找出規則,轉化成程式。結束後,家長、孩子反應都很好,表示過去都是學習如何寫程式,很少有機會能夠思考怎樣從事物中,運用邏輯,透過抽象化,轉換成程式表現出來。
如果將整個專案的過程,想成一座金字塔,頂端是這專案的主題,也是想達成的目標,可能是一個不那麼具體的概念,底部是最後呈現的程式畫面,中間則是根據主題不斷發散收斂,產生的規則,思考抽象的程式碼,之後切割為許多小元件、模組,最下面則是變數、邏輯判斷式,這些堆疊成一個專案的完成。
以之前遊戲設計師營隊為例,最頂端的主題,因為是由我們先規劃好,所以接下來的發展,包含當中的規則,以及會用到的元件、函式以及相關邏輯程式,其實我們都已經心中有譜,孩子其實是一步步參與其中,透過引導思考,完成整個專案金字塔,但其實每一步都在我們的掌控中。
面對冬令營提案時,內部不斷討論,怎樣能夠再進一步?有沒有可能讓孩子自己去決定主題,從發想到構思,設計到寫程式,這樣完整的過程?像是自己選專題題目,去做出來,而非我們找好題目,照著做,整個金字塔,從頭到尾都是由他自己去完成,五天有沒有可能?
我想到自己幫唸國小的女兒買了一隻可以計步的手錶,配合手機app,只要走到目標的步數,app就會發放遊戲金幣,用這些金幣可以裝扮遊戲中的人物,女兒也因此每天努力地走路。我心想這樣的遊戲化設計真有趣,讓孩子沈浸在當中而不排斥,不如就以遊戲化設計為方向,從他們生活中的小事出發,去思考發展,我這樣跟負責程式教學的文揚老師說。
程式限制了專案金字塔的高度
我舉了一些遊戲化程式的範例,像是Nike Running app,如果連續跑步,或是有最快的紀錄時,都會提供不同的徽章,累積不同成就,讓人更想去運動,還有其他的例子。這時文揚老師問了我一句:「Scratch做得到嗎?」。
對喔!五天內,小朋友會用的程式會是Scratch,於是趕快重新看一下Scratch網站,發現光是要做到計分、等級晉升,甚至是完成任務發放成就徽章,對國小生而言,就有一定挑戰,而且要在五天內,學習應用,Scratch程式有其的特性也有他的限制,少了一些介面設計元件,要能在短時間學習應用,並不容易。
不過反觀Scratch有其限制,但是同時也因為這些限制,讓國小生使用,反而更能專注在「思考邏輯」上,在這個階段是個很適合的工具。
我們兩位重新「以終為始」畫出這幾天要讓孩子經歷學習的示意圖,並且盤點出使用Scratch程式語言,對一位初學者,三天內要學習的觀念與技能(第四五天要實際運用),再進一步,該用什麼方式能夠引導孩子思考自己生活中的小事,轉化成有趣的概念,進而整理出規則,甚至產出概念畫面,有多少的時間可以使用,有多少的時間可以學習,雖然以前也常常跑Google Design Sprint流程,在五天內從零到有發展出一個Prototype,但是這次除了要發展外,還要帶著孩子學習,兩人都覺得是一大挑戰,但覺得還是有可能,就來試試看吧!
中間當然有些取捨,也提出很多方式,比方透過範例劇本來引導(引誘)孩子往我們想要的方向去做,在內部會議中提出,就被設計總監Fish打槍,她說這樣子就不是他們自己想的,少了心理層面的思考,那就只是照著老師的想法去做,誒…….,只能說我們對「思考教學」實在很執著。
一方面要能兼顧設計思考、運算思維以及程式學習,一方面也要在有限的時間內去完成這三樣,同時必須讓孩子做出自己想到的,幾番討論後,終於找出可行的方法,預計在營隊中,會教孩子遊戲設計的心理學,並且引導思考將生活中的小事,轉化為有趣的應用或是遊戲,並且學習相關的程式邏輯、變數等知識,整合應用,發展出自己的樣貌。
總是愛挖坑給自己跳,簡單的路不走,專門挑難的走,總是希望在營隊期間,提供不同於平常的學習體驗,雖然我們學期間也有開課,但是願意每週固定上程式課的學生還是少數,如果能夠有一個連續不中斷的五天學習,對孩子而言,除了程式知識外,同時透過完成專案,培養思考與建立信心的好機會,這也是我們一直想帶給孩子的禮物。
一位程式設計師,除了有寫出程式的能力,也要能夠向前拓展,思考到心理層面,才能透過程式創作。
Cookie | Duration | Description |
---|---|---|
cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |