簡易檢索 / 詳目顯示

研究生: 陳思如
Chen, Si-Ru
論文名稱: 基於資料探勘之程式設計迷思概念診斷
The Diagnosis of Programming Misconceptions Based on Data Mining
指導教授: 林育慈
Lin, Yu-Tzu
學位類別: 碩士
Master
系所名稱: 資訊教育研究所
Graduate Institute of Information and Computer Education
論文出版年: 2019
畢業學年度: 107
語文別: 中文
論文頁數: 104
中文關鍵詞: 迷思概念診斷程式設計教學資料探勘
英文關鍵詞: Misconception diagnosis, Programming teaching, Data exploration
DOI URL: http://doi.org/10.6345/NTNU201900349
論文種類: 學術論文
相關次數: 點閱:215下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 過去程式設計迷思概念相關研究常有研究樣本過少以及解讀較為主觀的問題,導致無法產出較一般化的研究結果,且無法將其作廣泛應用。這是因為過去的研究多以研究者對受試者的診斷為依據,除了較為主觀,亦須耗時去解讀與分析資料。本研究利用資料探勘於程式設計迷思概念探究,透過蒐集大量程式設計初學者的程式碼資料,探勘初學者若擁有迷思概念可能寫出的程式碼特徵,並設計診斷機制,根據學習者所撰寫的程式碼診斷其可能的迷思概念。本研究並將迷思概念探勘與診斷機制實作於學習平台上,以提供學習者即時的協助。研究參與者共1216人,包含527位大學生與689位高中生。參與者必須完成程式設計測驗,並接受抽樣訪談。本研究根據程式設計測驗的作答結果進行資料探勘,找出各程式設計迷思概念之程式碼症狀,並據此進行學習者程式設計迷思概念之診斷。透過資料探勘,我們亦發現不同的迷思概念間存在著關聯性:若學習者對for迴圈條件判斷的運作流程有迷思概念,則對if-else條件判斷的運作流程亦具有迷思概念。此外,在程式碼分群的結果分析中,我們額外發現幾種文獻上未提到的迷思概念。本研究之結果將提供教學者有效的教學改進依據,並能用以即時診斷學習者的程式設計迷思概念,以進行後續的矯正,進一步提升程式設計能力。

    Most of the research related to the concept of the misconception programming in the past faced the same limitations, including too few research participants, only locking specific programming languages in research, and not being able to apply the results to a wide range of people. Most of these restrictions are caused by research methods. Most of the past research is based on the self-judgment of researchers as the basis for the research results of misconception. Therefore, it takes a considerable amount of time to organize and analyze the data. Therefore, the scope of the research data is limited. Most of the restrictions on the masses occur, and most of the programming tests or tools used for diagnosis only develop into specific programming languages, which limits the scope of application of the research results. Therefore, this study is different from the past research methods and uses data mining in the program. Programming misconception of data mining is to use algorithms to find similar clusters between feature vectors, and to find out the misconception types and misconception symptoms. Through interviews, the correctness of the misconception data mining results is confirmed, and the programming learning platform for the misconception diagnosis is developed. The results of the study are based on the three main research objectives, including the narrative of the misconception of programming and the corresponding symptoms of the program, as well as the diagnostic mechanism of the development of the minconception data mining, and pointing out the relationship between misconceptions. The misconception of programming is a topic of education that has been discussed for a long time. The misconception does cause learning problems in the programming to learners. This study is based on the established misconception, adding the factors of data mining, and obtaining research. In the design of misconception and the research unit is locked into process control. The results can be applied to a wide range of programming languages. Teachers and learners have substantial support in teaching and learning. They can obtain more appropriate teaching guidelines and learning corrections to enhance the effectiveness of programming learning.

    摘要 I 誌謝 III 目錄 IV 表目錄 V 圖目錄 VI 第一章 緒論 1 第一節 研究背景與動機 1 第二節 研究目的 3 第三節 名詞釋義 4 第二章 文獻探討 6 第一節 迷思概念 6 第二節 程式設計迷思概念 10 第三節 資料探勘 16 第三章 研究方法 18 第一節 研究設計與架構 18 第二節 研究實驗參與者 20 第三節 研究程序 21 第四節 研究工具 22 第五節 迷思概念診斷之程式設計學習平台 26 第六節 迷思概念程式碼症狀探勘 36 第七節 迷思概念診斷 41 第四章 分析結果與討論 42 第一節 分析結果 42 第二節 討論 57 第五章 結論與建議 60 第一節 結論 60 第二節 建議 62 參考文獻 63 附錄一 程式設計紙本測驗試卷 (Python) 69 附錄二 程式設計紙本測驗試卷 (C++) 74 附錄三 程式設計紙本測驗試卷 (C語言) 80 附錄四 程式設計紙本測驗試卷 (Java) 88 附錄五 程式設計紙本測驗試卷 (JavaScript) 96

    Altadmri, A., &Brown, N. C. C. (2015). 37 Million Compilations. In Proceedings of the 46th ACM Technical Symposium on Computer Science Education - SIGCSE ’15 (pp. 522–527). New York, New York, USA: ACM Press. https://doi.org/10.1145/2676723.2677258
    Bayman, P., &Mayer, R. E. (1983). A diagnosis of beginning programmers’ misconceptions of BASIC programming statements. Communications of the ACM, 26(9), 677–679. https://doi.org/10.1145/358172.358408
    Bonar, J., &Soloway, E. (1985). Preprogramming Knowledge: A Major Source of Misconceptions in Novice Programmers. Human–Computer Interaction, 1(2), 133–161. https://doi.org/10.1207/s15327051hci0102_3
    Britos, P., Rey, E. J., Rodriguez, D., &Garcia-Martinez, R. (2008). Work in progress - programming misunderstandings discovering process based on intelligent data mining tools. In 2008 38th Annual Frontiers in Education Conference (p. F4H–1–F4H–2). IEEE. https://doi.org/10.1109/FIE.2008.4720499
    Chakrabarti, S., Ester, M., Fayyad, U., Gehrke, J., Han, J., Morishita, S., …Wang, W. (2006). Data Mining Curriculum: A Proposal (Version 1.0) Intensive Working Group of ACM SIGKDD Curriculum Committee. Retrieved from http://www.kdd.org/exploration_files/CURMay06.pdf
    Clancy, M. (2004). Misconceptions and Attitudes that Interfere with Learning to Program. (Sally Fincher,Marian Petre, Ed.). Computer Science Education Research. Retrieved from http://lib.myilibrary.com/Open.aspx?id=21787
    Clement, J. (1993). Using bridging analogies and anchoring intuitions to deal with students’ preconceptions in physics. Journal of Research in Science Teaching, 30(10), 1241–1257. https://doi.org/10.1002/tea.3660301007
    DuBoulay, B. (1986a). Some Difficulties of Learning to Program. Journal of Educational Computing Research, 2(1), 57–73. https://doi.org/10.2190/3LFX-9RRF-67T8-UVK9
    DuBoulay, B. (1986b). Some Difficulties of Learning to Program. Journal of Educational Computing Research, 2(1), 57–73. https://doi.org/10.2190/3LFX-9RRF-67T8-UVK9
    Durkin, K., &Rittle-Johnson, B. (2015). Diagnosing misconceptions: Revealing changing decimal fraction knowledge. Learning and Instruction, 37, 21–29. https://doi.org/10.1016/j.learninstruc.2014.08.003
    Eryilmaz, A. (2002). Effects of conceptual assignments and conceptual change discussions on students’ misconceptions and achievement regarding force and motion. Journal of Research in Science Teaching, 39(10), 1001–1015. https://doi.org/10.1002/tea.10054
    Fleury, A. E. (1991). Parameter passing: the rules the students construct. In Proceedings of the twenty-second SIGCSE technical symposium on Computer science education - SIGCSE ’91 (Vol. 23, pp. 283–286). New York, New York, USA: ACM Press. https://doi.org/10.1145/107004.107066
    Gilbert, J. K., &Watts, D. M. (1983). Concepts, Misconceptions and Alternative Conceptions: Changing Perspectives in Science Education. Studies in Science Education, 10(1), 61–98. https://doi.org/10.1080/03057268308559905
    Green, T. R. G. (1977). Conditional program statements and their comprehensibility to professional programmers. Journal of Occupational Psychology, 50(2), 93–109. https://doi.org/10.1111/j.2044-8325.1977.tb00363.x
    Grether, W. F. (1962). SOME IMPLICATIONS OF TESTING PROCEDURES FOR AUTO-INSTRUCTIONAL PROGRAMMING. ETS Research Bulletin Series, 1962(1), i-74. https://doi.org/10.1002/j.2333-8504.1962.tb00114.x
    Hand, D. J. (2007). Principles of Data Mining. Drug Safety, 30(7), 621–622. https://doi.org/10.2165/00002018-200730070-00010
    Kaczmarczyk, L. C., Petrick, E. R., East, J. P., &Herman, G. L. (2010). Identifying student misconceptions of programming. In Proceedings of the 41st ACM technical symposium on Computer science education - SIGCSE ’10 (p. 107). New York, New York, USA: ACM Press. https://doi.org/10.1145/1734263.1734299
    Klopfer, L. E., Champagne, A. B., &Gunstone, R. F. (1983). Naive Knowledge and Science Learning. Research in Science & Technological Education, 1(2), 173–183. https://doi.org/10.1080/0263514830010205
    Kohn, T. (2017). Variable Evaluation: an Exploration of Novice Programmers’ Understanding and Common Misconceptions. Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’17) (Seattle, Washington, USA - March 08 - 11, 2017). https://doi.org/10.1145/3017680.3017724
    Kurvinen, E., Hellgren, N., Kaila, E., Laakso, M.-J., &Salakoski, T. (2016). Programming Misconceptions in an Introductory Level Programming Course Exam. Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education, 308–313. https://doi.org/10.1145/2899415.2899447
    Lahtinen, E., Ala-Mutka, K., &Järvinen, H.-M. (2005). A study of the difficulties of novice programmers. In Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education - ITiCSE ’05 (Vol. 37, pp. 14–18). New York, New York, USA: ACM Press. https://doi.org/10.1145/1067445.1067453
    Ma, L. (2007a). Investigating and Improving Novice Programmers’ Mental Models of Programming Concepts. Retrieved from https://pdfs.semanticscholar.org/3c8e/fb0c95325ac2f6bb38bd3d56fdbe900e4892.pdf
    Ma, L. (2007b). Investigating and Improving Novice Programmers’ Mental Models of Programming Concepts.
    Mannila, L., Dagiene, V., Demo, B., Grgurina, N., Mirolo, C., Rolandsson, L., &Settle, A. (2014). Computational Thinking in K-9 Education. In Proceedings of the working group reports of the 2014 on innovation & technology in computer science education conference (pp. 1–29). ACM. https://doi.org/10.1145/2713609.2713610
    Ming-Syan Chen, Jiawei Han, &Yu, P. S. (1996). Data mining: an overview from a database perspective. IEEE Transactions on Knowledge and Data Engineering, 8(6), 866–883. https://doi.org/10.1109/69.553155
    National Research Council. (1997). Science teaching reconsidered: A handbook. Chapter 4: Misconceptions as Barriers to Understanding Science. National Academies Press. https://doi.org/10.17226/5287
    Pea, R. D. (1986a). Language-Independent Conceptual “Bugs” in Novice Programming. Journal of Educational Computing Research, 2(1), 25–36. https://doi.org/10.2190/689T-1R2A-X4W4-29J2
    Pea, R. D. (1986b). Language-Independent Conceptual “Bugs” in Novice Programming. Journal of Educational Computing Research, 2(1), 25–36. https://doi.org/10.2190/689T-1R2A-X4W4-29J2
    Pea, R. D., &Kurland, D. M. (1984). On the cognitive effects of learning computer programming. New Ideas in Psychology, 2(2), 137–168. https://doi.org/10.1016/0732-118X(84)90018-7
    Perkins, D., &Martin, F. (1985). Fragile knowledge and neglected strategies in novice programmers. First Workshop on Empirical Studies of Programmers on Empirical Studies of Programmers, 213–229.
    Plass, D. (2015). Identifying and addressing common programming misconceptions with variables (part 1). Retrieved from http://essay.utwente.nl/70455/
    Putnam, R. T., Sleeman, D., Baxter, J. A., &Kuspa, L. K. (1986). A Summary of Misconceptions of High School Basic Programmers. Journal of Educational Computing Research, 2(4), 459–472. https://doi.org/10.2190/FGN9-DJ2F-86V8-3FAU
    Qian, Y., &Lehman, J. (2017a). Students’ Misconceptions and Other Difficulties in Introductory Programming. ACM Transactions on Computing Education, 18(1), 1–24. https://doi.org/10.1145/3077618
    Qian, Y., &Lehman, J. (2017b). Students’ Misconceptions and Other Difficulties in Introductory Programming. ACM Transactions on Computing Education, 18(1), 1–24. https://doi.org/10.1145/3077618
    Ragonis, N., &Ben-Ari, M. (2005a). A long-term investigation of the comprehension of OOP concepts by novices. Computer Science Education, 15(3), 203–221. https://doi.org/10.1080/08993400500224310
    Ragonis, N., &Ben-Ari, M. (2005b). A long-term investigation of the comprehension of OOP concepts by novices. Computer Science Education, 15(3), 203–221. https://doi.org/10.1080/08993400500224310
    Robins, A. (2010). Learning edge momentum: a new account of outcomes in CS1. Computer Science Education, 20(1), 37–71. https://doi.org/10.1080/08993401003612167
    Sadler, P. M., &Sonnert, G. (2016). understanding misconceptions teaching and learning in middle school physical science. American Educator, 40(1), 26–32. Retrieved from https://eric.ed.gov/?id=EJ1094278
    Sadler, P. M., Sonnert, G., Coyle, H. P., Cook-Smith, N., &Miller, J. L. (2013a). The Influence of Teachers’ Knowledge on Student Learning in Middle School Physical Science Classrooms. American Educational Research Journal, 50(5), 1020–1049. https://doi.org/10.3102/0002831213477680
    Sadler, P. M., Sonnert, G., Coyle, H. P., Cook-Smith, N., &Miller, J. L. (2013b). The Influence of Teachers’ Knowledge on Student Learning in Middle School Physical Science Classrooms. American Educational Research Journal, 50(5), 1020–1049. https://doi.org/10.3102/0002831213477680
    Sekiya, T., &Yamaguchi, K. (2013). Tracing quiz set to identify novices’ programming misconceptions. In Proceedings of the 13th Koli Calling International Conference on Computing Education Research - Koli Calling ’13 (pp. 87–95). New York, New York, USA: ACM Press. https://doi.org/10.1145/2526968.2526978
    Shah, P., Berges, M., &Hubwieser, P. (2017). Qualitative Content Analysis of Programming Errors. In Proceedings of the 5th International Conference on Information and Education Technology - ICIET ’17 (pp. 161–166). New York, New York, USA: ACM Press. https://doi.org/10.1145/3029387.3029399
    Simon. (2011a). Assignment and sequence: why some students can’t recognise a simple swap. In Proceedings of the 11th Koli Calling International Conference on Computing Education Research - Koli Calling ’11 (p. 10). New York, New York, USA: ACM Press. https://doi.org/10.1145/2094131.2094134
    Simon. (2011b). Assignment and sequence: why some students can’t recognise a simple swap. In Proceedings of the 11th Koli Calling International Conference on Computing Education Research - Koli Calling ’11 (p. 10). New York, New York, USA: ACM Press. https://doi.org/10.1145/2094131.2094134
    Sirkiä, T., &Sorva, J. (2012). Exploring programming misconceptions. In Proceedings of the 12th Koli Calling International Conference on Computing Education Research - Koli Calling ’12 (pp. 19–28). New York, New York, USA: ACM Press. https://doi.org/10.1145/2401796.2401799
    Sleeman, D., Putnam, R. T., Baxter, J., &Kuspa, L. (1986). Pascal and High School Students: A Study of Errors. Journal of Educational Computing Research, 2(1), 5–23. https://doi.org/10.2190/2XPP-LTYH-98NQ-BU77
    Sorva, J. (2013). Notional machines and introductory programming education. ACM Transactions on Computing Education, 13(2), 1–31. https://doi.org/10.1145/2483710.2483713
    Steven, F. (2014). Predictive Analytics, Data Mining and Big Data. Retrieved from https://link.springer.com/content/pdf/10.1057%2F9781137379283.pdf
    Taber, K. S. (2014). Alternative Conceptions/Frameworks/Misconceptions. In Encyclopedia of Science Education (pp. 1–5). Dordrecht: Springer Netherlands. https://doi.org/10.1007/978-94-007-6165-0_88-2
    Vamvakoussi, X., &Vosniadou, S. (2010). How Many Decimals Are There Between Two Fractions ? Aspects of Secondary School Students’ Understanding of Rational Numbers and Their Notation. Cognition and Instruction, 28(2), 181–209. https://doi.org/10.1080/07370001003676603
    Veerasamy, A. K., D ’souza, D., &Laakso, M.-J. (2016). Identifying Novice Student Programming Misconceptions and Errors From Summative Assessments. Journal of Educational Technology Systems, 45(1), 50–73. https://doi.org/10.1177/0047239515627263
    Wu, X., Kumar, V., Ross Quinlan, J., Ghosh, J., Yang, Q., Motoda, H., …Steinberg, D. (2008). Top 10 algorithms in data mining. Knowledge and Information Systems, 14(1), 1–37. https://doi.org/10.1007/s10115-007-0114-2
    Yang, Q., Wu, X., Domingos, P., Elkan, C., Gehrke, J., Han, J., …Wah, B. W. (2006). 10 CHALLENGING PROBLEMS IN DATA MINING RESEARCH. International Journal of Information Technology & Decision Making, 5(4), 597–604. Retrieved from http://cs.uvm.edu/~icdm/10Problems/10Problems-06.pdf
    Zehetmeier, D., Böttcher, A., Brüggemann-Klein, A., &Thurner, V. (2015). Development of a classification scheme for errors observed in the process of computer programming education. Advances in Higher, 127. Retrieved from https://www.researchgate.net/profile/Josep_Domenech4/publication/305991453_Advances_in_Higher_Education/links/57a88b7008aef20758cbd726.pdf#page=139

    無法下載圖示 電子全文延後公開
    2024/12/31
    QR CODE