跳到主要內容

臺灣博碩士論文加值系統

(216.73.216.213) 您好!臺灣時間:2025/11/08 09:18
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果 :::

詳目顯示

我願授權國圖
: 
twitterline
研究生:蔡宇哲
研究生(外文):Yu Che Tsai
論文名稱:程式設計新手之追蹤迷思
論文名稱(外文):Novice Programmers’ Misconception in Program Tracing
指導教授:廖耕億廖耕億引用關係
指導教授(外文):G. Y. Liao
學位類別:博士
校院名稱:長庚大學
系所名稱:資訊管理學系
學門:電算機學門
學類:電算機一般學類
論文種類:學術論文
論文出版年:2019
畢業學年度:107
語文別:中文
論文頁數:58
中文關鍵詞:新手程式設計學習追蹤內容分析迷思
外文關鍵詞:NoviceProgram learningTracingContent analysisMisconception
相關次數:
  • 被引用被引用:0
  • 點閱點閱:219
  • 評分評分:
  • 下載下載:0
  • 收藏至我的研究室書目清單書目收藏:1
程式設計的學習日漸重要,國內外皆將程式學習納入課綱或者課程內容當中。程式的技巧不僅包括程式創作,還包括其他重要任務,如設計,程式理解,除錯等。在實踐中,這些任務通常以高度交錯的方式發生。追蹤作為程式設計的其中一種技巧,當學習者預期結果編寫程式碼或預測運行一段程式碼的結果時的行為我們稱為追蹤。
利用內容分析法,依據文獻的定義,將追蹤時的迷思進行分類,建立內容分析的類目系統。並且將內容進行歸類。將受試者在電腦上撰寫的程式碼的過程側錄,並且利用訪談用以了受試者當時的想法。
研究發現學生有五種追蹤時的迷思。變數狀態變化的不理解,受試者對於變數的狀態改變理解錯誤。抽象化困難可以利用數字寫出正確的迴圈,但是代入變數之後產生錯誤,或者無法將變數代入迴圈當中。面對問題(題目或者錯誤的程式碼)時,因為某些因素(例如:現有的知識、對於邊界的不確定)產生的計畫無法達成設目標。程式語言不熟悉,對於程式的語法以及語義不熟悉。不了解程式執行的過程,對於程式執行的順序理解錯誤。
Computer programming is becoming more and more important. Learning how to program has been included in the curriculum of elementary education, in Taiwan and worldwide. Program skills include not only program creation, but also other important tasks such as design, program understanding, debugging, and more. In programming, these tasks usually concurrently occur in a highly interlaced manner. Tracking is one of the techniques of programming. When a learner expects results of executing code or predict the outcome of running a piece of code, we call it tracing.

This study uses the content analysis method. We recorded the code written by the subjects on the computer and these recorded videos were used to interview the subject's for understanding their thoughts at the time. Based on the definitions of terms of related literature, the misconceptions that took place in tracing were classified and identified.

The study found that subjects had five types of misconceptions in tracing, as introduced in the following. First including incomprehension of the change in the variable states, the subject understands the error in the state change of the variable. Second abstraction difficulties can use numbers to write the correct loop, but generate errors after substitution of variables, or cannot substitute variables into the loop. Third in the face of problems (topics or incorrect code), projects due to certain factors (eg, Interpretation problem, Boundary problem) cannot achieve goals. Fourth the programming language is unfamiliar and unfamiliar with the syntax and semantics of the program. Fifth novice doesn't understand the process of program execution, and novice understands the order of program execution.
目錄
指導教授推薦書………………………………………………………….
口試委員會審定書………………………………………………………
中文摘要………………………………………………………………...iii
英文摘要………………………………………………………………...iv
第一章 緒論 1
1.1研究背景 1
1.2研究動機 2
1.3研究問題 3
第二章 文獻探討 4
2.1問題解決以及程式設計新手的狀態 4
2.1.1問題解決的認知歷程 4
2.1.2新手程式設計者與專家的差異 5
2.1.3程式設計新手學習的困難樣態 7
2.1.4程式設計新手學習的困難原因 7
2.2概念機器 8
2.2.1概念機器的定義(心理模型) 8
2.2.2概念機器學習迷思 10
2.3概念機器與程式追蹤 12
2.3.1程式的追蹤 12
2.3.2程式追蹤的重要性(即對於學習的正面效果) 12
2.3.3程式追蹤困難的原因 13
2.4程式分析 16
第三章 研究方法 21
3.1研究方法的選擇 21
3.2研究設計 21
3.3原案回溯 22
3.5分析方法 23
第四章 討論 25
4.1研究情境 25
4.2研究發現 27
4.3延伸討論 34
第五章 結論 37
5.1研究結論 37
5.2研究建議 38
5.3研究限制與未來研究方向 39
參考文獻 41
附錄A:受試者同意書 45
附錄B:訪談大剛 49



