簡易檢索 / 詳目顯示

研究生: 顏丞緯
Yen, Cheng-Wei
論文名稱: 結合自我解釋策略及本體論之程式設計回饋系統
Combining Self-explanation Strategy and Ontology on Programming Feedback System
指導教授: 王宗一
Wang, Tzone-I
學位類別: 碩士
Master
系所名稱: 工學院 - 工程科學系
Department of Engineering Science
論文出版年: 2016
畢業學年度: 104
語文別: 中文
論文頁數: 75
中文關鍵詞: 程式設計學習自我解釋學習策略本體論字串相似度演算法
外文關鍵詞: programming learning, self-explanation learning strategy, ontology, string similar algorithm
相關次數: 點閱:135下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 程式設計在工程領域中是一個重要的技能與課程,有文獻指出程式設計過程包含問題解決歷程,所以程式設計的學習跟問題解決是相輔相成的。有許多文獻利用自我解釋學習策略來幫助問題解決歷程,其中程式設計的問題解決歷程包含「了解問題」與「尋找解決問題的方法」的兩大階段,而自我解釋的新舊概念的整合和促進推論的產生幫助問題解決兩大階段的完成。自我解釋就是學習者在閱讀文章的過程中,為了補充句子之敘述所提出的推論並澄清或建立某些概念。不論推論大小、完整與否、正確與否,都算是自我解釋的一部分。在使用自我解釋策略時,學習者在學習程式的時候往往會產生不正確的自我解釋,此時沒有即時回饋教材修正學習者的概念,往往會讓學習者建構不正確的概念,可能阻礙學習者後續的學習。所以一個使用自我解釋的學習系統必須要有完善的回饋機制才能有效地幫助使用者自我學習。
    本研究接續先前的程式語法導正系統的研究及成果,並將之結合自我解釋學習策略來開發出一套線上程式語言學習系統。系統可讓學習者觀察程式錯誤類型相關的範例與自己程式碼的異同後,進行理解與比較並提出自我解釋,促進學習者反思,進而推論其程式碼錯誤原因。本研究並經由實際的程式撰寫先導實驗來蒐集學習者的自我解釋內容與經常犯錯的程式錯誤類型,經整理分析並且建構出C++程式迷思概念的本體論。透過系統本體論與自然語言處理的方式可以自動化診斷學習者自我解釋內容正確與否,並且適時推薦引導教材。實驗設計找本校工科系13位學生來實際使用本系統來編寫程式,透過學生編寫程式過程記錄其編寫程式歷程,後續人工分析系統準確率。而本研究所開發的研究方法平均準確率達到82.7%與人工判斷相同的準確率。由此可以證明,本系統所開發的演算法和系統架構可以應用在其他領域使用開放式自我解釋策略的研究上。

    Nowadays, computer programming is an important skill and ability for almost all the, especially engineering, fields. Prior researches show that programming also realizes problem solving process, so learning programming can also boost problem solving ability. Some researches use self-explanation strategy to improve problem solving process, which contain the “understanding and defining the problem” and the ”planning the solution” levels. The self-explanation, facilitating combining new information with known conceptual models and generating inferences on solutions, can help completing the two levels of the problem solving process. A self-explanation shows what you think or inference on the concept of an entity generated by an activity you are engaging in. Without proper prior knowledge, a self-explanation may generate errors and result in constructing error concepts if proper guidance were not given. Error concepts surely will become obstacles in further knowledge constructions. To help programmer to gain solid sound concepts of a programming language and boost their problem solving ability, this study constructs a programming environment with self-explanations and feedbacks for the popular engineering language C++. An assisted programming system from a previous research is extended with a self-explanation strategy, which, when a programmer gets a compilation error, gives extended examples to the programmer and asks for a self-explanation on the inference of the error. Using an algorithm developed in this study, the system compares the self-explanation string from the programmer and some base strings, established by programing experts for the possible explanations on the error, and analyzes the correctness of the string and possible misconceptions in it. Based on the analyzing result, the system tries to provide proper learning material and program examples as feedbacks, which are to correct the misconceptions. This study constructs ontology of C++ programming concepts hierarchy with instances of possible misconceptions and their proper feedbacks. The possible misconceptions are collected from actual programming practices in some pilot experiments involving programmers of college students. The final experiment involves 13 college students who use the system for actual programming. The system records all of student activities on their programming practices, analyzes all the self-explanations recorded, and reaches an average accuracy of 84.7% after the programming experts verify the results. All the schemes and algorithms developed in this study forms a methodology for establishing system with self-explanation learning strategy in other fields.

    摘要 II Abstract III 致謝 VIII 目錄 IX 表目錄 XI 圖目錄 XII 第一章 緒論 1 第一節 研究背景與動機 1 第二節 研究目的 3 第三節 研究貢獻 3 第四節 論文架構 4 第二章 文獻探討 5 第一節 程式設計學習 5 第二節 自我解釋策略 10 第三節 本體論 19 第四節 自然語言處理與相關工具 25 第五節 變易理論教學模式 33 第三章 系統設計與架構 36 第一節 系統本體論建構 37 第二節 系統設計 44 第三節 系統架構 50 第四節 系統實做 56 第四章 實驗設計與結果 60 第一節 實驗設計 60 第二節 實驗結果與分析 60 第五章 結論 64 第一節 結論 64 參考文獻 65 附錄 73

    中文
    中央研究院詞庫小組. (2003). 廣義知網中文詞知識庫. Retrieved from http://rocling.iis.sinica.edu.tw/CKIP/conceptnet.htm
    李志卿. (2005). 利用編序教學法之學習診斷系統-以商職數學為例.
    林育聖. (2002). 自我解釋對程式語言 IF 敘述學習的影響: 國立台灣師範大學資訊教育研究所碩士論文.
    林明德. (2009). 一個應用於自然語言理解的知識工程工具. 國立雲林科技大學資訊工程研究所碩士班.
    祁永華、謝錫金、岑紹基. (2005). 變易理論與學習空間. 香港: 香港大學出版社.
    徐綺穗. (2010). 自我解釋學習策略對學生社會學習領域學習統整影響之研究. 教育研究學報, 44(1), 49-72.
    陳明溥. (1999). 雙碼理論於遞迴程式設計教學之概念模型設計研究. Paper presented at the 第八屆電腦輔助教學國際研討會大會論文, 臺中市,逢甲大學.
    陳明溥. (2007). 程式語言課程之教學模式與學習工具對初學者學習成效與學習態度之影響. 師大學報: 科學教育類, 52(1&2), 1-21.
    黃子峰. (2013). 整合變易理論之物件導向程式設計輔助語法導正學習系統. 成功大學工程科學系學位論文, 1-73.
    黃蔓婷. (2007). 自我解釋學習策略運用於國小四年級學童摘取大意之行動研究.
    鍾大定, & 陳菁惠. (2006). 專題導向學習對高職程式設計課程影響之研究: 資訊與電子期刊.
    英文
    Ahlum-Heath, M. E., & Di Vesta, F. J. (1986). The effect of conscious controlled verbalization cognitive strategy on transfer in problem solving. Memory & cognition, 14(3), 281-285.
    Ainsworth, S., & Loizou, A. T. (2003). The effects of self-explaining when learning with text or diagrams. Cognitive science, 27(4), 669-681.
    Aleven, V. A., & Koedinger, K. R. (2002). An effective metacognitive strategy: Learning by doing and explaining with a computer-based Cognitive Tutor. Cognitive science, 26(2), 147-179.
    Anderson, J. R., Farrell, R., & Sauers, R. (1984). Learning to program in LISP. Cognitive science, 8(2), 87-129.
    Bartscher, K. (1995). Increasing Student Motivation through Project-Based Learning.
    Berardi-Coletta, B., Buyer, L. S., Dominowski, R. L., & Rellinger, E. R. (1995). Metacognition and problem solving: A process-oriented approach. Journal of Experimental Psychology: Learning, Memory, and Cognition, 21(1), 205.
    Bereiter, C., & Scardamalia, M. (1985). Cognitive coping strategies and the problem of “inert knowledge”. Thinking and learning skills, 2, 65-80.
    Berry, D. C. (1983). Metacognitive experience and transfer of logical reasoning. The Quarterly Journal of Experimental Psychology, 35(1), 39-49.
    Bielaczyc, K., Pirolli, P. L., & Brown, A. L. (1995). Training in self-explanation and self-regulation strategies: Investigating the effects of knowledge acquisition activities on problem solving. Cognition and instruction, 13(2), 221-252.
    Björklund, C. (2010). Broadening the horizon: Toddlers’ strategies for learning mathematics. International Journal of Early Years Education, 18(1), 71-84.
    Blumenfeld, P. C., Soloway, E., Marx, R. W., Krajcik, J. S., Guzdial, M., & Palincsar, A. (1991). Motivating project-based learning: Sustaining the doing, supporting the learning. Educational psychologist, 26(3-4), 369-398.
    Bravo, C., Marcelino, M. J., Gomes, A. J., Esteves, M., & Mendes, A. J. (2005). Integrating Educational Tools for Collaborative Computer Programming Learning. J. UCS, 11(9), 1505-1517.
    Brown, A. L., & Campione, J. C. (1994). Guided discovery in a community of learners: The MIT Press.
    Calin-Jageman, R. J., & Horn Ratner, H. (2005). The role of encoding in the self-explanation effect. Cognition and instruction, 23(4), 523-543.
    Cambria, E., Hupont, I., Hussain, A., Cerezo, E., & Baldassarri, S. (2011). Sentic avatar: Multimodal affective conversational agent with common sense Toward Autonomous, Adaptive, and Context-Aware Multimodal Interfaces. Theoretical and Practical Issues (pp. 81-95): Springer.
    Capuano, N., Marsella, M., & Salerno, S. (2000). ABITS: An agent based Intelligent Tutoring System for distance learning. Paper presented at the Proceedings of the International Workshop on Adaptive and Intelligent Web-Based Education Systems, ITS.
    CHANG, P., & FENG, N. (2012). A Co-occurrence based Vector Space Model for Document Indexing. Journal of Chinese Information Processing, 1, 009.
    Chao, C.-J., Lin, H.-C. K., Lin, J.-W., & Tseng, Y.-C. (2012). An Affective Learning Interface with an Interactive Animated Agent. Paper presented at the Digital Game and Intelligent Toy Enhanced Learning (DIGITEL), 2012 IEEE Fourth International Conference on.
    Chi, M. T. (2000). Self-explaining expository texts: The dual processes of generating inferences and repairing mental models. Advances in instructional psychology, 5, 161-238.
    Chi, M. T., Bassok, M., Lewis, M. W., Reimann, P., & Glaser, R. (1989). Self-explanations: How students study and use examples in learning to solve problems. Cognitive science, 13(2), 145-182.
    Chi, M. T., Leeuw, N., Chiu, M. H., & LaVancher, C. (1994). Eliciting self‐explanations improves understanding. Cognitive science, 18(3), 439-477.
    Chi, M. T., & VanLehn, K. A. (1991). The content of physics self-explanations. The Journal of the Learning Sciences, 1(1), 69-105.
    Chou, C.-Y., & Liang, H.-T. (2009). Content-free computer supports for self-explaining: Modifiable typing interface and prompting. Journal of Educational Technology & Society, 12(1), 121-133.
    Chu, H.-C., & Hwang, G.-J. (2010). Development of a project-based cooperative learning environment for computer programming courses. International Journal of Innovation and Learning, 8(3), 256-266.
    Cognition, T., & Vanderbilt, T. G. a. (1990). Anchored instruction and its relationship to situated cognition. Educational Researcher, 2-10.
    Conati, C., & VanLehn, K. (1999). Teaching meta-cognitive skills: implementation and evaluation of a tutoring system to guide self-explanation while learning from examples: Artificial Intelligence in Education, Amsterdam: IOS Press.
    Crowley, K., & Siegler, R. S. (1999). Explanation and generalization in young children's strategy learning. Child development, 70(2), 304-316.
    de Bruin, A. B., Rikers, R. M., & Schmidt, H. G. (2007). The effect of self-explanation and prediction on the development of principled understanding of chess in novices. Contemporary Educational Psychology, 32(2), 188-205.
    De Leeuw, N. (2000). How students construct knowledge from multiple sources. Unpublished manuscript, Learning Research and Development Center, University of Pittsburgh.
    Deek, F. P. (1999). A framework for an automated problem solving and program development environment. Transactions of the SDPS, 3(3), 1-13.
    Deek, F. P., Turoff, M., & McHugh, J. A. (1999). A common model for problem solving and program development. Education, IEEE Transactions on, 42(4), 331-336. doi:10.1109/13.804541
    Deimel, L., & Moffat, D. V. (1982). A more analytical approach to teaching the introductory programming course. Paper presented at the Proceedings of the NECC.
    Dong, Z., & Dong, Q. (2006). HowNet and the Computation of Meaning: World Scientific.
    Eckerdal, A., & Thuné, M. (2005). Novice Java programmers' conceptions of object and class, and variation theory. Paper presented at the ACM SIGCSE Bulletin.
    Ferguson-Hessler, M. G., & de Jong, T. (1990). Studying physics texts: Differences in study processes between good and poor performers. Cognition and instruction, 7(1), 41-54.
    Gagne, R. M., & Smith Jr, E. C. (1962). A study of the effects of verbalization on problem solving. Journal of experimental psychology, 63(1), 12.
    Grubert, T. (1993). A Translation approach to portable ontologies. Knowledge Acquisition, 5, 203.
    Hausmann, R. G., & Chi, M. H. (2002). Can a computer interface support self-explaining. Cognitive Technology, 7(1), 4-14.
    Hirshman, E., & Bjork, R. A. (1988). The generation effect: Support for a two-factor theory. Journal of Experimental Psychology: Learning, Memory, and Cognition, 14(3), 484.
    Holmqvist, M., & Tullgren, C. (2009). Pre-School Children Discerning Numbers and Letters. Paper presented at the Forum on Public Policy Online.
    Hsu, C.-Y., & Tsai, C.-C. (2013). Examining the effects of combining self-explanation principles with an educational game on learning science concepts. Interactive Learning Environments, 21(2), 104-115.
    Hwang, G.-J., Yang, L.-H., & Wang, S.-Y. (2013). A concept map-embedded educational computer game for improving students' learning performance in natural science courses. Computers & Education, 69, 121-130.
    Ingerman, Å., Linder, C., & Marshall, D. (2009). The learners’ experience of variation: following students’ threads of learning physics in computer simulation sessions. Instructional Science, 37(3), 273-292.
    Keefe, K., Sheard, J., & Dick, M. (2006). Adopting XP practices for teaching object oriented programming. Paper presented at the Proceedings of the 8th Australasian Conference on Computing Education-Volume 52.
    Kenny, C., & Pahl, C. (2009). Intelligent and adaptive tutoring for active learning and training environments. Interactive Learning Environments, 17(2), 181-195.
    Kim, M. (2002). Alternative instructional methods and strategies for effective computer programming education. J. Korea Assoc. Comput. Educ, 5(3), 1-9.
    King, A. (1990). Enhancing peer interaction and learning in the classroom through reciprocal questioning. American Educational Research Journal, 27(4), 664-687.
    King, A. (1994). Guiding knowledge construction in the classroom: Effects of teaching children how to question and how to explain. American Educational Research Journal, 31(2), 338-368.
    Klein, D., & Manning, C. D. (2003). Accurate unlexicalized parsing. Paper presented at the Proceedings of the 41st Annual Meeting on Association for Computational Linguistics-Volume 1.
    Kwon, K., Kumalasari, C. D., & Howland, J. L. (2011). Self-explanation prompts on problem-solving performance in an interactive learning environment. Journal of Interactive Online Learning, 10(2), 96-112.
    Lee, M.-C., Ye, D. Y., & Wang, T. (2005). Java learning object ontology. Paper presented at the Advanced Learning Technologies, 2005. ICALT 2005. Fifth IEEE International Conference on.
    Leung, A. (2003). Dynamic Geometry and The Theory of Variation. International Group for the Psychology of Mathematics Education, 3, 197-204.
    Lin, H.-C. K., Wang, C.-H., Chao, C.-J., & Chien, M.-K. (2012). Employing Textual and Facial Emotion Recognition to Design an Affective Tutoring System. Turkish Online Journal of Educational Technology-TOJET, 11(4), 418-426.
    Liu, Q.-L., Gu, X.-F., & Li, J.-P. (2010). Researches of Chinese sentence similarity based on HowNet. Paper presented at the Apperceiving Computing and Intelligence Analysis (ICACIA), 2010 International Conference on.
    Ma, W.-Y., & Chen, K.-J. (2003). Introduction to CKIP Chinese word segmentation system for the first international Chinese Word Segmentation Bakeoff. Paper presented at the Proceedings of the second SIGHAN workshop on Chinese language processing-Volume 17.
    Markman, A. B., & Gentner, D. (2001). Thinking. Annual review of psychology, 52(1), 223-247.
    Marton, F. (1981). Phenomenography—describing conceptions of the world around us. Instructional Science, 10(2), 177-200.
    Mayer, R. E. (1987). Educational psychology: A cognitive approach: Little, Brown Boston.
    Mayer, R. E., & Sims, V. K. (1994). For whom is a picture worth a thousand words? Extensions of a dual-coding theory of multimedia learning. Journal of educational psychology, 86(3), 389.
    McGuinness, D. L., & Van Harmelen, F. (2004). OWL web ontology language overview. W3C recommendation, 10(10), 2004.
    Miller, G. A. (1995). WordNet: a lexical database for English. Communications of the ACM, 38(11), 39-41.
    Mwangi, W., & Sweller, J. (1998). Learning to solve compare word problems: The effect of example format and generating self-explanations. Cognition and instruction, 16(2), 173-199.
    Neuman, Y., Leibowitz, L., & Schwarz, B. (2000). Patterns of verbal mediation during problem solving: A sequential analysis of self-explanation. The journal of experimental Education, 68(3), 197-213.
    Neuman, Y., & Schwarz, B. (1998). Is self‐explanation while solving problems helpful? The case of analogical problem‐solving. British Journal of Educational Psychology, 68(1), 15-24.
    Newell, A., & Simon, H. A. (1972). Human problem solving (Vol. 104): Prentice-Hall Englewood Cliffs, NJ.
    Nickerson, R. S. (1995). Can technology help teach for understanding. Software goes to school: Teaching for understanding with new technologies, 7-22.
    Ning, C., Wang, R., Chen, Z., & Lu, B. (2011). An efficient similarity measure algorithm of Chinese sentence. Paper presented at the Computer Science and Automation Engineering (CSAE), 2011 IEEE International Conference on.
    Noy, N. F., & McGuinness, D. L. (2001). Ontology development 101: A guide to creating your first ontology: Stanford knowledge systems laboratory technical report KSL-01-05 and Stanford medical informatics technical report SMI-2001-0880.
    Pang, M. F., & Marton, F. (2003). Beyond``lesson study': Comparing two ways of facilitating the grasp of some economic concepts. Instructional Science, 31(3), 175-194.
    Quan, H., Hu, J., & Fang, X. (2011). The research on collocation networks of relation words in modern Chinese language. Paper presented at the Computer Science & Education (ICCSE), 2011 6th International Conference on.
    Ramadhan, H. (1992). An intelligent discovery programming system. Paper presented at the Proceedings of the 1992 ACM/SIGAPP Symposium on Applied computing: technological challenges of the 1990's.
    Renkl, A. (1997). Learning from worked‐out examples: A study on individual differences. Cognitive science, 21(1), 1-29.
    Renkl, A. (2002). Worked-out examples: Instructional explanations support learning by self-explanations. Learning and instruction, 12(5), 529-556.
    Renkl, A., & Atkinson, R. K. (2003). Structuring the transition from example study to problem solving in cognitive skill acquisition: A cognitive load perspective. Educational psychologist, 38(1), 15-22.
    Renkl, A., Atkinson, R. K., & Große, C. S. (2004). How fading worked solution steps works–a cognitive load perspective. Instructional Science, 32(1-2), 59-82.
    Salomon, G., & Perkins, D. N. (1987). Transfer of cognitive skills from programming: When and how? Journal of Educational Computing Research, 3(2), 149-169.
    Schwartz, S. (1988). Empirical Studies of a" Metacourse" To Enhance the Learning of BASIC.
    Scott, C. A. (1994). Project-based science: Reflections of a middle school teacher. The Elementary School Journal, 75-94.
    Seidman, R. (1988). New directions in educational computing research. Teaching and Learning Computer Programming: Multiple Research Perspectives, Hillsdale, New Jersey: Lawrence Erlbaum Associates.
    Shaw, D. G. (1986). Effects of learning to program a computer in BASIC or Logo on problem-solving abilities. AEDS Journal, 19(2-3), 176-189.
    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. doi:10.1007/BF00977789
    Siegler, R. S. (2002). Microgenetic studies of self-explanation. Microdevelopment: Transition processes in development and learning, 31-58.
    Stanford. (1987). Protégé. Retrieved from http://protege.stanford.edu/
    Suhonen, J., Davies, J., & Thompson, E. (2007). Applications of variation theory in computing education. Paper presented at the Proceedings of the Seventh Baltic Sea Conference on Computing Education Research-Volume 88.
    Thota, N., & Whitfield, R. (2010). Holistic approach to learning and teaching introductory object-oriented programming. Computer Science Education, 20(2), 103-127.
    Thuné, M., & Eckerdal, A. (2009). Variation theory applied to students’ conceptions of computer programming. European Journal of Engineering Education, 34(4), 339-347.
    Van Merrienboer, J. J., & Krammer, H. P. (1987). Instructional strategies and tactics for the design of introductory computer programming courses in high school. Instructional Science, 16(3), 251-285.
    VanLehn, K., & Jones, R. M. (1993). What mediates the self-explanation e ect? Knowledge gaps, schemas or analogies? Ann Arbor, 1001, 48109-42110.
    VanLehn, K., Jones, R. M., & Chi, M. T. (1992). A model of the self-explanation effect. The Journal of the Learning Sciences, 2(1), 1-59.
    VanLehn, K., Jordan, P. W., Rosé, C. P., Bhembe, D., Böttner, M., Gaydos, A., . . . Roque, A. (2002). The architecture of Why2-Atlas: A coach for qualitative physics essay writing. Paper presented at the Intelligent tutoring systems.
    Venville, G. J., & Treagust, D. F. (1997). Analogies in biology education: A contentious issue. The American Biology Teacher, 282-287.
    Vikström, A. (2008). What is intended, what is realized, and what is learned? Teaching and learning biology in the primary school classroom. Journal of Science Teacher Education, 19(3), 211-233.
    Webb, N. M. (1989). Peer interaction and learning in small groups. International journal of Educational research, 13(1), 21-39.
    Wellman, H. M., & Liu, D. (2007). Causal reasoning as informed by the early development of explanations. Causal learning: Psychology, philosophy, and computation, 261-279.
    Whittle, J., Bundy, A., & Lowe, H. (1997). Supporting programming by analogy in the learning of functional programming languages. Paper presented at the Proceedings of the 8th World Conference on AI in Education.
    Wikipedia. (2013).
    Williams, J. J., & Lombrozo, T. (2010). The role of explanation in discovery and generalization: evidence from category learning. Cognitive science, 34(5), 776-806.
    Williams, J. J., Lombrozo, T., & Rehder, B. (2010). Why does explaining help learning? Insight from an explanation impairment effect. Paper presented at the Proceedings of the 32nd Annual Conference of the Cognitive Science Society.
    Wong, R. M., Lawson, M. J., & Keeves, J. (2002). The effects of self-explanation training on students' problem solving in high-school mathematics. Learning and instruction, 12(2), 233-262.
    Yeh, Y.-F., Chen, M.-C., Hung, P.-H., & Hwang, G.-J. (2010). Optimal self-explanation prompt design in dynamic multi-representational learning environments. Computers & Education, 54(4), 1089-1100.
    Zhang, H.-P., Yu, H.-K., Xiong, D.-Y., & Liu, Q. (2003). HHMM-based Chinese lexical analyzer ICTCLAS. Paper presented at the Proceedings of the second SIGHAN workshop on Chinese language processing-Volume 17.
    Zhao, Z., Wu, N., & Song, P.-P. (2012). Sentence semantic similarity calculation based on multi—feature fusion. Computer Engineering, 1, 055.

    無法下載圖示 校內:2020-12-30公開
    校外:不公開
    電子論文尚未授權公開,紙本請查館藏目錄
    QR CODE