研究生: |
邱彤 Chiu, Tung |
---|---|
論文名稱: |
程式理解之認知神經科學研究 The study of program comprehension based on cognitive neuroscience |
指導教授: |
林育慈
Lin, Yu-Tzu |
學位類別: |
碩士 Master |
系所名稱: |
資訊教育研究所 Graduate Institute of Information and Computer Education |
論文出版年: | 2020 |
畢業學年度: | 108 |
語文別: | 中文 |
論文頁數: | 61 |
中文關鍵詞: | 程式理解 、工作記憶 、程式理解策略 |
英文關鍵詞: | program comprehension, working memory, program comprehension strategy |
DOI URL: | http://doi.org/10.6345/NTNU202001649 |
論文種類: | 學術論文 |
相關次數: | 點閱:120 下載:22 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
本研究旨在探討程式理解能力、程式理解策略(由上而下以及由下而上)以及工作記憶(中央執行功能、語音迴路和視覺空間畫板)之間的關聯。實驗受試者為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 tracker to 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.
中文部分
邵雲龍. (2019). 視覺化程式融入運算思維之教材發展與評估. 先進工程學刊, 14(2),103-110.
顏順利.(2019). 探討互動式學習平台之學習成效影響因素-以程式設計課程為例.取自http://120.127.233.225/print.phpedm_no=165&content_no=2926
羅育齡. (2017). 各國推動數位學習的政策—國家教育研究院電子報--第165期.
英文部分
Andrá, Lindström, Arzarello, Holmqvist, Robutti & Sabena, 2015; Chen & Wu, 2012; Epelboim & Suppes, 2001; Susac, Bubic, Kaponja, Planinic & Palmovic, 2014.
Aschwanden, C., & Stelovsky, J. (2003, January). Measuring cognitive load with EventStream software framework. In 36th Annual Hawaii International Conference on System Sciences, 2003. Proceedings of the (pp. 5-pp). IEEE.
Baddeley, A. (1992). Working memory. Science, 255(5044), 556-559.
Baddeley, A. (1996). Exploring the central executive. The Quarterly Journal of Experimental Psychology Section A, 49(1), 5-28.
Baddeley, A. D., & Hitch, G. (1974). Working memory. In Psychology of learning and motivation (Vol. 8, pp. 47-89). Academic press.
Baddeley, A. D., & Logie, R. H. (1999). Working memory: The multiple-component model.
Bednarik, R., Kinnunen, T., Mihaila, A., & Fränti, P. (2005, June). Eye-movements as a biometric. In Scandinavian conference on image analysis (pp. 780-789). Springer, Berlin, Heidelberg.
Bednarik, R., & Tukiainen, M. (2006, March). An eye-tracking methodology for characterizing program comprehension processes. In Proceedings of the 2006 symposium on Eye tracking research & applications (pp. 125-132). ACM.
Brooks, R. (1983). Towards a theory of the comprehension of computer programs. International journal of man-machine studies, 18(6), 543-554.
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.
Crosby, M., & Stelovsky, J. (1989, January). The influence of user experience and presentation medium on strategies of viewing algorithms. In [1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track (Vol. 2, pp. 438-446). IEEE.
Crosby, M. E., Scholtz, J., & Wiedenbeck, S. (2002, June). The Roles Beacons Play in
Comprehension for Novice and Expert Programmers. In PPIG (p. 5).
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.
Ehrlich, S. F., & Rayner, K. (1981). Contextual effects on word perception and eye movements during reading. Journal of Memory and Language, 20(6), 641.
E. Soloway, K. Ehrlich, Empirical studies of programming knowledge, IEEE Trans. Software Eng.SE-10 (5) (1984)
Friso-Van den Bos, I., Van der Ven, S. H., Kroesbergen, E. H., & Van Luit, J. E. (2013). Working memory and mathematics in primary school children: A meta-analysis. Educational research review, 10, 29-44.
Good, J., & Brna, P. (2004). Program comprehension and authentic measurement: a scheme for analysing descriptions of programs. International Journal of Human-Computer Studies, 61(2), 169-185.
Guéhéneuc, Y. G. (2009). A theory of program comprehension: Joining vision science and program comprehension. International Journal of Software Science and Computational Intelligence (IJSSCI), 1(2), 54-72.
Jbara, A., & Feitelson, D. G. (2017). How programmers read regular code: a controlled experiment using eye tracking. Empirical software engineering, 22(3), 1440-1477.
Miller, G. A. (1956). The magical number seven, plus or minus two: Some limits on our capacity for processing information. Psychological review, 63(2), 81.
Marks, L. E., & Miller, G. A. (1964). The role of semantic and syntactic constraints in the
memorization of English sentences. Journal of Verbal Learning and Verbal Behavior, 3(1), 1-5.
O'Brien, M. P., Buckley, J., & Shaft, T. M. (2004). Expectation‐based, inference‐based, and bottom‐up software comprehension. Journal of Software Maintenance and Evolution: Research and Practice, 16(6), 427-447.
Peitek, N., Apel, S., Brechmann, A., Parnin, C., & Siegmund, J. (2019, May). CodersMUSE: multi-modal data exploration of program-comprehension experiments. In 2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC) (pp. 126-129). IEEE.
Pennington, N. (1987). Stimulus structures and mental representations in expert comprehension of computer programs. Cognitive psychology, 19(3), 295-341.
Rayner, K. (1978). Eye movements in reading and information processing. Psychological bulletin, 85(3), 618.
Shebilske, W. L., & Reid, L. S. (1979). Reading eye movements, macro-structure and comprehension processes. In Processing of visible language (pp. 97-110). Springer, Boston, MA.
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.