簡易檢索 / 詳目顯示

研究生: 陳美文
論文名稱: VB程式設計初學者除錯行為分析
The Analysis of Novices’ Debugging Behaviors in VB Programming
指導教授: 吳正己
學位類別: 碩士
Master
系所名稱: 資訊教育研究所
Graduate Institute of Information and Computer Education
論文出版年: 2012
畢業學年度: 100
語文別: 中文
論文頁數: 67
中文關鍵詞: 程式設計初學者除錯Visual Basic
英文關鍵詞: Novice programmer, Debugging, Visual Basic
論文種類: 學術論文
相關次數: 點閱:124下載:5
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 本研究目的旨在探討VB程式設計初學者的除錯行為及他們對於除錯的看法。研究方法主要是以問卷調查方式瞭解學生除錯的看法,並以質性分析方式分析個案學生除錯過程中的行為,最後輔以訪談以進一步探討前述除錯看法及行為產生之原因。問卷調查對象為台北市某高職三年級資料處理科學生兩班共72人,其中八人並進行除錯過程分析及訪談;程式設計除錯的範圍包括變數、判斷、迴圈、及副程式等基本概念。
    研究結果顯示,大部分學生認為自己的除錯技巧不足,並認為除錯技巧與個人天分或經驗有關;而當學生無法解決程式錯誤時,會先求助同學,其次才是老師。雖然學生指出他們會利用除錯工具來找出錯誤,但實際觀察其除錯過程發現,他們僅能倚賴編譯環境呈現的訊息(如「錯誤清單」、「波浪狀底線標註」)來找到程式錯誤,卻甚少使用或不知道如何使用除錯工具(如「逐步執行」、「設定中斷點」)。此外,學生表示他們不喜歡除錯,但成功除錯會讓他們有成就感並且增加信心。針對研究結果,建議教師可以藉由教學設計增強學生除錯的成就感,使學生能以更正向的態度面對程式錯誤,並能瞭解除錯也有其系統性的方法,非僅依個人天賦。建議未來研究可以增加學生樣本數,以增加研究的外在效度;並可以進一步探討學生在進階程式設計概念(如陣列、遞迴等)的學習,以期更全面性的了解學生的除錯行為。

    This study aims to investigate the debugging behaviors of novices in Visual Basic (VB) programming. Seventy-two students from a vocational high school in Taipei City participated in the study. The data collected for analysis were the questionnaire results answered by all students to learn their self-perceived behaviors and perceptions of debugging, the video-taped and screenshot-recorded debugging scenarios of eight case students, and the interview data of the eight students.
    The analysis results showed that most students considered themselves lack of debugging skills and believed these skills were kindly bound to individual’s nature and could not be learned; they did not like the challenges of debugging but enjoyed the success of resolving bugs. When encountering debugging problems, they would seek help from colleagues first rather than the teachers. Although students indicated that they used VB debugging tools to locate errors, our observation revealed that they could only relied on system provided error messages but could not use or be aware of the existence of debugging tools such as “breakpoint”.
    To engage novices’ in debugging, teachers may consider adopting proper instructional design so that students’ sense of accomplishment could be reinforced. Future studies may repeat this study but with larger sample size to improve the external validity.

    附表目錄 vi 附圖目錄 vii 第一章 緒論 1 第一節 研究背景與動機 1 第二節 研究目的 3 第三節 研究限制 3 第四節 名詞釋義 3 第二章 文獻探討 5 第一節 程式設計初學者學習問題 5 第二節 程式設計除錯 9 第三節 VB程式設計 14 第三章 研究方法 17 第一節 研究設計 17 第二節 研究對象 17 第三節 研究工具 18 第四節 實施程序 21 第五節 資料分析 22 第四章 結果與討論 25 第一節 除錯行為 25 第二節 除錯態度 29 第三節 除錯過程 32 第五章 結論與建議 41 第一節 結論 41 第二節 建議 42 參考文獻 45 附錄一 程式設計問卷調查 51 附錄二 除錯題目 53 附錄三 除錯行為觀察表 57 附錄四 除錯行為觀察表示例 58 附錄五 學生訪談大綱 63 附錄六 程式設計問卷調查—開放式問題填答結果 64

    中華民國電腦技能基金會(2009)。Visual Basic 2008實力養成曁評量。台北市:碁峰資訊。
    尹玫君(1991)。電腦程式設計能力與認知能力相關之研究。臺南師院學報,24。
    李啟龍和俞冠廷(2008)。Visual Basic 2008程式設計16堂特訓。台北市:文魁資訊股份有限公司。
    李進益(2003)。影響高(中)職資訊科學生學習滿意度因素之研究(未出版之碩士論文)。國立彰化師範大學,彰化市。
    沈碧麗(2005)。高職電腦教師教學信念之個案研究(未出版之碩士論文)。國立臺灣師範大學,臺北市。
    張春興(2007)。教育心理學。台北市:東華出版社。
    教育部技職司(2010)。職業學校群科課程綱要。臺北:教育部。
    教育部國教司(2010)。普通高級中學課程綱要。臺北:教育部。
    陳宏煒(2003)。高中電腦課程實施現況調查(未出版之碩士論文)。國立臺灣師範大學,臺北市。
    陳明溥(2007)。程式語言課程之教學模式與學習工具對初學者學習成效與學習態度之影響。師大學報:科學教育類,52,1-21。
    Ahmadzadeh, M., Elliman, D., & Higgins, C. (2005). An analysis of patterns of debugging among novice computer science students. SIGCSE Bulletin, 37(3), 84-88. doi: 10.1145/1151954.1067472
    Bayman, P., & Mayer, R. E. (1988). Using conceptual models to teach BASIC computer programming. Journal of Educational Psychology, 80(3), 291-298.
    Bonar, J., & Soloway, E. (1985). Preprogramming knowledge: a major source of
    misconceptions in novice programmers. Human-Computer Interaction, 1(2),
    133-161.
    Chmiel, R., & Loui, M. C. (2004). Debugging: from novice to expert. SIGCSE Bulletin, 36(1), 17-21.
    Decasse, M., & Emde, A. M. (1988). A review of automated debugging systems: knowledge, strategies and techniques. Proceedings of the 10th International Conference on Software engineering, 162-171, Singapore.
    Ellinger, H. (2003). A nature sense of algorithm: Children should learn computer programming as a basic skill. Retrieved Febuary 13, 2009, from http://hunter.ellinger.org/education/ProgrammingForChildren.htm.
    Fitzgerald, S., Lewandowski, G., McCauley, R., Murphy, L., Simon, B., Thomas, L., & Zander, C. (2008). Debugging: Finding, Fixing and Flailing, a Multi-Institutional Study of Novice Debuggers. Computer Science Education, 18(2), 93-116.
    Gal-Ezer, J., & Harel, D. (1998). What (else) should CS educators know? Communications of the ACM, 41(9), 77-84.
    Garry, L. W., & Marcos, P. S. (2002). A theory of the relationship between cognitive requirements of computer programming languages and programmers' cognitive characteristics. Journal of Information Systems Education, 13(1), 59.
    Gugerty, L., & Olson, G. (1986). Debugging by skilled and novice programmers. ACM SIGCHI Bulletin, 17(4), 171-174.
    Hartmann, W., Nievergelt, J., & Reichert, R. (2001). Kara, finite state machines, and the case for programming as part of general education. Proceedings of the 2001 IEEE Symposia on Human-Centric Computing Languages and Environments, 135-141, Stresa, Italy.
    Hughes, M. C., Jadud, M. C., & Rodrigo, M. M. T. (2010). String formatting considered harmful for novice programmers. Computer Science Education, 20(3), 201-228. doi: 10.1080/08993408.2010.507335
    Jadud, M. C. (2006). Methods and tools for exploring novice compilation behaviour. Paper presented at the Proceedings of the second international workshop on Computing education research, Canterbury, United Kingdom.
    Jeffries, R. (1982). A comparison of the debugging behavior of expert and novice programmers. Paper presented at the American Education Research Association Annual Meeting, New York.
    Katz, I. R., & Anderson, J. R. (1987). Debugging: an analysis of bug-location
    strategies. Human-Computer Interaction, 3(4), 351-399.
    Ko, A. J., Myers, B. A., & Aung, H. H. (2004). Six Learning Barriers in End-User Programming Systems. Paper presented at the Proceedings of the 2004 IEEE Symposium on Visual Languages - Human Centric Computing.
    Lahtinen, E., Ala-Mutka, K., & Järvinen, H.-M. (2005). A study of the difficulties of novice programmers. SIGCSE Bulletin, 37(3), 14-18.
    Marie-H, Nienaltowski, n., Pedroni, M., & Meyer, B. (2008). Compiler error messages: what can help novices? SIGCSE Bulletin, 40(1), 168-172. doi: 10.1145/1352322.1352192
    Martin, J. (1999). Teaching with Visual BASIC. Journal of Computer Science Education, 13(1), 12-15.
    McCauley, R., Fitzgerald, S., Lewandowski, G., Murphy, L., Simon, B., Thomas, L., & Zander, C. (2008). Debugging: a review of the literature from an educational perspective. Computer Science Education, 18, 67-92.
    Murphy, L., Lewandowski, G., McCauley, R., Simon, B., Thomas, L., & Zander, C. (2008). Debugging: the good, the bad, and the quirky -- a qualitative analysis of novices' strategies. SIGCSE Bulletin, 40(1), 163-167. doi: 10.1145/1352322.1352191
    Ousterhout, J. K. (1998). Scripting: higher level programming for the 21st Century. Computer, 31(3), 23-30.
    Parsons, D., & Haden, P. (2007). Programming osmosis: Knowledge transfer from
    imperative to visual programming environments. Proceedings of The Twentieth Annual National Advisory Committee on Computing Qualifications Conference, 209-215, Hamilton, New Zealand.
    Perkins, D., Hancock, C., Hobbs, R., Martin, F., & Simmons, R. (1986). Conditions of learning in novice programmers. Journal of Educational Computing Research, 2(1), 37-55.
    Perkins, D., & Martin, F. (1986). Fragile knowledge and neglected strategies in novice programmers. Empirical studies of programmers, Ablex, Norwood, NJ (1986), 213–229.
    Powers, K., Gross, P., Cooper, S., McNally, M., Goldman, K. J., Proulx, V., & Carlisle, M. (2006). Tools for teaching introductory programming: what works? SIGCSE Bulletin, 38(1), 560-561. doi: 10.1145/1124706.1121514
    Putnam, R., Sleeman, D., Baxter, J., & Kuspa, L. (1986). A summary of misconceptions of high school basic programmers. Journal of Educational Computing Research, 2(4), 459-472.
    Resnick, M., Maloney, J., Hernandez, A., Rusk, N., Eastmond, E., Brennan, K., . . . Silverman, B. (2009). Scratch: Programming for Everyone. Communications of the ACM, 52(11), 60-67.
    Robins, A., Rountree, J., & Rountree, N. (2003). Learning and Teaching Programming: A Review and Discussion. Computer Science Education, 13(2), 137-172. doi: 10.1076/csed.13.2.137.14200
    Shneiderman, B. (1980). Software psychology: Human factors in computer and information systems (Winthrop computer systems series), Winthrop Publishers.

    Simon, B., Bouvier, D., Chen, T., Lewandowski, G., McCartney, R., & Sanders, K. (2008). Common sense computing (episode 4): debugging. Computer Science Education, 18(2), 117-133.
    Spohrer, J. G., & Soloway, E. (1986). Analyzing the high frequency bugs in novice programs. Paper presented at the Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers, Washington, D.C., United States.
    Spohrer, J. C., Soloway, E., & Pope, E. (1985). A Goal/Plan Analysis of Buggy Pascal Programs. Human–Computer Interaction, 1(2), 163-207. doi: 10.1207/s15327051hci0102_4
    Tucker, A., Deek, F., Jones, J., McCowan, D., Stephenson, C., & Verno, A. (2004). A model curriculum for K-12 computer science. Retrieved February 13, 2009, from http://www.csta.acm.org/Curriculum/sub/CurrFiles/K-12ModelCurr2ndEd.pdf
    Valente, J. (1995). Logo as a window into the mind. Logo Update, 4(1), 1-4. Retrieved February 13, 2009, from http://el.media.mit.edu/logo-foundation/pubs/logoupdate/v2004n2001.html

    下載圖示
    QR CODE