第一節 研究背景與動機
近年來在各行各業中,程式設計與軟體系統規劃之人才需求也日益增加,因 為對學習者而言學習程式設計,可以增加就業機會的重要技能,許多學習者因此 而懷抱高度之興趣。在此領域中,若學習者具備基礎程式語言與程式設計能力,
將有助於學習其他程式語言,甚至是學習者未來之職業生涯。初學者第一次學習 程式語言的成功與否,會影響學習者是否繼續學習高階程式設計的關鍵。然而,
學習程式語言對初學者來說是一個艱辛且困難的工作,學習過程的挫敗感與資源 不足,往往造成學習者有較高的退出率。此外,由於資訊技術的蓬勃發展,教學 方式也逐漸由傳統的教學方法轉而利用資訊科技來輔助學習。因此,目前程式語 言教學的相關研究者仍不斷地探索利用輔助學習的教材與工具,希望能藉此進一 步來增進學習者學習成效與學習態度。
程式設計是一門兼具思考邏輯與問題解決的學科,其目的在於培養學習者有 效運用程式語言的語法、語言結構與設計技巧來解決問題,以及提升學習者程式 設計、邏輯思考與問題解決的能力(Schollmeyer, 1996; Volet & Lund, 1994)。然而,
學習程式語言是一個困難且複雜的過程,研究指出,初學者認為學習程式設計很 難的主要原因有:缺乏足夠的學習輔助資源和指導以及學習時需要對抽象概念的 知識有正確的理解(Lahtinen, Ala-Mutka & Järvinen, 2005);研究建議需要有適當 的教學工具輔助,這些工具是否能夠幫助學習者學習,是一個重要的課題(Moreno, Myller & Bednarik, 2005)。在過去的研究中顯示程式視覺化工具提供顯著的成 效,特別是針對程式語言初學者的訓練(Bednarik, Moreno, Myller & Sutinen, 2005)。程式語言的學習,除了要認識程式語言和寫作程式之外,程式語言設計的 過程更是需要結合邏輯分析、批判思考、問題解決、簡要寫作和事實判斷等多種 認知技能的學習活動(Felleisen, Findler, Flatt & Krishnamurthi, 2004),學習者在學 習歷程中逐步培養起邏輯思考和解決問題的能力,這樣的能力不只應用於資訊學 科內,也能應用於其他學科的學習。
對程式設計的初學者和教學者而言,「如何教」和「如何學」的問題一直是 程式設計教學上存在的問題。諸多研究顯示視覺化的程式設計開發環境可以提供 學習者具體的操作經驗和動態情境的介面(Brusilovsky & Spring, 2004; Moreno,
Myller & Bednarik, 2005; Shanmugasundaram, Juell, Groesbeck & Makosky, 2006)。因為視覺化工具具有互動性以及將抽象概念、動態過程視覺化的特性,因 此學習者可以「看到」原本只能憑想像的過程,藉此來幫助理解較抽象、複雜的 概念。研究認為視覺化工具是有效的教學工具,必須整合在課堂練習與指定作業 之 中 , 而 不 只 是 用 來 作 教 學 展 示 而 已(Ben-Bassat Levy, Ben-Ari & Uronen, 2003)。此外,雖然視覺化工具可以使用於個別學習而不需要教學者,但經驗指出 教學者的講解搭配視覺化的工具初學者學生受益不少,這指出了一個事實,學習 不可或缺的是教學者應熟悉視覺化工具的所有可能,並讓學習者在不同情境,觀 察視覺化內容並聆聽詮釋,這樣對初學者程式語言的學習有很大的幫助(Moreno, Myller & Bednarik, 2005)。
相關實證研究指出(Moreno & Mayer, 1999):擁有較豐富的先備知識有助於在 多媒體環境中的學習,因為當學習者在接收到資訊欲進行整合時,高先備知識的 學習者可自其長期記憶中提取更多、更有組織的知識來幫助整合,進而顯著提升 學習成效。而對於低先備知識學習者而言,假若學習教材能以密切整合的方式呈 現,例如:圖與文是呈現在一個畫面,而非是在換頁或是隔了一段時間才能接受 到完整資訊,在此圖文整合的學習環境中亦可顯著提升低先備知識之學習者的學 習成效(Mayer & Sims, 1994)。
若能在程式設計教學進行中,透過使用適當的視覺化工具提供學習支持,將 有助於學習者學習程式設計。Moreno、Myller 與 Bednarik (2005) 認為程式理 解,也就是可以了解其他人所寫的程式的之能力,在程式語言學習領域中是重要 且核心的技巧。如同專業開發人員可以在理解程式的過程中建立的精確的心智模 型,程式語言初學者應該藉由支援與協助完成這項工作。而程式視覺化工具則是 提供給學生與初學者程式執行的心智模型的多種方式之一。
綜合上述,本研究主要是探討學習程式語言時使用視覺化工具,透過教學者 利用妥善設計的教學活動來學習程式語言,對於學習者學習成效與學習態度之影 響。期望透過教學者適切地將視覺化工具融入程式設計教學活動中,以培養學習 者有效運用輔助工具增加程式語言學習成效,同時提升學習者之正向學習態度。
第二節 研究目的與待答問題
本研究目的在探討不同先備知識程度的與視覺化工具 Jeliot 3 的使用對大學 ㄧ年級學生學習程式語言 for 迴圈的學習成效與學習態度之影響,期望透過適當 之教學設計輔以視覺化工具融入程式語言教學,以促進學習者程式語言的學習成 效和提升學習者的學習態度,提供教師在程式語言教學上之參考。本研究之研究 目的與代答問題分述如下:
壹、研究目的
本研究的研究目的在於讓學習者在學習程式語言的過程中,使用和操作學習 輔助工具,進而增進學習成效與正向學習態度。因此,本研究的研究目的有二:
一、在學習程式語言for 迴圈概念時,視覺化工具融入教學與先備知識程度(高 先備知識 vs. 低先備知識)是否對學習者程式語言 for 迴圈之學習成效(基本概念 和進階概念)表現產生不同之影響。
二、在學習程式語言for 迴圈概念時,視覺化工具融入教學與先備知識程度(高 先備知識 vs. 低先備知識),對學習者程式設計概念學習態度表現(學習滿意度、
學習幫助度、自我效能、學習焦慮和主動學習與思考)之影響。
貳、待答問題
針對研究目的,提出下列待答問題:
一、在學習程式語言 for 迴圈概念時,視覺化工具融入教學與先備知識程度 是否對學習者程式語言 for 迴圈之學習成效(基本概念和進階概念)表現產生不同 的影響?
二、在學習程式語言 for 迴圈概念時,視覺化工具融入教學與先備知識程度 是否對學習者程式語言for 迴圈之學習態度(學習滿意度、學習幫助度、自我效能、
學習焦慮和主動學習與思考)表現產生不同的影響?
第三節 研究範圍與限制
本研究為配合教學活動之設計與進行,在研究對象、學習內容、學習工具、
研究時間與環境以及評量方法有以下之研究範圍與限制:
壹、研究對象
本研究對象為大學資管系一年級學生,皆已學過 Java 程式語言基礎語法與 if 判斷式之程式語言單元,為程式設計的初學者,因此研究結果只能推論於類似 之研究對象。
貳、學習內容
本研究之學習內容為「Java 程式語言 for 迴圈」課程,採用研究者自編之教 材與學習活動,因此,本研究結果只能推論於類似的程式語言學習主題與類似之 教學活動。
參、學習工具
本研究之學習工具為視覺化工具Jeliot 3,可以以動畫方式呈現程式動態的執 行過程,幫助學習者了解程式執行之抽象過程,故本研究之研究結果僅能推論至 類似之學習工具運用。
肆、研究時間及環境
本研究為配合的教室與課表的安排,教學實驗以班級為單位,實驗地點皆在 電腦教室進行,實驗時間為各班的電腦課上課時間,教學者由原班級電腦老師講 授程式概念,研究者負責工具講解與練習協助,教學實驗為期三週,每班各 390 分鐘。本教學實驗進行之教學地點為研究對象電腦科課程所使用的電腦教室,教 室中提供每班一人一台的電腦、教師授課使用的電腦、麥克風及廣播系統。本研 究之研究結果僅提供在類似教學環境接受短時間程式語言學習教學活動之學習 成效和學習態度表現做推論。
伍、評量方法
本研究針對學習成效與學習態度採不同的評量方法,評量 for 迴圈的學習成
效依據研究者自編之「先備知識測驗卷」與「課後成就測驗卷」,題目皆為選擇、
填充與簡答題,讓受試者以筆試的方式回答試卷中的問題;評量 for 迴圈學習單 元的學習態度依據研究者改編之「程式語言學習態度問卷」,讓受試者以筆試的 方式勾選問卷中的選項。由於評量方式採用筆紙方式之自陳量表形式,因此研究 結果僅能推論至類似的評量方法。
第四節 重要名詞釋義
壹、視覺化工具視覺化工具係指可以將程式或是演算法以視覺化圖像式展現之工具。目前運 用在Java 程式語言教學之視覺化工具主要分為兩種,一種主要是呈現程式之靜態 結構,適用於教學與程式設計階段;另一種主要是用視覺化方式呈現程式執行歷 程與變化,適用於教學與程式除錯階段。本研究所採用的視覺化工具,Jeliot 3,
可以將程式以動畫方式展現程式執行運作歷程與變化。
貳、除錯工具
除錯工具係指可以在進行程式開發時,幫助開發人員找出程式瑕疵(bug)的工 具。除錯工具在一般程式語言開發工具中為內建標準功能。本研究所定義之除錯 工具,與視覺化工具不同,是以文字與列表方式呈現執行歷程中的變數值,目的 用來促進使用者瞭解程式執行歷程與變數值的變化之輔助工具。
參、先備知識
先備知識指的是學習者在進行課程學習之前所獲得的相關知識及概念。本研
先備知識指的是學習者在進行課程學習之前所獲得的相關知識及概念。本研