Author: |
田芷瑄 Tien, Chih-Hsuan |
---|---|
Thesis Title: |
基於眼動追蹤之程式理解認知歷程研究 The Cognitive Process during Program Comprehension: An Eye Tracking Approach |
Advisor: |
林育慈
Lin, Yu-Tzu |
Committee: | 林育慈 陳志洪 張凌倩 |
Approval Date: | 2020/07/27 |
Degree: |
碩士 Master |
Department: |
資訊教育研究所 Graduate Institute of Information and Computer Education |
Thesis Publication Year: | 2021 |
Academic Year: | 110 |
Language: | 中文 |
Number of pages: | 75 |
Keywords (in Chinese): | 興趣區域 、眼動儀 、序列分析 |
Keywords (in English): | Area of Interest (AOI), Eye Tracker, Sequential Analysis |
Research Methods: | 實驗設計法 、 準實驗設計法 |
DOI URL: | http://doi.org/10.6345/NTNU202101700 |
Thesis Type: | Academic thesis/ dissertation |
Reference times: | Clicks: 177 Downloads: 40 |
Share: |
School Collection Retrieve National Library Collection Retrieve Error Report |
本研究旨在探討工作記憶能力(中央執行功能、語音迴路、視覺空間模版)、程式理解能力以及程式理解策略(由上而下或由下而上)之間的關聯性。受試者為20名大學程式設計初學者,並具備一年以上程式設計課程之經驗。本研究先透過工作記憶測驗(運作廣度測驗、旋轉廣度測驗及河內塔測驗)與程式理解能力測驗(條件判斷測驗、迴圈測驗及函式測驗)的結果分析受試者的工作記憶與程式理解能力之間的關係,並以眼動儀追蹤受試者程式理解能力測驗時閱讀程式碼的眼動軌跡,輔以訪談確認其程式理解之認知歷程。研究結果發現,工作記憶語音迴路能力較好的受試者以及具備能夠辨識出程式碼的架構以進行模擬的高程式解能力者在閱讀條件判斷的程式時傾向於辨識程式碼的邏輯架構,並透過模擬以理解程式邏輯;如果工作記憶語音迴路能力較差的受試者或無法辨識出程式碼的架構以進行程式模擬的受試者在閱讀條件判斷的程式時無法直接辨識出程式碼的邏輯架構,需要先閱讀程式碼的輸出值條件後才能夠抓出程式碼的架構以理解程式邏輯。工作記憶視覺空間模板能力較好的受試者以及具備能夠辨識出程式碼的架構以進行模擬的高程式解能力者,在閱讀雙層迴圈的程式時傾向於辨識程式碼的邏輯架構,並將注意放在數字設定上以理解程式邏輯;工作記憶視覺空間模板能力較差的受試者或無法辨識出程式碼的架構以進行程式模擬的受試者,在閱讀雙層迴圈的程式時無法辨識出程式碼的邏輯架構,會逐行閱讀程式碼以理解程式邏輯。工作記憶中央執行功能能力較好的受試者以及具備能夠辨識出程式碼的架構以進行模擬的高程式解能力者在閱讀函式的程式時傾向於辨識程式碼的邏輯架構,並透過代值模擬觀察功能以理解程式邏輯;工作記憶中央執行功能能力較差的受試者或無法辨識出程式碼的架構以進行程式模擬的受試者在閱讀函式的程式時無法辨識出程式碼的邏輯架構,會逐行閱讀程式碼以理解程式邏輯。此結果可能因為:
(1)如果受試者具有較好的工作記憶之語音迴路能力,對於文字與聲音的訊息處理能力較好,以及具備能夠辨識出程式碼的架構以進行模擬的高程式解能力者,在閱讀程式碼過程中可以辨識程式碼架構並進行模擬;如果受試者具有較差的工作記憶之語音迴路能力,或無法辨識出程式碼的架構以進行程式模擬的受試者,對於文字與聲音的訊息處理能力較差,在閱讀程式碼的過程中無法快速地找出程式碼的架構,必須要閱讀輸出值條件之後才可以辨識出程式碼的架構。(2) 如果受試者具有較好的工作記憶之視覺空間模板能力,以及具備能夠辨識出程式碼的架構以進行模擬的高程式解能力者,對於圖形與空間的訊息處理能力較好,在閱讀程式碼的過程中可以辨識程式碼架構進行模擬;如果受試者具有較差的工作記憶之視覺空間模板能力,或無法辨識出程式碼的架構以進行程式模擬的受試者,對於圖形與空間的訊息處理能力較差,在閱讀程式碼的過程中會逐行閱讀程式碼直到閱讀結束,抓不出程式架構。(3) 如果受試者具有較好的工作記憶之中央處理系統能力,以及具備能夠辨識出程式碼的架構以進行模擬的高程式解能力者,對於控制與監控語音迴路與視覺空間模板的訊息處理與有意識的注意力控制等能力較好,以及具備能夠辨識出程式碼的架構以進行模擬的高程式解能力者,在閱讀程式碼的過程中會辨識程式架構、以模擬驗證程式功能;如果受試者具有較差的工作記憶之中央處理系統能力,或無法辨識出程式碼的架構以進行程式模擬的受試者對於控制與監控語音迴路與視覺空間模板的訊息處理與有意識的注意力控制等能力較差,在閱讀程式碼的過程中會逐行閱讀程式碼。此外我們可以發現程式理解能力測驗題型三:函式各組間的程式理解能力與旋轉廣度平均成績有高度相關,由於函式的程式碼分為主程式及函式兩部分,受試者需要輸入數值後代入函式條件以進行運算,因此特別需要使用工作記憶之視覺空間模板能力,在腦海中產生視覺心像以進行程式理解。
This study aims to explore the association among working memory (Central executive, Phonological loop, Visuospatial sketchpad), program comprehension ability, and program comprehension strategies (top-down and bottom-up strategies). The experiment participants were twenty undergraduate students who have learned programming for at least one year. Students’ working memory capacities were firstly examined. Then they had to conduct three program comprehension tasks (including conditional, iterative, and function structures). Their program comprehension strategies were identified based on their eye-gaze paths detected by an eye tracker.
By examining the correlations between working memory capacities, program comprehension abilities, and program comprehension strategies, the experiment results show that the students with high level program comprehension ability were tended to identify the program logic during comprehension. In contrast, low-performance students were tended to trace the program in a line-by-line manner. The difference of program comprehension strategies between high- and low-performance was due to their difference of working memory capacities. Higher phonological loop capacity helped students store complex intermediate values during comprehending complex programs. They simulated the program execution by calculating the output values for several inputs.
陳琪瑤、吳昭容(民101)幾何證明文本閱讀的眼動研究: 圖文比重及圖示著色效果。教育實驗與研究, 25(2), 35-66。
林寀雯、吳昭容(民105)從眼動型態探討閱讀幾何文本的視覺化與推理歷程。教育學刊, 47(2), 41-77。
周裕欽(民90)不同類型的工作記憶與中文閱讀理解的相關研究。花蓮師院學報,14期,123-142。
林曉昀、徐芝君、陳學志、邱發忠(民102)工作記憶廣度與創造力表現之關連性研究。 創造學刊, 4(2), 31-55。
簡郁芩、吳昭容(民101)以眼動型態和閱讀測驗表現探討箭頭在科學圖文閱讀中的圖示效果。中華心理學刊,54(3), 385-402。
Von Mayrhauser, A., & Vans, A. M. (1995). Program comprehension during software maintenance and evolution. Computer, 28(8), 44-55.
Zayour, I., Moukadem, I., & Moghrabi, I. (2013). Complexity is in the Brain of the Beholder: A Psychological Perspective on Software Engineering's Ultimate Challenge. JSW, 8(5), 1079-1085.
Shneiderman, B., & Mayer, R. (1979). Syntactic/semantic interactions in programmer behavior: A model and experimental results. International Journal of Computer & Information Sciences, 8(3), 219-238.
Justi, R. S., & Gilbert, J. K. (2002). Modelling, teachers' views on the nature of modelling, and implications for the education of modellers. International Journal of Science Education, 24(4), 369-387.
Kane, M. J., & Engle, R. W. (2003). Working-memory capacity and the control of attention: the contributions of goal neglect, response competition, and task set to Stroop interference. Journal of experimental psychology: General, 132(1), 47.
Welsh, M. C., Satterlee-Cartmell, T., & Stine, M. (1999). Towers of Hanoi and London: Contribution of working memory and inhibition to performance. Brain and cognition, 41(2), 231-242.
Kramer, J. (2007). Is abstraction the key to computing?. Communications of the ACM, 50(4), 36-42.
Lee, S., Matteson, A., Hooshyar, D., Kim, S., Jung, J., Nam, G., & Lim, H. (2016, October). Comparing Programming Language Comprehension between Novice and Expert Programmers using EEG Analysis. In 2016 IEEE 16th International Conference on Bioinformatics and Bioengineering (BIBE) (pp. 350-355). IEEE.
Garcia, R., Falkner, K., & Vivian, R. (2018). Systematic literature review: Self-Regulated Learning strategies using e-learning tools for Computer Science. Computers & Education, 123, 150-163.
Ng, O. L., & Chan, T. (2019). Learning as Making: Using 3D computer‐aided design to enhance the learning of shape and space in STEM‐integrated ways. British Journal of Educational Technology, 50(1), 294-308.
Vosinakis, S., Anastassakis, G., & Koutsabasis, P. (2018). Teaching and learning logic programming in virtual worlds using interactive microworld representations. British Journal of Educational Technology, 49(1), 30-44.
Román-González, M., Pérez-González, J. C., & Jiménez-Fernández, C. (2017). Which cognitive abilities underlie computational thinking? Criterion validity of the Computational Thinking Test. Computers in Human Behavior, 72, 678-691.
Altmann, E. M., Larkin, J. H., & John, B. E. (1995, May). Display navigation by an expert programmer: A preliminary model of memory. In Proceedings of the SIGCHI conference on Human factors in computing systems (pp. 3-10). ACM Press/Addison-Wesley Publishing Co..
Busjahn, T., Bednarik, R., Begel, A., Crosby, M., Paterson, J. H., Schulte, C., ... & Tamm, S. (2015, May). Eye movements in code reading: Relaxing the linear order. In 2015 IEEE 23rd International Conference on Program Comprehension (pp. 255-265). IEEE.
Epelboim, J., & Suppes, P. (2001). A model of eye movements and visual working memory during problem solving in geometry. Vision research, 41(12), 1561-1574.
Chao, P. Y. (2016). Exploring students' computational practice, design and performance of problem-solving through a visual programming environment. Computers & Education, 95, 202-215.
Alemdag, E., & Cagiltay, K. (2018). A systematic review of eye tracking research on multimedia learning. Computers & Education, 125, 413-428.
Crosby, M. E., Scholtz, J., & Wiedenbeck, S. (2002, June). The Roles Beacons Play in Comprehension for Novice and Expert Programmers. In PPIG (p. 5).
Sabatier, P. A. (1986). Top-down and bottom-up approaches to implementation research: a critical analysis and suggested synthesis. Journal of public policy, 6(1), 21-48.
Crk, I., Kluthe, T., & Stefik, A. (2016). Understanding programming expertise: an empirical study of phasic brain wave changes. ACM Transactions on Computer-Human Interaction (TOCHI), 23(1), 2.
Siegmund, J., Kästner, C., Apel, S., Parnin, C., Bethmann, A., Leich, T., ... & Brechmann, A. (2014, May). Understanding understanding source code with functional magnetic resonance imaging. In Proceedings of the 36th International Conference on Software Engineering (pp. 378-389). ACM.
Román-González, M., Pérez-González, J. C., & Jiménez-Fernández, C. (2017). Which cognitive abilities underlie computational thinking? Criterion validity of the Computational Thinking Test. Computers in Human Behavior, 72, 678-691.
Aschwanden, C., & Crosby, M. (2006). Code scanning patterns in program comprehension. In Proceedings of the 39th hawaii international conference on system sciences.
Besner, D., Stolz, J. A., & Boutilier, C. (1997). The Stroop effect and the myth of automaticity. Psychonomic bulletin & review, 4(2), 221-225.
Hundhausen, C. D. (2002). Integrating algorithm visualization technology into an undergraduate algorithms course: ethnographic studies of a social constructivist approach. Computers & Education, 39(3), 237-260.
Hambrick, D. Z., Kane, M. J., & Engle, R. W. (2005). The role of working memory in higher-level cognition. Cognition and intelligence: Identifying the mechanisms of the mind, 104-121.
Kostons, D., & de Koning, B. B. (2017). Does visualization affect monitoring accuracy, restudy choice, and comprehension scores of students in primary education?. Contemporary Educational Psychology, 51, 1-10.
Lahrache, S., El Ouazzani, R., & El Qadi, A. (2018). Visualizations memorability through visual attention and image features. Procedia Compu