• 沒有找到結果。

第三章 研究方法

第三節 文獻資料萃取

本研究根據研究目的設計了文獻資料萃取表,並針對文獻篩選階段所保留之 79 篇文獻,逐篇以萃取表紀錄各篇之重點內容。此表格於初版設計完成之後,先 以數篇文獻試用之,以判斷其適用性;經增補及調整部分欄位後,最後定案之資 料萃取表如表 3-1 所示。此表中已填入萃取自編號第 18 號之文獻的重點內容,藉 以示範本研究萃取資料的做法。

資料萃取表各欄位之說明如下:

(1) 文獻標題 (Title):記錄文獻之篇名。

(2) 作者 (Authors):記錄文獻作者。

20

(3) 期刊/研討會 (Journal/Conference):記錄刊登文獻之期刊或研討會名稱。

(4) 年分 (Year)、卷號 (Volume)、期號 (Issue)、頁碼 (Page):記錄文獻出版年 份、卷號、期號、及頁碼。

(5) 教育階段(School Level):記錄文獻中所報導的教學方法所針對的教育階段;

選項包含小學、中學、及大學等三個階段。

(6) 課程(Course):文獻所報導的教學方法使用在哪一門課;選項包含中小學的 電腦課、大學資訊系的程式設計入門課程(如 CS1、CS2)、為大學非資訊科 系學生開設的程式設計入門課程或相同性質的其他課程(例如大學所開設的 程式設計預修課程)、為中、小學生開辦的課後班(after-school camps)或程 式設計夏令營(summer camps)等。

(7) 進 行 研 究 之 地 點 ( 國 家 / 學 校 )( Where the Study Was Conducted – Country/School):文獻所報導的研究在哪個國家進行。若文獻中明確指出實 施教學實驗之學校名稱,亦一併填入。

(8) 課程中所講授之程式語言(Programming Language Taught):課程所採用的程 式語言。

(9) 所強調之重點主題或概念(Topic(s)/Concept(s) Emphasized in Particular):程 式設計教學中特別強調的重點主題或概念(例如遞迴、指標、陣列…等)。

若研究未說明特別強調之主題或概念,則該欄位不填入資料。假使文獻中僅 列舉課程所涵蓋之學習概念,並未特別強調該教學法是針對特定之概念而設 計,則將其視為未強調重點主題或概念。

(10) 教學方法或策略(Teaching Method/Strategy):記錄教學中所採用的教學方法 或策略。當作者未於文中明確指出教學方法或策略的名稱時,研究者即根據 文中所描述之教學活動,將其對應至適當的教學方法或策略並記錄之;若無 法明確判斷時,則省略不填此欄位。

(11) 理由(Rationale):研究中採用該教學法或策略進行程式設計教學的理由、作 者所根據的理論或假設等等。若作者未於文中清楚陳述理由,則略過不填。

21

(12) 所使用之硬體或軟體之功能與目的(Specific Hardware or Software Used (Its Functionality & Purposes)):教學中若使用了特定的軟/硬體以支援程式設計教 學活動,則於此欄位記錄該硬體或軟體工具之功能與目的。若教學法必須使 用特定的程式設計開發環境(例如 BlueJ、Jeliot),亦將記錄於本欄位中。

(13) 學習活動(Learning Activities Used in Instruction):教學者為該教學法或教學 策略所設計之學習活動,例如分組合作、遊戲設計、小組競賽…等活動。

(14) 研究結果(Findings):該研究的發現,包含量化與質性的研究結果。

(15) 討論與建議(Discussion/Suggestions):作者針對研究結果所做的討論與建議。

若文獻中未提供相關資訊則不填入。

表 3-1 資料萃取表格式與範例

Data Extraction Form

Title of paper A Media Computation Course for Non-Majors

(#18)

Authors Guzdial, M.

Journal or

Conference ITiCSE 2003

Year 2003 Volume - Issue - Page # 115-118

School Level □Elementary □Secondary ■College

Course

□Computer Course (elementary & secondary school)

□Introductory Programming (College: CS1-CS majors)

□Second programming course (College: CS2-CS majors)

■Introductory Programming (non-CS majors) (The course was called

“Media Computation,” but was actually an introductory programming course for non-majors)

□Other: ______________________________________________

Where the study was conducted (

Country/School

)

USA (Georgia Tech) Programming

Students learn to program by writing Python programs for manipulating sound, images, and movies. (Students will be able to read, understand, and make functional alterations to small programs (less than 50 lines) that achieve useful communications tasks.)

Teaching

Method/Strategy The “media computation” approach

22

Rationale

 Studies suggest that computing courses are seen as overly-technical and avoiding relationships to real applications, and are frankly boring and lacking opportunity for creativity.

 To explore a media computation approach that will appeal to a liberal arts major, while still retaining a focus on programming.

 The premises and core concepts of the proposed course are:

• All media are being published today in a digital format.

• Digital formats are amenable to manipulation, creation, analysis, and transformation by computer. Text can be interpreted, numbers can be transformed into graphs, video images can be merged, and sounds can be created. We call these activities media computation.

• Software is the tool for manipulating digital media.

• Core computer science concepts can be introduced through media computation.

(1) JES (Jython Environment for Students): a simple editor and program execution IDE for Python.

(2) MediaTools (Movie tools, image tools, sound editing, and sound views such as a sonogram) for students to visualize and explore media and to prepare media for use in their programs.

(3) CoWeb collaboration tool to support a collaborative experience for structure and requirements in ACM/IEEE Computing Curriculum 2001. The order of media covered in the course is arranged to correspond to an increasing level of complexity in data structures.

• A sound is an array of samples.

• A picture is a matrix (two-dimensional array) of pixels.

• A directory structure (of media files, to process many files with a single recipe) is a tree of files.

• A movie is an array of matrices (frames, as pictures).

 The media thus serve as a way of visualizing and making concrete (and interesting) the programs that the students are writing. Once the students are writing programs of increasing complexity, we introduce the ideas of algorithm complexity, object-oriented programming, and recursion as techniques for managing that complexity. The syllabus for the course walks through each media type, with some repetition of concepts so that conditionals and loops can be re-visited in different contexts.

 Example program: using API to convert a picture object to greyscale, normalize sounds to a maximum volume, take a filename, then return the sound in that file in reverse, …

Findings

 The retention results have been quite positive. 120 students enrolled for the course, 2/3 female. Only two students withdrew.

 On the midterm survey, 97% of the students in the Media

Computation course agreed with the statement “Are you learning to

program?” compared with 88% in our traditional CS1 course. When asked what students like about the class, the students affirm that we’re succeeding at creating a course that students recognize its applicability.

 “What is something interesting, surprising, or useful that you

learned?”  Students were buying into the relevance of the course

and even finding the computer science interesting

23

Discussion/

Suggestions

 We chose Jython in order to enable cross-platform multi-media manipulation. We have written a set of Java classes that

encapsulate the kind of multimedia functionality that our examples

require, as well as a set of Jython classes that provide a simple and

useful API to those functionalities. The API was designed based on

existing literature on challenges that students find in learning to

program, e.g., we allow set-based manipulation of samples and

pixels before more complex and general iteration structures are

learned. Our API allows for access to the samples that make up

sounds and the pixels that make up pictures.