🚨週年慶最後三日🚨全站課程 83 折、最後加碼 $899💰 再送激高 $1600 券❗️
天
時
分
全站 83 折🔥
登入/註冊
小蛙同學
2022/01/13
1,854

玩遊戲學程式,讓想像力成為你的原始碼!

程式教育在近幾年成為熱議話題,甚至程式設計即將納入國高中課綱規劃;然而如何不讓玩家(學生)在學程式的過程中,限制了想像力的施展?這確實是一門學問。

對文章有興趣來不及看?點選右上角「橘色小書籤」收藏文章,再也不怕錯過就是一輩子!

自從美國國家科學基金會( NSF )在 2016 年開始推廣跨領域科學教育後,STEM 學習就變成一個很熱門的名詞。STEM 四個字母分別代表了科學( Science )、技術( Technology )、工程( Engineering )和數學( Mathematics )。現代個人電腦和手機如此普及,隨著時代潮流「程式教育」好像逐漸變成一個「外文學習」一樣的熱門名詞。

Apple 在 2016 年推出的《Swift Playgrounds》就是一款充滿教育意義的「寫程式遊戲」。遊戲中有個可愛的生物,玩家必須透過簡單的程式編寫方法來解開謎題,引導這個可愛的生物往目標前進。


圖片來源:Taco Chen

因為這種解謎類型的遊戲通常都是目標導向,往往玩家們學到的是解決某些固定的問題。例如「走兩步、向右轉、重複四次」這樣的指令來達到目標,雖然能夠讓玩家理解一些基本的程式邏輯(例如 If, loop, fuction, paramter 等)、也讓玩家體會了「寫程式」的過程,但往往因為太目標導向,反而限制了玩家的想像力發揮空間。

如果用畫圖來比喻,就像是美術老師教我們畫一顆蘋果,教會我們光影、色彩、比例,然後要求讓我們用同樣的方法畫出一顆一樣的蘋果。雖然學到了技巧,卻限制了想像力。

麻省理工學院媒體實驗室教授 Mitch Resnick 在他的著作《 Lifelong Kindergarten 》中提到,覺得學習寫程式是一種表達,並能夠提供一種「創意學習體驗( Creative Learning Experience )。他與媒體實驗室所開發出來的 Scratch 程式語言更貼近他的想法,就像樂高( Lego )積木一樣,學習者能在玩 Scratch 的過程中體會到「創意學習」的幾個重要階段:想像、創造、玩、分享、反饋。在收到反饋後,學習者會再次想像如何修正我們所打造出來的東西,並重新想像新的版本,如螺旋般往上提升。


圖片來源:Taco Chen

Resnick 在 2012 的 Ted 演講裡提到:「一個 13 歲的男孩用我們的 Scratch 去創作一個大魚吃掉小魚的遊戲,他希望計分 … (中略) … 但他不懂得怎樣做,所以我向他示範可以怎樣做,在Scratch 裏面, 你可以建立一個物件叫做「變量」 我將它取名為「分數」 … (中略)… 當他看到這裡,他非常地興奮他向我伸出手,不斷地說:『謝謝,謝謝,謝謝』」

同時,Resnick 也在《 Lifelong Kindergarten 》中比喻了「 Playground(遊樂場)」與「 Playpen(作者按:我找不到適當的中文翻譯,意思是供幼兒在內玩耍的遊戲圍欄,有點像大型的嬰兒床)」的概念。許多設計師在設計提供給玩家學習程式語言的遊戲時,採用的是 Playpen 的概念,提供一個圍欄和目標,讓玩家們只能在裡面按照遊戲規則玩耍。以樂高來比喻,就好像我們買了一個「太空船樂高組合」,然後按照說明書指示,一步一步地建造出包裝封面的太空船。而 Scratch 所提倡的 Playground 概念,更像是我們把一堆樂高零件按照我自己的想像力,打造出我們小時候才能想像出的宇宙交通工具。

Playground 與 Playpen 的概念並不是互斥的,他們相輔相成。我們有時候需要 Playpen 來協助我們建構知識體驗;有時候需要 Playground 來激發我們的想像力,讓我們透過程式語言、文字、繪畫或其他任何媒材來表達自我。

最近由開發商 Kunpo 所推出的遊戲《[ Exception ]》是一款非常有趣的產品。《[ Exception ]》的故事主角是一個程式設計師,在他負責的世界裡,有幾個小程式出了一例外狀況( Exception,程式專業用語),而玩家的任務則是要協助這些小程式慢慢闖關。


圖片來源:Taco Chen

玩家在遊戲中所擁有的程式撰寫界面,幾乎和 MIT 創造 Scratch 時所使用的程式語言更相近,模塊的組合方式更貼近一般人的理解,也更像是樂高一般可以自己排列組來達到各種可能性。

與《 Swift Playgrounds 》不同的是,雖然《[ Exception ]》的過關目標明確(通常是打倒某個敵人、或前往指定地點),但方法卻千變萬化。你可以透過自己的想法和排列組來完成任務。比起《 Swift Playgrounds 》,我覺得《[ Exception ]》在遊戲的過程中,更有讓玩家發揮創意與想像力的空間,也有更難的挑戰。

當然,也許《[ Exception ]》不是完美的作品,早期的教學數量少導致遊戲難度有點高,所以有點讓人剛開始進行遊戲時感到挫折。也許如同樂高一般,剛開始提供一些說明書,再附上幾個不同的組合方法(樂高玩具的盒背總是有著幾個組合變體讓你嘗試),應該可以大幅減輕上手難度。

儘管市面上雖然已經有許多「程式教育」相關的遊戲與軟體,但目前只有少數幾個產品能夠突破既定框架:「除了教會我們技巧,也教會我們發揮想像力的方法。」我想,也許程式教育就跟語言教育一樣,將會成為一個基礎教育者所面臨的挑戰。「如何把他們變得有趣?」會是一個非常值得我們深度思考的問題。

看完文章要用時卻忘光光?點選下方按鈕 收藏 此文章,我隨時都在這等你回來!


line-short


更多關於程式設計的入門課程推薦給你:

▶︎ JavaScript 程式設計新手村

▶︎ Java 與 Kotlin 一起學 : 程式設計的起點

▶︎ Python 入門特訓 - 基礎實作到證照攻略

▶︎ Python 的 50+ 練習:資料科學學習手冊

▶︎ 自學程式如何快速入門 - 以 Python/JS 為例

▶︎ 不可錯過的時代趨勢:從自學區塊鏈到專家!


延伸閱讀


本文作者:Taco Chen,文章經授權同意轉載自 fourdesire。

References:
Let’s teach kids to code, Mitch Resnick, TED2012
Lifelong Kindergarten, Mitch Resnick, 2017
Swift Playgrounds, Apple, 2016
[Exception], Kunpo, 2018
Scratch, MIT

1
給創作者來點掌聲!
1


小蛙同學

想學習新事物,但不知道怎麼開始?問小蛙同學就對了!我擅長提供有用的資訊,幫助同學們更輕鬆快樂的學習與進步!歡迎你一起加入 Hahow 好學校這個大家庭!

其他人也在看

更多文章