Responsive image
博碩士論文 etd-0826109-221937 詳細資訊
Title page for etd-0826109-221937
論文名稱
Title
使用樣板教學於初階程式設計課程之探討
Teaching Programming Patterns in an Introductory Programming Course
系所名稱
Department
畢業學年期
Year, semester
語文別
Language
學位類別
Degree
頁數
Number of pages
135
研究生
Author
指導教授
Advisor
召集委員
Convenor
口試委員
Advisory Committee
口試日期
Date of Exam
2009-07-20
繳交日期
Date of Submission
2009-08-26
關鍵字
Keywords
樣版程式教學、行動研究
Action Research, Programming Pattern
統計
Statistics
本論文已被瀏覽 5802 次,被下載 3181
The thesis/dissertation has been browsed 5802 times, has been downloaded 3181 times.
中文摘要
根據多年來的經驗,程式設計教學往往成效不彰;研究結果顯示,初學者學習程式設計最大的困難不在於理解程式語言的語法和語意,而是不知如何結合所學的知識去解決問題。樣版的使用對於將知識整合、把不同的概念和想法組合成有意義的型式是極有幫助的。許多研究提出將樣版運用於初階程式教學上,但大多數的研究都只將樣版加以定義和給予樣版的範例,只有少部份的研究實際在初階程式課程的教學上使用樣版教材教學或提出有效的方法來將樣版融入課程之中。本研究提出一套適合初學者學習之樣版程式教學教材,採行動研究法,實際在國立中山大學資訊管理系大一必修之初階程式課程教學,透過教師研究者的參與觀察、訪談記錄、課程回饋、學生期中期末考試作答程式碼等資料來為資料搜集與分析的工具,並希望透過行動研究來省思教學歷程遭遇的問題及解決方法。
研究結果顯示,本研究所提出之樣版程式教學教材確實能使學生解決問題的能力有所提升,使大多數學生在遇到問題時,會知道從何處開始解題、腦中會構思出大概的解題計畫,也會在腦中搜尋之前所解決過相似問題的解法,進而寫出程式以解決問題。
Abstract
Programming teaching is not effective from experience. Research shows that the main problem novice programmers have is not understanding the syntax and semantics of programming language, but combining the knowledge they have learned to make a solution of a new problem. Patterns are useful to combine the knowledge and develop a solution for a problem. A lot of research suggests that using patterns in teaching introductory programming courses, but most of them just define the patterns and give some examples of them. However, just a few of them use programming patterns in a real course or make patterns into the teaching materials.
This research proposes a programming pattern tutorial for elementary novice students and adopts the active research method to teach the material in a programming course of the first grade students of NSYSU. We collect and analyze the data coming from participating observation, interview record, and the test scripts of midterm and final term exams and hope to use action research method to categorize the difficulties we have encountered during the teaching process.
In conclusion, the programming pattern material this research proposes can actually help students improve the ability of solving problems. In addition, they know how to start to start to solve a problem, have the algorithm idea in their mind and search solutions they have made to similar problems. Finally, write a solution to a new problem.
目次 Table of Contents
論文提要 i
致謝 i
Abstract iv
圖目錄 viii
表目錄 ix
1 緒論 1
1.1 研究背景 1
1.2 研究動機 2
1.3 研究目的與問題描述 3
1.4 論文架構 4
2. 文獻探討 5
2.1 程式設計教學的問題 5
2.2 樣版和教學 6
2.2.1 樣版和程式設計知識 6
2.2.2 將樣版應用於教學 7
3 研究方法 12
3.1 行動研究法 12
3.1.1 行動研究定義 12
3.1.2 行動研究的特性 13
3.1.3 行動研究的理論與模型 14
3.2 研究介紹 15
3.2.1 研究流程 15
3.2.2 研究情境 17
3.2.3 研究對象 17
3.3 研究工具和資料來源 17
3.3.1 研究工具 18
3.3.2 資料搜集 20
3.4 資料分析與編碼 24
3.4.1 資料分析 25
3.4.2 資料編碼 28
3.5 三角驗證 28
4 討論與分析 30
4.1 樣版程式教學課程架構 30
4.1.1 課程介紹 30
4.1.2 流程 31
4.1.3 考試實施方式 32
4.1.4 作業實施方式 32
4.2 樣版程式教學內容及教材 32
4.2.1 教學使用語言 34
4.2.2 教材內容 34
4.3 教學目標達成情形 40
4.4 樣版程式教學遭遇到的問題和解決策略 45
4.5 考試結果 55
4.5.1 考試題目 ─ 以P3為例 55
4.5.2 專家解法 (Expert solution) 57
4.5.3 部份完整解法類型 59
4.5.4 考試結果評量 66
4.6 問卷分析 67
4.6.1 教學目標達成 68
4.6.2 學生學習狀況 70
4.6.3 學生對課程安排和教材內容的接受程度 72
5 結論與未來工作 74
5.1 結論 74
5.2 未來工作 75
參考文獻 77
附錄1 「累計」樣板教學內容 82
附錄2 「選擇」樣板教學內容 86
附錄3 「字串處理」樣板教學內容 93
附錄4 「使用遞迴計算數值」樣板教學內容 99
附錄5 「動態規劃」樣板教學內容 104
附錄6 訪談題目大綱 110
附錄7 訪談內容逐字稿 111
附錄8 樣板程式教學考試題目 118
參考文獻 References
林盟憲(2008)。一個適用於個別練習之程式設計學習系統(碩士論文,國立中山大學,2000)。全國博碩士論文資訊網,096NSYS5396090。
Astrachan, O., Mitchener, G., Berry, G., & Cox, L. (1998). Design patterns: an essential component of CS curricula. SIGCSE Bull., 30(1), 153-160.
Astrachan, O. a. W., E. (1998). Loop Patterns, from http://www.cs.duke.edu/ ola/patterns/plopd/loops.html
Becker, H. (1977). Sociological work: Method and substance: Transaction Publishers.
Benbasat, I., Goldstein, D., & Mead, M. (1987). The case research strategy in studies of information systems. MIS quarterly, 369-386.
Bergin, J. (1999). Patterns for Selection Version 4, from http://csis.pace.edu/ bergin/patterns/Patternsv4.html
Bergin, J., Brady, A., Duvall, R., Proulx, V., & Rasala, R. (2001). Using patterns in the classroom. Journal of Computing Sciences in Colleges, 16(4), 5-7.
Bergin, J., Kumar, A., Proulx, V. K., McNally, M., Brady, A. F., Mutchler, D., et al. (1999). Resources for Next Generation Introductory CS Courses: Report of the ITiCSE'99 Working Group on Resources for the Next Generation CS 1 Course. Paper presented at the Working group reports from ITiCSE on Innovation and technology in computer science education.
Berglund, A. (2005). Learning computer systems in a disributed project course. The what, why, how and where., Uppsala University Sweden.
Bonoma, T. (1985). Case research in marketing: opportunities, problems, and a process. Journal of Marketing Research, 199-208.
Bridgeman, S. (2002). Intro to Computing I, from http://cs.colgate.edu/faculty/stina/courses/cosc/101/f02/syllabus.html
Carbone, A., Hurst, J., Mitchell, I., & Gunstone, D. (2000). Principles for designing programming exercises to minimise poor learning behaviours in students. Paper presented at the Proceedings of the Australasian conference on Computing education.
Clancy, M., & Linn, M. (1999). Patterns and pedagogy. ACM SIGCSE Bulletin, 31(1), 37-42.
Clark, R. (1992). Facilitating domain-general problem solving: computers, cognitive processes and instruction. Computer-based learning environments and problem solving. Berlin: Springer-Verlag.
Dalbey, J., & Linn, M. (1986). Cognitive Consequences of Programming: Augmentations to Basic Instruction. Journal of Educational Computing Research, 2(1), 75-93.
de Barros, L., dos Santos Mota, A., Delgado, K., & Matsumoto, P. (2005). A tool for programming learning with pedagogical patterns. Paper presented at the Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange.
Denzin, N. (2009). The research act: A theoretical introduction to sociological methods: Aldine De Gruyter.
East, J., Thomas, S., Wallingford, E., Beck, W., & Drake, J. (1996). Pattern-based programming instruction. Paper presented at the the Proceedings of the ASEE Annual Conference and Exposition, Washington, DC.
East, J. P., & Wallingford, E. (1997). Pattern-based programming in initial instruction (seminar). Paper presented at the Proceedings of the twenty-eighth SIGCSE technical symposium on Computer science education.
Eckerdal, A., Thun , M., & Berglund, A. (2005). What does it take to learn'programming thinking'? Paper presented at the Proceedings of the first international workshop on Computing education research.
Ginat, D., Haberman, B., Cohen, D., Catz, D., Muller, O., Menashe, E. (2001). Patterns in computer science: Tel Aviv University. (in Hebrew).
Gomes, A., & Mendes, A (2007). An environment to improve programming education. Paper presented at the Proceedings of the 2007 international conference on Computer systems and technologies.
Gugerty, L., & Olson, G. (1986). Debugging by skilled and novice programmers. SIGCHI Bull., 17(4), 171-174.
Guzdial, M., & Soloway, E. (2002). Teaching the Nintendo generation to program. Commun. ACM, 45(4), 17-21.
Hamel, J., Dufour, S., & Fortin, D. (1993). Case study methods: Sage publications.
Howell, K. (2003). First computer languages. Journal of Computing Sciences in Colleges, 18(4), 317-331.
Kember, D., Wong, A., & Leung, D. (1999). Reconsidering the dimensions of approaches to learning. British Journal of Educational Psychology, 69, 323-344.
Kessler, C. M., & Anderson, J. R. (1986). A model of novice debugging in LISP. Paper presented at the Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers.
Lahtinen, E., Ala-Mutka, K., J, H.-M., #228, & rvinen (2005). A study of the difficulties of novice programmers. Paper presented at the Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education.
Lilly, S. (1996). Patterns for pedagogy. OBJECT MAGAZINE, 5, 96-96.
Lister, R. (2000). On blooming first year programming, and its blooming assessment. Paper presented at the Proceedings of the Australasian conference on Computing education.
Lister, R., Adams, E. S., Fitzgerald, S., Fone, W., Hamer, J., Lindholm, M., et al. (2004). A multi-national study of reading and tracing skills in novice programmers. SIGCSE Bull., 36(4), 119-150.
Marton, F., & Booth, S. (1997). Learning and awareness: L. Erlbaum Associates Mahwah, NJ.
Marton, F., & Entwistle, N. (1984). The experience of learning: Scottish Academic Pr.
Marton, F., & Svensson, L. (1979). Conceptions of research in student learning. Higher Education, 8(4), 471-486.
Marton, F., Tsui, A., & Chik, P. (2004). Classroom discourse and the space of learning: Lawrence Erlbaum.
Mayer, R. E., Dyck, J. L., & Vilberg, W. (1986). Learning to program and learning to think: what's the connection? Commun. ACM, 29(7), 605-610.
McIver, L. (2000). The Effect of Programming Language on Error Rates of Novice Programmers. Paper presented at the 12th Annual Meeting of the Psychology of Programming Interest Group
Muller, O. (2005). Pattern oriented instruction and the enhancement of analogical reasoning. Paper presented at the Proceedings of the first international workshop on Computing education research.
Muller, O., Haberman, B., & Averbuch, H. (2004). (An almost) pedagogical pattern for pattern-based problem-solving instruction. SIGCSE Bull., 36(3), 102-106.
Paas, F., Renkl, A., & Sweller, J. (2003). Cognitive load theory and instructional design: Recent developments. Educational Psychologist, 38(1), 1-4.
Patton, M. (1990). Qualitative evaluation and research methods: Newbury Park, California: Sage Publications.
Perkins, D. N., & Martin, F. (1986). Fragile knowledge and neglected strategies in novice programmers. Paper presented at the Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers.
Porter, R., & Calder, P. (2003). A pattern-based problem-solving process for novice programmers. Paper presented at the Proceedings of the fifth Australasian conference on Computing education - Volume 20.
Porter, R., & Calder, P. (2004). Patterns in learning to program: an experiment? Paper presented at the Proceedings of the sixth conference on Australasian computing education.
Proulx, V. K. (2000). Programming patterns and design patterns in the introductory computer science course. Paper presented at the Proceedings of the thirty-first SIGCSE technical symposium on Computer science education.
Reed, D. (1998). Incorporating problem-solving patterns in CS1. Paper presented at the Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education.
Rist, R. (1989). Schema creation in programming. Cognitive Science, 13(3), 389-414.
Robins, A., Rountree, J., & Rountree, N. (2003). Learning and Teaching Programming: A Review and Discussion. Computer Science Education, 13(2), 137-172.
Schulte, C., & Bennedsen, J. (2006). What do teachers teach in introductory programming? Paper presented at the Proceedings of the second international workshop on Computing education research.
Schwartz, S. (1988). Empirical Studies of a" Metacourse" To Enhance the Learning of BASIC: Educational Technology Center, Cambridge, MA.
Scott, A., Watkins, M., & McPhee, D. (2007). A Step Back From Coding-An Online Environment and Pedagogy for Novice Programmers. Paper presented at the Proceedings of the 11 h Java in the Internet Curriculum Conference, London Metropolitan University-UK.
Sekaran, U. (2000). Research methods for business, a skill-building approach ,(pp. 125, 129, 204): New York: John Wiley & Sons, Inc.
Sharp, H., Manns, M., & Eckstein, J. (2003). Evolving Pedagogical Patterns: The Work of the Pedagogical Patterns Project. Computer Science Education, 13(4), 315-330.
Soloway, E. (1986). Learning to program = learning to construct mechanisms and explanations. Commun. ACM, 29(9), 850-858.
Soloway, E., & Ehrlich, K. (1984). Empirical Studies of Programming Knowledge. IEEE Transactions on Software Engineering, 10(5), 595-609.
Spohrer, J., & Soloway, E. (1986). Novice mistakes: are the folk wisdoms correct? Communications of the ACM, 29(7), 624-632.
Stone, D., Jordan, E., & Wright, M. (1990). The impact of Pascal education on debugging skill. INT. J. MAN MACH. STUD., 33(1), 81-95.
VanLengen, C., & Maddux, C. (1990). Does instruction in computer programming improve problem solving ability. Journal of IS Education, 2(2), 47–49.
Vessey, I. (1985). Expertise in Debugging Computer Programs: A Process Analysis. International Journal of Man-Machine Studies 23 (5), 459-494.
Vygotski?, L., Rieber, R., & Carton, A. (1999). The Collected Works of LS Vygotsky: Plenum Press.
Wallingford, E. (1996). Toward a first course based on object-oriented patterns. Paper presented at the Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education.
Wallingford, E. (2001). The Elementary Patterns Home Page, from http://www.cs.uni.edu/ wallingf/patterns/elementary/
Wallingford, E. (2002). Functional programming patterns and their role in instruction. Paper presented at the Proc of the International Conference on Functional Programming, Pittsburgh.
Wiedenbeck, S. (1985). Novice/expert differences in programming skills. Int. J. Man-Mach. Stud., 23(4), 383-390.
Winslow, L. (1996). Programming pedagogy—a psychological overview. ACM SIGCSE Bulletin, 28(3), 17-22.
Wood, D., Bruner, J., & Ross, G. (1976). THE ROLE OF TUTORING IN PROBLEM SOLVING*. Journal of Child Psychology and Psychiatry, 17(2), 89-100.
Wragg, E. (1999). An introduction to classroom observation: Routledge.
Yin, R. (2008). Case study research: Design and methods: Sage Publications, Inc.
電子全文 Fulltext
本電子全文僅授權使用者為學術研究之目的,進行個人非營利性質之檢索、閱讀、列印。請遵守中華民國著作權法之相關規定,切勿任意重製、散佈、改作、轉貼、播送,以免觸法。
論文使用權限 Thesis access permission:校內校外完全公開 unrestricted
開放時間 Available:
校內 Campus: 已公開 available
校外 Off-campus: 已公開 available


紙本論文 Printed copies
紙本論文的公開資訊在102學年度以後相對較為完整。如果需要查詢101學年度以前的紙本論文公開資訊,請聯繫圖資處紙本論文服務櫃台。如有不便之處敬請見諒。
開放時間 available 已公開 available

QR Code