2012年9月4日 星期二

用M&M巧克力學程式語言?一探電腦世界的七大謎團-原也網頁設計、網站規劃、網站行銷

  引用自http://wired.tw/2012/08/03/tangible-coding-workshops/index.html

點擊圖片連結置影片

創意科技工程師Ubi de Feo發明一系列的課程,運用碗、盒子、M&M巧克力和乒乓球,「動手」學習寫程式。 


這個創新的教學模式叫作「從0到C」(From 0 to C),由Feo和他的團隊Hello, Savants!發明,目的是讓學生能在最短的時間內,銜接Arduino硬體的課程。「從0到C」能讓學生了解電腦的運作方式,並在沒有任何相關背景的情況下,學習寫程式

「過去幾年來,我的工作就是訓練員工使用Arduino系統。我發現設計LED固然很有趣,但若基礎功不夠,總是會遇到問題。」Feo在他的網站上發表。

此課程能激發學生想像力,透過親手操作,解開電腦運算的神秘面紗,並且讓大家能體會一個道理:「電腦做的事,不過是以笨拙或極聰明的方法,完成我們人能做的事情。」

課程最大的特色,就是完全不用寫程式,更不用電腦。

一進到教室,學生就得把電腦丟一邊,講師會發給大家紙筆、膠帶、巧克力、兵乓球、木盒、杯子和一些其他日常用品。

課程一開始,會先談數字的概念,之後開始操作一些簡單的任務。幾小時後,學生個個投身到「人體展示程式」的遊戲,而盒子和乒乓球則用來表達數字。

舉例來說,乒乓球可以用來解釋16進位的概念。課程研發團隊設計有4個洞的盒子,每兩個盒子為一組,共計8個洞,表示1個位元組(Byte)是由8個位元(Bit)所組成。若將乒乓球放到洞中,這1個位元就列入計算,若洞是空的,這1個位元就不需列入計算。

盒子的洞口旁都有標示,讓學生可以清楚看到此位元轉換成10進位的數值。若想要擴大記憶體,也就是要有更多個位元組,只要參考洞口旁的標示,就可以得知如何將2進位換算成10進位的數值。盒子上的標示從右到左分別是:1,2,4,8,16,32,64,128。若所有的乒乓球都到位(也就是每一個位元都列入計算),總數值就是255。

若要了解電腦如何儲存訊息,就必須了解位元組。對很多人來說,這是很抽象的概念。但在學習程式語言時,必須要了解位元組合和記憶體容量間的關係。若能將位元組的概念圖像化,並親眼「看見」儲存其中的數據,就能了解箇中原由。

De Feo告訴本雜誌記者:「我覺得最有趣的是,一旦學生熟悉位元組的 『大小』,他們就可以快速地了解,譬如像16進制網頁顏色代碼(如FF, 0C)和位元組之間的關係。」

M&M巧克力用來代表數據的數量,學生之間也可以互相交換種類,不同顏色的M&M代表不同的數值。「以機器來說,運作的重點在於數據占了多大的記憶體,可以傳送多快。」他補充。

一旦這些「人體機器」開始運作,也就可以開始寫點東西了。學生已稍微學了一點程式語言的基礎語法,如C語言的語法,但是同樣的道理一樣可以應用在Processing、ActionScript 或JavaScript上,這時學生已經瞭解程式語言的基本邏輯了。

「課程目的不是要讓學生成為最優秀的工程師或駭客,而是讓學生了解程式語言的原理,培養解決問題的態度。」Feo解釋。

此課程已在阿姆斯特丹進行試行,教學C語言,研發團隊期待可讓此課程進入學校,並應用在其他的程式語言上。


原也網頁設計、網站規劃、網站行銷。

沒有留言:

張貼留言