圖目錄
圖1向初學者呈現的概念機器的繪圖(Mayer, 1976) 9
圖2 status與income分別輸入直接進行檢驗 17
圖3 status與income輸入完之後再進行檢驗 18
圖4學生的程式 18
圖5受試者的題目 26
圖6 Jeliot 3操作介面 39


表目錄
表 1:新手與專家在知識庫的差異 6
表 2:程式碼與受試者對照表 25
表 3:除錯迷思表 33
Adelson, B., &Soloway, E. (1985). The role of domain expenence in software design. IEEE Transactions on Software Engineering, SE-11(11), 1351–1360.
Affandy, Herman, N. S., Salam, S. B., &Noersasongko, E. (2011). A study of tracing and writing performance of novice students in introductory programming. Communications in Computer and Information Science, 181 CCIS(PART 3), 557–570.
Berland, M., Martin, T., Benton, T., Petrick Smith, C., &Davis, D. (2013). Using learning analytics to understand the learning pathways of novice programmers. Journal of the Learning Sciences, 22(4), 564–599.
Brown, J. de K. and J. S. (2014). Assumptions and ambiguities in mechanistic mental models, 163–198.
Chiew, V., &Yingxu Wang. (2004). Formal description of the cognitive process of problem solving. Proceedings of the Third IEEE International Conference on Cognitive Informatics, 2004., 74–83.
Danielak, B. A. (2014). How electrical engineering students design computer programs.
deKleer, J., &Brown, J. S. (1980). Mental models of physical mechanisms and their acquisition. Cognitive Skills and Their Acquisition:[Collection of the Papers Presented at the Sixteenth Annual Carnegie Symposium on Cognition, Held in May 1980], 285.
Détienne, F., &Soloway, E. (2006). An empirically-derived control structure for the process of program understanding To cite this version : HAL Id : inria-00075668.
DuBoulay, B. (1986). Some difficulties of learning to program. Journal of Educational Computing Research, 2(1), 57–73.
Fitzgerald, S., Lewandowski, G., McCauley, R., Murphy, L., Simon, B., Thomas, L., &Zander, C. (2008). Debugging: finding, fixing and flailing, a multi-institutional study of novice debuggers. Computer Science Education, 18(2), 93–116.
Goldman, K., Gross, P., Heeren, C., Herman, G., Kaczmarczyk, L., Loui, M. C., &Zilles, C. (n.d.). Identifying important and difficult concepts in introductory computing courses using a delphi process.

