研究生: |
陳思如 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 |
論文種類: | 學術論文 |
相關次數: | 點閱:217 下載: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.
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