第五章 結論與建議
第二節 未來研究方向
(5) 透過合作學習、配對程式設計讓學生培養溝通能力提升學習成效,並透過藉 由同儕程式碼審查的方法提升學生的程式品質及問題解決能力。
(6) 透過網路平台進行合作學習活動,讓學生得到額外的討論機會。
第二節 未來研究方向
本研究雖以嚴謹的方法進行資料收集與分析,但仍有下述四項研究限制需要 改進:
(1) 本研究中只篩選 2000 年至 2009 年的文獻,建議未來之類似研究可納入近年 之文獻。
(2) 雖然 ACM SIGCSE Bulletins 為程式設計教學相關文獻之主要來源,但仍有其 他多種期刊或研討會論文集亦收錄了與程式設計教學相關之文獻,因此未來
57
之類似研究應考慮納入其他期刊及研討會論文集。
(3) 本研究之文獻收集範圍納入了 CS0 的課程,然而 CS0 等同於國內計算機概論 的課程,並非純粹的程式設計課程。雖然 CS0 通常均包含程式設計教學,但 其所佔時數皆不足課程總時數的一半,僅涵蓋程式設計之基礎內容,因此未 來的研究可再斟酌是否納入 CS0。
(4) 本研究所分析之文獻多半只使用問卷方式調查教學活動是否對學生的學習態 度帶來改變。雖有少數文獻於研究中針對教學活動對於學生學習成效之影響 收集資料並作成某些結論,但也多因資料收集方法不夠嚴謹,而使其結論未 必有效。因此建議未來進行類似研究時,可考慮針對資料收集方法訂定篩選 條件,以提升研究效度。
58
參考文獻
Bishop-Clark, C. (1992). Protocol analysis of a novice programmer. ACM SIGCSE
Bulletin, 24(3), 14-18.
Bower, M., & Richards, D. (2006). Collaborative learning: Some possibilities and limitations for students and teachers. ACM Transactions on Computing
Education, 9 (1), 79.
Brereton, P., Kitchenham, B. A., Budgen, D., Turner, M., & Khalil, M. (2007). Lessons from applying the systematic literature review process within the software engineering domain. Journal of systems and software, 80(4), 571-583.
Brusilovsky, P., Calabrese, E., Hvorecky, J., Kouchnirenko, A., & Miller, P. (1997).
Mini-languages: a way to learn programming principles. Education and
Information Technologies, 2(1), 65-83.
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 International Conference on Frontiers in Education: Computer Science and Computer Engineering (FECS'12).
Clark, R. C., Nguyen, F., & Sweller, J. (2011). Efficiency in learning: Evidence-based
guidelines to manage cognitive load: John Wiley & Sons.
Cross, J. H., Hendrix, D., & Umphress, D. A. (2004). jGRASP: an integrated
development environment with visualizations for teaching java in CS1, CS2, and beyond. Frontiers in Education, 2004. FIE 2004. 34th Annual.
Goldman, K. J. (2003). A demonstration of JPie: An environment for live software construction in Java. Companion of the 18th annual ACM SIGPLAN conference
on Object-oriented programming, systems, languages, and applications.
Gomes, A., & Mendes, A. J. (2007). Learning to program-difficulties and solutions.
International Conference on Engineering Education.
59
Hannay, J. E., Dybå, T., Arisholm, E., & Sjøberg, D. I. (2009). The effectiveness of pair programming: A meta-analysis. Information and software technology,
51(7), 1110-1122.
Hundhausen, C., Agrawal, A., Fairbrother, D., & Trevisan, M. (2009). Integrating
pedagogical code reviews into a CS 1 course: an empirical study. Paper
presented at the ACM SIGCSE Bulletin.Jenkins, T. (2002). On the difficulty of learning to program. Paper presented at the Proceedings of the 3rd Annual Conference of the LTSN Centre for Information and Computer Sciences.
Jones, C. G. (2004). Test-driven development goes to school. Journal of Computing
Sciences in Colleges, 20(1), 220-231.
Kölling, M., Quig, B., Patterson, A., & Rosenberg, J. (2003). The BlueJ system and its pedagogy. Computer Science Education, 13(4), 249-268.
Kay, J., Barg, M., Fekete, A., Greening, T., Hollands, O., Kingston, J. H., & Crawford, K. (2000). Problem-based learning for foundation computer science courses.
Computer Science Education, 10(2), 109-128.
King, W. R., & He, J. (2005). Understanding the role and methods of meta-analysis in IS research. Communications of the Association for Information Systems, 16(1), 32.
Kinnunen, P., & Malmi, L. (2006). Why students drop out CS1 course? Proceedings of
the second international workshop on Computing education research.
Kitchenham, B. (2004). Procedures for performing systematic reviews. Keele, UK,
Keele University, 33(2004), 1-26.
Lahtinen, E., Ala-Mutka, K., & Järvinen, H.-M. (2005).
A study of the difficulties of novice programmers. In ACM SIGCSE Bulletin (Vol. 37, No. 3, pp. 14-18).
ACM.
Linn, M. C., & Dalbey, J. (1989). Cognitive consequences of programming instruction.
Studying the novice programmer, 57-81.
60
Lister, R. (2011). COMPUTING EDUCATION RESEARCH: Programming, syntax and cognitive load. ACM Inroads, 2(2), 21-22.
Littell, J. H., Corcoran, J., & Pillai, V. (2008). Systematic reviews and meta-analysis.:
Oxford University Press.
Luxton-Reilly, A. (2009). A systematic review of tools that support peer assessment.
Computer Science Education, 19(4), 209-232.
Major, L., Kyriacou, T., & Brereton, O. P. (2012). Systematic literature review:
teaching novices programming using robots. IET software, 6(6), 502-513.
Mason, R., Cooper, G., & de Raadt, M. (2012).
Trends in introductory programming courses in Australian universities: languages, environments and pedagogy.
In Proceedings of the Fourteenth Australasian Computing Education Conference-Volume 123 (pp. 33-42). Australian Computer Society, Inc..
McIver, L., & Conway, D. (1996). Seven deadly sins of introductory programming language design.
In Software Engineering: Education and Practice, 1996.
Proceedings. International Conference (pp. 309-316). IEEE.
Monroy-Hernández, A. (2009). Designing a website for creative learning.
Moreno, A., Myller, N., Sutinen, E., & Ben-Ari, M. (2004). Visualizing programs with
Jeliot 3. In Proceedings of the working conference on Advanced visual interfaces (pp. 373-376). ACM.
Nuutila, E., Törmä, S., & Malmi, L. (2005). PBL and computer programming—the seven steps method with adaptations. Computer Science Education, 15(2), 123-142.
Pears, A., Seidman, S., Malmi, L., Mannila, L., Adams, E., Bennedsen, J., Devlin, M., Paterson, J. (2007). A survey of literature on the teaching of introductory programming. ACM SIGCSE Bulletin, 39(4), 204-223.
Perkins, D., & Martin, F. (1986). Fragile knowledge and neglected strategies in novice
programmers. In first workshop on empirical studies of programmers on
Empirical studies of programmers (pp. 213-229).
61
Popay, J., Roberts, H., Sowden, A., Petticrew, M., Arai, L., Rodgers, M., . . . Duffy, S.
(2006). Guidance on the conduct of narrative synthesis in systematic reviews. A
product from the ESRC methods programme. Lancaster: Institute of Health Research.
Portsmore, M., & Rogers, C. (2004). Bringing engineering to elementary school.
Journal of STEM education, 5.
Putnam, R. T., Sleeman, D., Baxter, J. A., & Kuspa, L. K. (1986). A summary of misconceptions of high school Basic programmers. Journal of Educational
Computing Research, 2(4), 459-472.
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. doi:
10.1080/08993400500224310
Salleh, N., Mendes, E., & Grundy, J. (2011). Empirical studies of pair programming for CS/SE teaching in higher education: A systematic literature review.
Software Engineering, IEEE Transactions on, 37(4), 509-525.
Siegfried, R. M., Greco, D., Miceli, N., & Siegfried, J. (2012). Whatever Happened to Richard Reid’s List of First Programming Languages? Information Systems
Education Journal, 10(4), 24.
Slavin, R. E. (1991). Synthesis of Research of Cooperative Learning. Educational
leadership, 48(5), 71-82.
Sleeman, D., Putnam, R. T., Baxter, J., & Kuspa, L. (1986). Pascal and high school students: A study of errors. Journal of Educational Computing Research, 2(1), 5-23.
Soloway, E. (1986). Learning to program= learning to construct mechanisms and explanations. Communications of the ACM, 29(9), 850-858.
Spohrer, J., & Soloway, E. (1986).
Alternatives to construct-based programming misconceptions. In ACM SIGCHI Bulletin (Vol. 17, No. 4, pp. 183-191). ACM.
Valentine, D. W. (2004). CS educational research: a meta-analysis of SIGCSE
62
technical symposium proceedings. ACM SIGCSE Bulletin, 36(1), 255-259.
Van Eck, R. (2006). Digital game-based learning: It's not just the digital natives who are restless. EDUCAUSE review, 41(2), 16.
Watson, C., & Li, F. W. B. (2014). Failure rates in introductory programming revisited.
In Proceedings of the 2014 conference on Innovation & technology in computer science education (pp. 39-44). ACM.
Williams, L., Wiebe, E., Yang, K., Ferzli, M., & Miller, C. (2002). In support of pair programming in the introductory computer science course. Computer Science
Education, 12(3), 197-212.
Winslow, L. E. (1996). Programming pedagogy—a psychological overview. ACM
SIGCSE Bulletin, 28(3), 17-22.
63