Green, T. R. G., Bellamy, R. K. E., &Parker, J. M. (1987). Parsing and gnisrap: a model of device use. Human–Computer Interaction–INTERACT ’87, 65–70.
Holsti, O. R. (1969). Content analysis for the social sciences and humanities. Reading Mass.: Addison-Wesley Pub. Co.
Hristova, M., Misra, A., Rutter, M., &Mercuri, R. (2003). Identifying and correcting Java programming errors for introductory computer science students. ACM SIGCSE Bulletin, 35(1), 153.
Juett, J. A. (2016). Using program visualization to illuminate the notional machine.
Juguan, J. A., Pedro, M. A. R. A., &D, P. (2003). An exploratory study on the determinants. Education, 79–108.
Klein, G. A. (1998). Sources of power : how people make decisions. MIT Press.
Lister, R., Fidge, C., &Teague, D. (2009). Further evidence of a relationship between explaining, tracing and writing skills in introductory programming. Proceedings of the 14th Annual ACM SIGCSE Conference on Innovation and Technology in Computer Science Education - ITiCSE ’09, 161.
Lister, R., Seppälä, O., Simon, B., Thomas, L., Adams, E. S., Fitzgerald, S., …Sanders, K. (2004). A multi-national study of reading and tracing skills in novice programmers. ACM SIGCSE Bulletin
Lopez, M., Whalley, J., Robbins, P., &Lister, R. (2008). Relationships between reading, tracing and writing skills in introductory programming. Proceeding of the Fourth International Workshop on Computing Education Research - ICER ’08, 101–112.
Matlin, M. W. (1998). Cognition. Harcourt Brace College Publishers.
Mayer, R. E. (1976). Some conditions of meaningful learning for computer programming: Advance organizers and subject control of frame order. Journal of Educational Psychology, 68(2), 143–150.
Mayer, R. E. (1992). Thinking, problem solving, cognition. W.H. Freeman.
McCartney, R., Moström, J. E., Sanders, K., &Seppälä, O. (2005). Take note: the effectiveness of novice programmers annotations on examinations. Informatics in Education, 4(1), 69–86.
Milne, I., &Rowe, G. (2002). Difficulties in Learning and Teaching Programming—Views of Students and Tutors. Education and Information Technologies, 7(1), 55–66.
Moreno, A., Myller, N., Sutinen, E., &Ben-Ari, M. (2004). Visualizing programs with Jeliot 3. In Proceedings of the working conference on Advanced visual interfaces - AVI ’04 (p. 373). New York, New York, USA: ACM Press.
Ormrod, J. E. (1999). Human learning. Merrill.
Patton, M. Q. (1987). How to use qualitative methods in evaluation. Sage Publications.
Payne, D. G., &Wenger, M. J. (2005). Cognitive psychology. Houghton Mifflin.
Perkins, D. F. (1985, October). Fragile knowledge and neglected strategies in novice programmers. IR85-22.
Ramadhan, H. A., Deek, F., &Shihab, K. (2001). Incorporating software visualization in the design of intelligent diagnosis systems for user programming. Artificial Intelligence Review, 16(1), 61–84.
Robins, A., Rountree, J., &Rountree, N. (2016). Learning and teaching programming: A review and discussion. Computer Science Education, 13(2), 137–172.
Soloway, E., &E. (1986). Learning to program = learning to construct mechanisms and explanations. Communications of the ACM, 29(9),
Soloway, E., &Iyengar, S. S. (Sundararaja S. . (1986). Empirical studies of programmers : papers presented at the First Workshop on Empirical Studies of Programmers, June 5-6, 1986, Washington, D.C. Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers. Ablex Pub.
Soloway, E., &Spohrer, J. C. (1989). Studying the novice programmer. L. Erlbaum Associates.
Sorva, J. (2013). Notional machines and introductory programming education. ACM Transactions on Computing Education, 13(2), 1–31.
Spohrer, J. C., &Soloway, E. (1986). Novice mistakes: are the folk wisdoms correct? Communications of the ACM, 29(7), 624–632.
The White House. (2016). Computer science for all | whitehouse.gov.
Thomas, L., Ratcliffe, M., &Thomasson, B. (n.d.). Scaffolding with Object Diagrams in First Year Programming Classes: Some Unexpected Results.
Vainio, V., &Sajaniemi, J. (2007). Factors in novice programmers’ poor tracing skills. ACM SIGCSE Bulletin, 39(3), 236.
Venables, A., Tan, G., &Lister, R. (2009). A Closer Look at Tracing, Explaining and Code Writing Skills in the Novice Programmer. Proceedings of the Fifth International Workshop on Computing Education Research Workshop - ICER ’09, (2009), 117–128.
Whalley, J., Prasad, C., &Kumar, P. K. A. (2007). Decoding doodles: Novice programmers and their annotations. Conferences in Research and Practice in Information Technology Series, 66(January), 171–180.
Wiedenbeck, S., Ramalingam, V., Sarasamma, S., &Corritore, C. (1999). A comparison of the comprehension of object-oriented and procedural programs by novice programmers. Interacting with Computers, 11(3), 255–282.
Winslow, L. E., &E., L. (1996). Programming pedagogy---a psychological overview. ACM SIGCSE Bulletin, 28(3), 17–22.
Xinogalos, S., Satratzemi, M., &Dagdilelis, V. (2006). An introduction to object-oriented programming with a didactic microworld: objectKarel. Computers and Education, 47(2), 148–171.
國家教育研究院. (2016). 十二年國教科技領域課綱草案(含國民中小學、普通型及技術型高中)及相關意見回應表(送課審會) - 國家教育研究院.
張瀞文、賓靜蓀、程遠茜. (2016). 教育下一波:程式設計開啟孩子的未來/教育現場-教育趨勢/親子天下.


連結至畢業學校之論文網頁點我開啟連結
註: 此連結為研究生畢業學校所提供,不一定有電子全文可供下載,若連結有誤,請點選上方之〝勘誤回報〞功能,我們會盡快修正,謝謝!
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top