• 沒有找到結果。

第二章 文獻探討

第二節 Alice 程式設計

還牽扯到程式呈現的方式及相關輔助工具(如流程圖)的使用。教師應該要協助 學生學習及掌握除錯技巧,以增加學生的自信及學習動機。

綜上所述,學生在學習程式設計時,從各語言專屬的語法結構,到共通的問 題解決層面都有可能遭遇學習困難。教學者應透過學生所遭遇到的困難,分析理 解學生在知識上的誤解或缺失,並規劃合適的教學方法,以期培養學生在程式設 計能力的提升。

第二節 Alice 程式設計

一、Alice 程式語言與特色

Alice 為美國卡內基美隆大學所研發之 3D 程式設計環境,它讓使用者可以輕 鬆的創造和操控一個 3D 的虛擬世界,並用它來述說故事、製作互動式遊戲或是 動畫影片(http://www.alice.org/)。Brown(2009)認為,作為一個入門程式語言,

Alice 具有以下優勢:

1. 情境式設計環境:

在 Alice 中,每一個程式即為一個 3D 的虛擬世界,設計者透過編寫程式來操 控、改變這個世界中的事物。Alice 提供了豐富的物件及控制物件動作的方法 及函式,透過這些,程式設計者可以輕鬆的製作出逼真的 3D 世界。

2. 3D 動畫呈現:

當 Alice 程式執行時,虛擬世界便會依照程式碼產生動作和變化,並以動畫的 形式呈現執行結果。程式設計者可以立即清楚地從動畫觀察到程式的執行狀 況,同時可對應至編寫的程式碼。Ward(2009)認為透過動畫的輔助,可以 將部分抽象的程式概念轉化為實際可以觀察到的現象,有助於學生學習程式 設計概念、進行知識保留及享受程式設計的過程。

3. 拖放式程式設計環境:

Alice 使用視覺化程式設計環境(visual programming environment),將程式的

9

各種指令、語法及結構,作成模組化的標籤,程式設計者僅需透過「拖曳-

放置標籤」即可編寫程式。透過這種程式編寫方式,學習者除了可以避免語 法錯誤(syntax error),更可以將心力集中於了解語意和解決問題的方法(Ko, 2004; Kelleher, Cosgrove, Culyba, Forlines, Pratt, & Pausch, 2002)。

這些優點使得學生在寫程式的過程中,發展出良好的程式設計技巧,如先行 規劃演算法在上機實作、願意嘗試及挑戰錯誤、編寫專用函式等(Cooper, Dann, &

Pausch, 2003)。

二、Alice 程式設計教學相關研究

很多初學者之所以無法順利解題,是由於他們在寫程式的過程中無法將所學 到的程式設計概念對應到所寫的程式碼(Dann, Cooper, & Pausch, 2000)。由於 Alice 讓學生可以看到程式執行的過程,學生得以將程式碼對應至實際執行的結 果,因此可以使學生更容易將發生的問題描述清楚、拆解題目及思考方法處理拆 解後的問題,進而發展出演算法式的思考模式,增進學生問題處理的能力(Cooper, Dann, & Pausch, 2000a)。而「編寫程式即為製作動畫」的這個特性,不僅降低學 生對於程式的排斥感,也增加學生學習的動機。Adams(2007)更發現,Alice 的 3D 動畫呈現使得學生在遭遇程式邏輯錯誤時,會覺得動畫中錯誤的演出看起來 很有趣或好笑,進而降低學生的挫折感。

在動畫製作上的高完成度,使得 Alice 可以將許多抽象的程式概念透過動畫,

以具體的形式呈現,因此相當適合作為教導程式設計概念的入門程式語言。

Zaccone、Cooper 與 Dann(2003)於大學一年級的資訊科學選修課程中,透過 Alice 來教導學生物件導向的程式設計概念,課程內容包含物件、物件方法、參數、

繼承及判斷條件等概念。超過 2/3 的學生可以順利的理解課堂中所學習到的程式 概念,並實作出 Alice 程式。林恬忻(2007)發現在克服英文介面的問題後,國 中的學生也可以順利的使用 Alice 編寫程式及學習程式概念。除此之外, Alice

10

獨有的視覺化物件,如視覺化陣列、視覺化串列等,使得 Alice 比起其他類似的 程式語言(如 Scratch、Greenfoot)更能清楚呈現進階的演算法及程式概念(Ward, 2009)。

與傳統的文字式程式語言(如 C++、Java)相比,學生透過 Alice 程式語言 來學習程式設計概念除了更容易理解程式概念,而且在寫程式的過程中,對教師 協助的依賴性相對較低,學生可以用更快的速度完成程式作業,將多餘的時間和 心力花費在解決問題及除錯上。在課堂上的良好表現也使得使用 Alice 的資訊科 學課程的通過率、學習成績都較使用傳統文字語言的課堂為優(Sykes, 2007;

Brown, 2008; Mullins, Whitfield & Conlon, 2009; Wang et al, 2009)。

但是 Alice 並非被認為是沒有缺點的,Alice 程式本身有著系統不穩定、資源 佔用過多等缺點。而其所使用的拖放式程式設計環境,雖然能有效降低程式編寫 的難度,但也有著拖放步驟過於繁鎖不夠直觀,以及不易轉換至目前業界慣用的 文字介面程式語言的問題存在。但若以課堂使用的來看,這些問題大多可以透過 課程設計和教師授課方式加以避免(Powers, Ecott, & Hirshfield, 2007; Brown, 2008;

Ward, 2009; Wang et al, 2009)。

11

相關文件