研究生: |
林冠宇 Lin, Kuan-Yu |
---|---|
論文名稱: |
Alice程式設計初學者之錯誤類型分析 An Analysis of Novice Alice Programmers’ Error Types |
指導教授: | 林美娟 |
學位類別: |
碩士 Master |
系所名稱: |
資訊教育研究所 Graduate Institute of Information and Computer Education |
論文出版年: | 2013 |
畢業學年度: | 101 |
語文別: | 中文 |
論文頁數: | 104 |
中文關鍵詞: | Alice程式設計 、錯誤類型 、診斷性訪談 |
英文關鍵詞: | Alice programming, Error types, Clinical interview |
論文種類: | 學術論文 |
相關次數: | 點閱:195 下載:13 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
本研究旨在探討程式設計初學者於實作Alice程式專案時所遭遇之困難,並將其進行分析與歸類。研究實施採用質性研究之一對一診斷性訪談,參與者為臺北市某高級中學一年級的學生共22名。研究者設計了涵蓋不同概念、難度漸進的9個題目供學生實作,並由訪談者全程觀察學生進行解題的過程,且於學生遭遇解題困難時,依照「引導式提問」、「間接提示」、「直接指導」的漸進順序給予提示,以了解學生在各項程式設計概念的學習困難類型。研究結果歸納出學生於內建方法、時序控制結構、變數、選擇結構、重複結構、陣列、自訂方法及參數中常見的錯誤類型,將其分類為連結、定位、使用以及其他四類,並針對學生實作程式專案時所見之情形,提出使用Alice進行程式設計教學時所應注意之事項及相關建議。
This study aims to investigate the difficulties encountered by novice Alice programmers and categorize the types of errors they make. The researcher conducted one-on-one clinical interviews with 22 freshmen at a senior high school. The participants were offered nine Alice projects with increasing levels of difficulty, each requiring the use of a different set of programming constructs. Each participant was observed closely as s/he worked on the given projects. Whenever an error occurred in his/her program or when s/he did not know how to proceed, the observer would intervene by asking a sequence of questions with increasing specificity, ranging from prompts, hints, to provides, in order to determine the cause of the impasse. This study summarizes the common errors for each of the Alice programming constructs that the participants used in their projects and categorized the errors into four types: connection errors, location errors, usage errors and math-and-other errors. In view of these error types, this study also gave suggestions for teaching Alice programming.
Adams, J.C. (2007). Alice, middle schoolers & the imaginary worlds camps. ACM SIGCSE Bulletin. 39(1), 307-311.
Ahmadzadeh, M., Elliman, D., & Higgins, C. (2005). An analysis of patterns of debugging among novice computer science students. ACM SIGCSE Bulletin, 37(3), 84-88.
Bishop-Clark, C. (1992). Protocol analysis of a novice programmer. ACM SIGCSE Bulletin, 24(3), 14-18.
Bonar, J., & Soloway, E. (1983). Uncovering principles of novice programming. POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, 10-13.
Brooks, R. (1983). Towards a theory of the comprehension of computer programs. International Journal of Man-Machine Studies, 18(6), 543-554.
Brown, P.H. (2008). Some field experience with Alice. Journal of Computing Sciences in Colleges, 24(2), 213-219.
Butler, M., & Morgan, M. (2007). Learning challenges faced by novice programming students studying high level and low feedback concepts. Proceedings of Ascilite, 2007, 99-107.
Chen, C.-L., Cheng, S.-Y. & Lin, J. M.-C. (2012). A study of misconceptions and missing conceptions of novice Java programmers. Proceedings of the 2012 International Conference on Frontiers in Education: Computer Science and Computer Engineering (FECS'12, pp. 307-313)
Cooper, S., Dann, W., & Pausch, R. (2000a). Developing Algorithmic Thinking With Alice. In The Proceedings of the Information Systems Education Conference 2000, Philadelphia.
Cooper, S., Dann, W., & Pausch, R. (2000b). Alice: a 3-D tool for introductory programming concepts. Journal of Computing Sciences in Colleges, 15(5), 107-116.
Cooper, S., Dann, W., & Pausch, R. (2003). Teaching Objects-first In Introductory Computer Science. ACM SIGCSE Bulletin, 35(1), 191-195.
Dann, W., Cooper, S., & Pausch, R. (2000). Making the connection: programming with animated small world. ACM SIGCSE Bulletin, 32(3), 41-44.
Ebrahimi, A. (1994). Novice programmer errors: language constructs and plan composition. International Journal of Human-Computer Studies, 41(4), 457-480.
Fincher, S., Cooper, S., Kölling, M., & Maloney, J. (2010). Comparing Alice, Greenfoot & Scratch. SIGCSE '10, 192-193.
Good, J. (1999). VPLs and novice program comprehension: how do different languages compare? Visual Languages, 1999, 262-267.
Jenkins, T. (2002). On the difficulty of learning to program. Proceedings of the 3rd LTSN-ICS Conference, 53-58.
Kelleher, C., Cosgrove, D., Culyba, D., Forlines, C., Pratt, J., Pausch, R. (2002). ALICE2: programming without syntax errors. User Interface Software and Technology.
Ko, A.J. (2004). Designing a flexible and supportive direct-manipulation programming environment. Visual Languages and Human Centric Computing, 2004 IEEE Symposium on, 277-278.
Kopec, D., Yarmish, G., & Cheung, P. (2007). A description and study of intermediate student programmer errors. ACM SIGCSE Bulletin, 39(2), 146-156.
Lahtinen, E., AlaMutka, K., & Järvinen, H. (2005). A study of the difficulties of novice programmers. ACM SIGCSE Bulletin, 37(3), 14-18.
Lane , H.C., & VanLehn, K. (2003). Coached program planning: Dialogue-based support for novice program design. ACM SIGCSE Bulletin, 35(1), 148-152.
Linn, M. C., & Dalbey, J. (1985). Cognitive consequences of programming instruction: Instruction, Access, and Ability. Educational Psychologist, 20(4), 191-206.
Mannila, L., Peltomaki, M., & Salakoski, T. (2006). What about a simple language? Analyzing the difficulties in learning to program. Computer Science Education, 16(3), 211-227.
McIver, L. (2000). The effect of programming language on error rates of novice programmers. 12th Annual Workshop of Psychology of Programmers Interest Group (PPIG), 181-192.
Mullins, P., Whitfield, D., Conlon, M. (2009). Using Alice 2.0 as a first language. Journal of Computing Sciences in Colleges, 24(3), 136-143.
Pea, R.D. (1986). Language-independent conceptual “bugs” in novice programming. Journal of. Educational Computing Research 2(1): 25–36.
Perkins, D.N., & Martin, F. (1986). Fragile knowledge and neglected strategies in novice programmers. In Soloway E. and Iyengar S. (Eds.). Empirical Studies of Programmers. Norwood: Ablex Pub., 213–229.
Powers, K., Ecott, S., & Hieshfield, L.M. (2007). Through the Looking Glass: Teaching CS0 with Alice. ACM SIGCSE Bulletin, 39(1), 213-217.
Putnam, R. T., Sleeman, D., Baxter, J. A., & Kuspa, L. K. (1989). A summary of misconceptions of high school BASIC programmers. In E .Soloway and J. C. Spohrer (eds.), Studying the Novice Programmers (pp. 301-314). Hillsdale, NJ, Lawrence Erlbaum Associates.
Ragonis, N., & Ben-Ari, M. (2005). A long-term investigation of the comprehension of OOP concepts by novices. Computer Science Education, 15(3), 203-221.
SamurÇay, R. (1985). Learning programming: An analysis of looping strategies used by beginning students. For the Learning of Mathematics 5(1), 37–43.
Soloway, E. (1986). Learning to program = Learning to construct mechanisms and explanations. Communications of the ACM, 29(9), 850-858.
Spohrer, J. G., & Soloway, E. (1986b). Novice mistakes: Are the folk wisdoms correct? Communications of the ACM, 29(7), 624-632.
Spohrer, J.C., & Soloway, E. (1986a). Analyzing the high frequency bugs in novice programs. In Soloway E. and Iyengar S. (Eds.). Empirical Studies of Programmers. Norwood: Ablex Pub., 230–251.
Spohrer, J.C., Soloway, E., & Pope, E. (1985). A goal/plan analysis of buggy pascal programs. Journal Human-Computer Interaction, 1(2), 163-207.
Sykes, E.R. (2007). Determining the effectiveness of the 3D Alice programming environment at the computer science I level. Journal of Educational Computing Research, 36(2), 223-244.
Vainio, V., & Sajaniemi, J. (2007). Factors in novice programmers' poor tracing skills. ACM SIGCSE Bulletin - Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education (ITiCSE'07), 39(3), 236-240.
Wang, T-H., Mei, W-H., Lin, S-L., Chiu, S-K., & Lin, J.M-C. (2009). Teaching programming concepts to high school students with Alice. Frontiers in Education Conference, 1-6.
Ward, B. (2009). Using virtual world programming languages to teach computer science concepts.
Wiedenbeck, S. (1999). Novice comprehension of small programs written in the procedural and object-oriented styles. International Journal of Human-Computer Studies, 51(1), 71-87.
Yarmish, G., & Kopec, D. (2007). Revisiting Novice Programmer Errors. ACM SIGCSE Bulletin, 39(2), 131-137.
Zaccone, R., Cooper, S., & Dann, W. (2003). Using 3D Animation Programming in a Core Engineering Course Seminar. Frontiers in Education, 2, 14-17.
教育部(民100),普通高級中學必修科目「資訊科技概論」課程綱要。臺北市:作者。
謝如山(譯)(2004)。進入兒童心中的世界(原作者:Ginsburh, H, P.)。臺北市:五南圖書。(原著出版年:1997)
林恬忻(2007)。於國中實施Alice程式設計教學行動研究。臺灣師範大學資訊教育學系碩士班學位論文,未出版,台北市。