程式理解之認知神經科學研究
No Thumbnail Available
Date
2020
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
本研究旨在探討程式理解能力、程式理解策略(由上而下以及由下而上)以及工作記憶(中央執行功能、語音迴路和視覺空間畫板)之間的關聯。實驗受試者為20名本科系學生,擁有至少一年的基礎程式設計經驗。本實驗使用兩種複雜的廣度任務(運作廣度和旋轉廣度)以及河內塔分別來對學生工作記憶能力的語音迴路、視覺空間畫板以及中央執行功能進行評估。本實驗要求受試者理解三題程式碼,它們具有不同類型的程式結構(條件判斷,迴圈結構和函式結構),並且由眼動儀記錄眼球移動過程來推斷受試者的程式理解策略。透過程式理解測驗評估受試者程式理解能力,並且對受試者進行口頭訪談,以確認他們的理解策略。我們從實驗結果中得出三項重要發現:(一) 不同工作記憶能力的學生傾向使用不同的程式理解策略,語音迴路功能影響學生記憶重複的程式細節,而必須不斷地觀看,視覺空間畫板功能則可幫助學生以視覺心像掌握程式架構,以便直接進入主要的運算指令,而不必重複觀看程式細節;中央執行功能則可幫助學生掌握複雜程式的理解計畫;(二) 不同程式理解表現的學生傾向使用不同的程式理解策略,高程式理解表現者同時使用由上而下以及由下而上策略於程式理解上,而低程式理解表現者則因無法掌握程式架構,大多採用以逐行方式理解程式,採由下而上策略;(三) 工作記憶是會影響程式理解表現,在理解迴圈等需要反覆運算的結構時語音迴路能力的不同會影響學生在對於數字記憶表現;視覺空間畫板的不同則影響學生在進行程式理解期間使用心理黑板來記憶在多項數字的變化以及轉換,以及處理程式結構的模式辨識上的表現。結果揭示了高程式理解表現者可能的認知過程:通過視覺空間記憶能力,將程式模式與長期記憶中儲存的模式進行匹配,然後識別以由上而下的方式進行整體結構的理解方式。再從程序片段中收集詳細資訊,以建立進一步的了解。相反的,由於低能力者無法從長期儲存中檢索相似的模式,因此它們傾向於逐行解讀程式而沒有清晰的結構。
This study aims to explore the associations among program comprehension ability, program comprehension strategies (top-down and bottom-up strategies), and working memory (phonological loop, visuospatial sketchpad, and central executive function). The experiment participants were twenty undergraduate students who have learned fundamental programming for at least one year. Two complex span tasks (operation span and rotation span) and Tower of Hanoi task were employed to assess students’ phonological loop, visuospatial sketchpad and central execution of working memory capacity, respectively. Participants were asked to comprehend three computer programs with different types of program structures (conditional statements, iterations, and functions), and the processes were recorded by an eye trackerto identify their program comprehension strategies. Participants’ program comprehension abilities were assessed by the program comprehension test. Participants were also interviewed to confirm their comprehension strategies. Three findings were derived from the experiment results: First, subjects with different working memory capacity applied different program comprehension strategies: the phonological loop function affects memory of repetitive program details (e.g., the conditional statement of loops), therefore the low-performers have to pay more attention to these details repetitively; The visuospatial sketchpad function helps grasp the whole structure of the program, therefore the high-performers are tended to directly enter the main body for computation; The central executive function helps control the program comprehension planning to jump among program beacons; . Second, high-performers applied both top-down and bottom-up strategies to comprehend programs, whereas low-performers mostly applied bottom-up strategies. Third, working memory affect the understanding of the semantics, structure and purpose of program: the phonological loop function affects the store of intermediate values of iterations, and the visuospatial sketchpad function affects the recognition of program structure patterns, and the memory of value changes through visual imagery. The results reveal the possible cognitive processes of high-performers’ program comprehension: Through visuospatial working memory, the programming patterns were matched with what stored in the long-term memory and then recognized to develop comprehension plans with a whole structure in a top-down manner. Detailed information was then collected from the pieces of programs to build a further understanding. In contrast, since the low-performers failed to retrieve the similar patterns from long-term memory, they tended to read programs sequentially without a clear structure.
This study aims to explore the associations among program comprehension ability, program comprehension strategies (top-down and bottom-up strategies), and working memory (phonological loop, visuospatial sketchpad, and central executive function). The experiment participants were twenty undergraduate students who have learned fundamental programming for at least one year. Two complex span tasks (operation span and rotation span) and Tower of Hanoi task were employed to assess students’ phonological loop, visuospatial sketchpad and central execution of working memory capacity, respectively. Participants were asked to comprehend three computer programs with different types of program structures (conditional statements, iterations, and functions), and the processes were recorded by an eye trackerto identify their program comprehension strategies. Participants’ program comprehension abilities were assessed by the program comprehension test. Participants were also interviewed to confirm their comprehension strategies. Three findings were derived from the experiment results: First, subjects with different working memory capacity applied different program comprehension strategies: the phonological loop function affects memory of repetitive program details (e.g., the conditional statement of loops), therefore the low-performers have to pay more attention to these details repetitively; The visuospatial sketchpad function helps grasp the whole structure of the program, therefore the high-performers are tended to directly enter the main body for computation; The central executive function helps control the program comprehension planning to jump among program beacons; . Second, high-performers applied both top-down and bottom-up strategies to comprehend programs, whereas low-performers mostly applied bottom-up strategies. Third, working memory affect the understanding of the semantics, structure and purpose of program: the phonological loop function affects the store of intermediate values of iterations, and the visuospatial sketchpad function affects the recognition of program structure patterns, and the memory of value changes through visual imagery. The results reveal the possible cognitive processes of high-performers’ program comprehension: Through visuospatial working memory, the programming patterns were matched with what stored in the long-term memory and then recognized to develop comprehension plans with a whole structure in a top-down manner. Detailed information was then collected from the pieces of programs to build a further understanding. In contrast, since the low-performers failed to retrieve the similar patterns from long-term memory, they tended to read programs sequentially without a clear structure.
Description
Keywords
程式理解, 工作記憶, 程式理解策略, program comprehension, working memory, program comprehension strategy