| 研究生: |
黃子峰 Hwang, Tzu-Feng |
|---|---|
| 論文名稱: |
整合變易理論之物件導向程式設計輔助語法導正學習系統 Implement the Variation Theory in an Object-Oriented Programming Assisted Syntax Correction Learning System. |
| 指導教授: |
王宗一
Wang, Tzone-I |
| 學位類別: |
碩士 Master |
| 系所名稱: |
工學院 - 工程科學系 Department of Engineering Science |
| 論文出版年: | 2013 |
| 畢業學年度: | 101 |
| 語文別: | 中文 |
| 論文頁數: | 73 |
| 中文關鍵詞: | 變易理論 、物件導向程式設計 、輔助語法導正 |
| 外文關鍵詞: | variation theory, object-oriented programming, assisted syntax correction |
| 相關次數: | 點閱:120 下載:1 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
物件導向程式設計的技能在資訊軟體專業領域中佔有極為重要的部分,一直是各大專院校資訊工程、或軟體資訊相關領域中必須學習的重要課程;然而,在初學者學習程式設計的過程中,常常對程式語法、語意或指令敘述的不了解而使學習感到挫折。
故本研究旨在於建置一個具變易理論模式的物件導向程式設計輔助語法導正系統。讓學習者可在此系統上練習撰寫C++物件導向程式、編譯程式碼,且當學習者在練習過程中,遇到編譯錯誤需進行程式除錯時,系統將給予學習者基於變易理論教學模式的語法導正回饋以幫助他們學習。
本研究實驗設計方式是以S型分組方式將參與學生分派為「具變易理論策略組」(實驗組)與「無變易理論策略組」(對照組),用以探討變易理論應用於物件導向程式設計輔助語法導正的學習成效;並結合問卷分析以及訪談,探討本研究的輔助語法導正機制對於學習者的影響。
實驗結果顯示使用「具變易理論模式的語法導正策略」在學習成效表現上優於使用「無變易理論模式的語法導正策略」,證明應用變易理論於物件導向程式設計的語法導正學習能夠幫助學習者撰寫及練習物件導向程式,並且能解決在學習程式設計的過程中,對程式語法、語意或指令敘述的不了解而感到挫折的問題。
Object-oriented programming skill is important for the software professionals. It has become a mandatory course in information science and computer engineering departments of universities. However, when learning object-oriented programming, it is often hard for novice programmers to understand the syntax and the semantics of the language and that makes them feel frustrated.
The purpose of this study is to build an object-oriented programming assistant system that gives syntax error feedbacks based the variation theory. Programmers can write and compile their C++ object-oriented programs in this system. When compiling their codes, the system will display syntax errors, if any, with feedbacks that are designed according to the variation theory in different levels to help them correcting the errors.
The experiment design of this study splits the participants, who are university freshmen, into two groups by S-type method based on the result of a mid-term test; the experimental group used the system and got error feedbacks based on the variation theory, while the control group got only normal feedbacks. Posts are used to see the performance and questionnaires were used for surveying, followed by in-depth interviews, to evaluate the feasibility of the assistant system.
The findings do indicate that the learners in the experimental group achieved better learning outcomes than their counterparts in the control group. This can also prove that the strategy of using the variation theory in implementing feedbacks for object-oriented programming in this study is correct and effective.
中文部分
周志岳. (2010). 電腦程式作業之虛擬助教輔助評分機制之研發.
祁永華, 謝錫金, & 岑紹基. (2005). 變易理論與學習空間. 香港: 香港大學出版社.
邱貴發. (1996). 八五年暑研所資訊教學專題彙集. 國立台灣師範大學資訊教育研究所.
陳年興. (1998). 同步與非同步遠距教學之整合講義. 教育部學術研究資訊服務網路應用暨套裝軟體研討會論文集.
陳怜秀, & 郭英峰. (1998). 學生程式設計能力影響因素之研究─以崑山技術學院資訊管理系為例. 技術學刊, 13(4), 661-668.
陳明溥. (1999). 雙碼理論於遞迴程式設計教學之概念模型設計研究. Paper presented at the 第八屆電腦輔助教學國際研討會, 逢甲大學.
陳明溥. (2007). 程式語言課程之教學模式與學習工具對初學者學習成效與學習態度之影響. 師大學報, 52, 1-21.
鍾大定. (2006). 專題導向學習對高職程式設計課程影響之研究. Journal of Informatics & Electronics, 1(1), 21-27.
英文部分
Anderson, J. R., Pirolli, P. L., & Farrell, R. (1988). Learning to program recursive functions. In M. T. H. Chi, R. Glaser & M. Farr (Eds.). The nature of expertise 153-183.
Anderson, J.R., Farrel, R., & Sauers, R. (1984). Learning to program in Lisp. Cognitive Science, 8(2), 87-129.
Bennedsen, J., & Caspersen, M. E. (2005). Revealing the Programming Process. Proceedings of 36th SIGCSE Technical Symposium on Computer Science Education (SIGCSE2005), 186-190.
Bergin, S., & Reilly, R. (2005). Programming: Factors that Influence Success. Proceedings of 36th SIGCSE Technical Symposium on Computer Science Education (SIGCSE 05), 411-415.
Bjorklund, 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, 16(3&4), 369-398.
Bravo, C., Marcelino, M.J., Gomes, A., Esteves, & M. & Mendes, A.J. (2005). Integrating Educational Tools for Collaborative Computer Programming Learning. Journal of Universal Computer ScienceScience, 11(9), 1505-1517.
Chang, Kuo-En, Chiao, Bea-Chu, Chen, Sei-Wang, & Hsiao, Rong-Shue. (2000). A programming learning system for beginners-a completion strategy approach. Education, IEEE Transactions on, 43(2), 211-220.
Chou, Chih-Yueh, Huang, B, H., & Lin, C. J. (2011). Complementary Machine Intelligence and Human Intelligence in Virtual Teaching Assistant for Tutoring Program Tracing. Computers & Education, 57(4), 2303-2312.
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.
Colin, D., & Glenda, G. (2004). Active participation of integrated development environments in the teaching of object-oriented programming. Computers & Education, 43(3), 291-298.
Deek, F. P. (1999). A framework for an automated problem solving and program development environment. Transactions of the SDPS, 3(3), 1-13.
Deimel, L. E., & Moffat, D. V. (1982). A more analytical approach to teaching the introductory programming course., J. Smith and M. Schuster.
Ebrahimi, A., & Schweikert, C. (2006). Empirical study of novice programming with plans and objects. SIGCSE Bull, 38(4), 52-54.
Eckerdal, A., & Thun'e, M. (2005). Novice Java programmers' conceptions of "object" and "class", and variation theory. Proceedings of the 10th Annual SIGCSE Conference on Innova-tion and Technology in Computer Science Education (ITiCSE'05), 89-93.
Eckerdal, A., & Thun'e, M. (2009). Variation Theory Applied to Students Conceptions of Computer Programming. European Journal of Engineering Education, 34(4), 339-347.
Holland, S., Griffiths, R., & Woodmanw, M. (1997). Avoiding object misconceptions. In Proceedings of the 28th SIGCSE Technical Symposium on Computer Science Education(SIGCSE'97), 131-134.
Holmqvist, M., & Tullgren, C. (2009). Pre-School Children Discerning Numbers and Letters. Forum on Public Policy Online.
Ingerman, A., Linder, C., & Marshall, D. (2009). The Learners' Experience of Variation: Following Students' Threads of Learning Physics in Computer Simulation Sessions. Instructional Science: An International Journal of the Learning Sciences, 37(3), 273-292.
Kathy, B., Brenda, G., & Sharon, N. (1995). Increasing student motivation through project-based learning. ERIC, Document Reproduction Service No.392549.
Keefe, K., Sheard, J., & Dick, M. (2006). Adopting XP Practices for Teaching Object Oriented Programming. In. Proc. 8th Australian Conf. Computing Education, 52, 91-100.
Kelleher, C., & Pausch, R. (2005). Lowering the barriers to programming. ACM Computing Surveys, 37(2), 83-137.
Khan, B. . (1997). Web-based instruction.: Englewood-Cliffs, NJ: Educational Technology Publications, Inc.
Kim, M. (2002). Alternative instructional methods and strategies for effectivecomputer programming education. J. Korea Assoc. Comput. Educ, 5(3), 1-9.
Leung, A. (2003). Dynamic geometry and the theory of variation. Paper presented at the Proceedings of PME 27: Psychology of Mathematics Education 27th International Conference.
Lewandowski, G., Gutschow, A., Mccartney, R., Sanders, K., & Shinners-Kenned, Y. D. (2005). What novice programmers don't know. Paper presented at the Proceedings of the 2005 International Work-shop on Computing Education Research (ICER'05), New York.
Martin, James, & Odell, James J. (1994). Object-Oriented Methods: A Foundation: Prentice Hall PTR Upper Saddle River, NJ, USA ©1994.
Marton, F. (1981). Phenomenography-describing conceptions of the world around us. Instructional Science(10), 177-200.
Marton, F., & Booth, S. (1997). Learning and awareness. Educational Resources in Computing (JERIC), 1(3).
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-401.
Nickerson, R. S. (1995). Can technology help teach for understanding? In D. N. Perkins, J. L. Schwartz, M. M. West & M. S. Wiske (Eds.), . Software goes to school: Teaching for understanding with new technologies.
Oliveira, C. A., Conte, M., & Riso, B. (1998). Aspects on Teaching/Learning with Object Oriented Programming for Entry Level Courses of Engineering. International Conference on Engineering Education–ICEE.
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.
Ragonis, N., & Ben-Ari, M. (2005). On understanding the statics and dynamics of object-oriented programs. Paper presented at the SIGCSE '05 Proceedings of the 36th SIGCSE technical symposium on Computer science education, New York, USA.
Ramadhan, H. (1992). An intelligent discovery programming system. Paper presented at the SAC '92 Proceedings of the 1992 ACM/SIGAPP Symposium on Applied computing: technological challenges of the 1990's, New York, USA.
Robins, A., Rountree, J., & Rountree, N. (2003). Learning and teaching programming: A review and discussion. Computer Science Education, 13, 137-172.
Salomon, G., & Perkins, D. N. (1987). Transfer of cognitive skills from programming: When and how? Journal of Educational Computing Research, 3, 149-170.
Schulte, C., & Bennedsen, J. (2006). What do teachers teach in introductory programming? Paper presented at the Proceedings of the International Workshop on Computing Education Research (ICER'06), New York.
Scott, C. A. (1994). Project-based science: Reflection of a middle school teacher. Elementary School Journal, 95(1), 75-94.
Seidman, R. H. (1988). New directions in educational computing research. In R. E. Mayer (Ed). Teaching and learning computer programming: Multiple research perspectives., Hillsdale, NJ: Lawrence Erlbaum.
Shanmugasundaram, V., Juell, P., Groesbeck, G., & Makosky, M. (2006). Evaluation of Alice World as an introductory programming language. Paper presented at the Proceedings of the ED-MEDIA 2006-World Conference on Educational Multimedia, Hypermedia & Telecommunications.
Shaw, D. G. (1986). Effects of learning to program a computer in BASIC or Logo on problem-solving abilities. AEDS Journal, 19, 176-189.
Stavroula, G., & R., Symeon. (2007). Using Educational Tools for Teaching Object Oriented Design and Programming. Journal of Information Technology Impact, 7(2), 111-130.
Stepans, J. (1996). Targeting Students' Science Misconceptions: Physical Science Concepts Using the Conceptual Change Model. Idea Factory.: Idea Factory.
Suhonen, J., Thompson, E., Davies, J., & Kinshuk. (2007). Applications of variation theory in computing education. Paper presented at the Proceeding Koli Calling '07 Proceedings of the Seventh Baltic Sea Conference on Computing Education Research, Koli National Park, Finland.
Teif, M., & Hazzan, O. (2006). Partonomy and taxonomy in object-oriented thinking: Junior high school students' perceptions of object-oriented basic concepts. SIGCSE Bull, 38(4), 55-60.
Thota, N., & Whitfield, R. (2010). Holistic Approach to Learning and Teaching Introductory Object-Oriented Programming. Computer Science Education, 20(2), 103-127.
Ueno, H. (2000). A generalized knowledge-based approach to comprehend pascal and C programs. IEICE Trans. Inf. Syst. , E81(12), 1323-1329.
Van Merrienboer, J. J. G., & Krammer, H. P. (1987). Instructional strategies and tactics for the design. Computers and Education, 10, 375-378.
Venville, G. J., & Treagust, D. F. (1997). Analogies in biology education: A contentious issue. The American Biology Teacher, 59(5), 282-287.
Vikstrom, 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.
Whittle, J., Bundy, A., & Lowe, H. (1997). Supporting programming by analogy in the learning of functional programming languages. Paper presented at the The 8th International Conference on AI in Education (AIED).
Winslow, L. E. (1996). Programming pedagogy - a psychological overview. SIGCSE Bull, 28, 17-22.
Xinogalosa, S., Satratzemia, M., & Dagdilelis, V. (2006). An introduction to object-oriented programming with a didactic microworld: objectKarel. Computers & Education, 47(2), 148-171.