簡易檢索 / 詳目顯示

研究生: 賴譽毫
Lai, Yu-Hao
論文名稱: 運用生成式AI進行程式設計之研究
A Study on Using Generative AI for Programming
指導教授: 邱國力
Chiou, Guo-Li
口試委員: 邱國力
Chiou, Guo-Li
吳怡瑾
Wu, I-Chin
鄭琨鴻
Cheng, Kun-Hung
口試日期: 2024/11/28
學位類別: 碩士
Master
系所名稱: 圖書資訊學研究所
Graduate Institute of Library and Information Studies
論文出版年: 2025
畢業學年度: 113
語文別: 中文
論文頁數: 87
中文關鍵詞: 程式設計自我效能運算思維程式設計生成式AIChatGPT
英文關鍵詞: programming self-efficacy, computational thinking, programming, generative AI, ChatGPT
研究方法: 調查研究內容分析法
DOI URL: http://doi.org/10.6345/NTNU202500032
論文種類: 學術論文
相關次數: 點閱:18下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 本研究旨在探討學生如何使用生成式AI—ChatGPT進行程式設計任務的歷程,並更進一步去探討運算思維使用傾向、程式設計自我效能、程式設計的先備知識對學生進行任務的行為模式有什麼樣的關聯。本研究採用混和研究的方式,並採用便利取樣,以就讀大專院校並修習過程式設計者為對象,招募男性與女性各20名為本研究的受試者。在資料收集過程方面,本研究先以問卷調查的方式,量測學生的運算思維使用傾向、程式設計自我效能、程式設計的先備知識,隨後再請學生利用ChatGPT進行程式設計任務,並全程錄影其任務過程。在資料分析方面,本研究先以內容分析的方式,分別歸納出受試者的任務行為和使用提示詞目的之主要類別,再針對這些類別和運算思維使用傾向、程式設計自我效能、程式設計的先備知識進行相關性的分析。研究結果發現,受試者的運算思維使用傾向、程式設計自我效能和程式設計的先備知識與其ChatGPT的使用行為呈現顯著負相關;但與手動撰寫程式碼的時間則呈現顯著正相關。此外,受試者使用提示詞的目的,程式碼再生成-不符預期結果之使用次數與其程式設計自我效能、程式設計的先備知識亦呈現顯著負相關。再者,本研究根據受試者的任務行為,透過階層分群法將其分為三類,即擅長AI溝通者、不擅長AI溝通者、手動程式設計者。最後,本研究透過Kruskal-Wallis統計法來檢核不同執行任務類型之受試者在相關變項上的差異;分析結果發現,不擅長AI溝通者的學生,程式設計任務總分是三群中最低的,並且其先備知識和程式設計自我效能之邏輯思考、演算法、除錯的分數,皆顯著低於手動程式設計者。

    This study aimed to explore how students used generative AI, specifically ChatGPT, to complete programming tasks and the relationship among students' computational thinking tendencies, programming self-efficacy, prior knowledge of programming, and their behaviors of using ChatGPT. This study adopted a mixed-methods design and recruited 40 college students to participate in this study. The participants first completed the Computational Thinking Tendency Survey (CTTS), the Computer Programming Self-Efficacy Survey (CPSES), and a pretest on programming knowledge. Next, they were asked to utilize ChatGPT to complete the two programming tasks, throughout which their manipulating behaviors were video recorded. Regarding data analysis, this study first used content analysis methods to categorize the participants' behaviors of using ChatGPT to complete the tasks and their objectives of generating prompts. Then, correlation analyses were conducted to examine the relationships among their behaviors of using ChatGPT, their objectives of generating prompts, and their CTTS, CPSES, and pretest scores. The findings reveal that the participants' CTTS, CPSES, and pretest scores were significantly negatively correlated with their behaviors of using ChatGPT but positively correlated with the duration of time they spent manually writing codes. In addition, the frequency of writing prompts to regenerate codes was significantly negatively correlated with the participants’ CPSES and pretest scores. Moreover, this study categorized the participants into three groups based on the results of hierarchical clustering analysis of their behaviors of using ChatGPT: AI communicators (skilled in AI interaction), non-AI communicators (less skilled in AI interaction), and manual programmers. In sequence, the Kruskal-Wallis statistical tests were conducted to examine the differences among the three groups in related variables. The results indicate that the non-AI communicators had the lowest performance in programming tasks, and their CTTS and CPSES scores were significantly lower than the manual programmers.

    謝辭 i 摘要 ii Abstract iii 目次 iv 表次 v 圖次 vi 第一章 緒論 1 第一節 研究背景 1 第二節 名詞解釋 4 第二章 文獻回顧 5 第一節 電腦科學教育(Computer science education) 5 第二節 生成式AI在程式設計的研究 13 第三章 研究方法 23 第一節 研究對象 23 第二節 研究工具 24 第三節 研究流程與資料收集 27 第四節 資料分析 29 第四章 研究結果 33 第五章 討論 63 第六章 結論 69 第七章 研究限制與未來展望 71 中文參考文獻 73 英文參考文獻 75 附錄 81

    中文參考文獻
    APCS大學程式設計先修檢測(Advanced Placement Computer Science) (無日期)。大學程式設計先修檢測實作題。2023年12月6日,取自https://apcs.csie.ntnu.edu.tw/wp-content/uploads/2022/10/%E5%AF%A6%E4%BD%9C%E9%A1%8C_%E9%A1%8C%E5%9E%8B%E7%AF%84%E4%BE%8B.pdf
    教育部(2018)。十二年國民基本教育課程綱要國民中學暨普通型高級中等學校—科 技 領 域。教育部國民及學前教育署。https://www.k12ea.gov.tw/files/class_schema/%E8%AA%B2%E7%B6%B1/13-%E7%A7%91%E6%8A%80/13-1/%E5%8D%81%E4%BA%8C%E5%B9%B4%E5%9C%8B%E6%B0%91%E5%9F%BA%E6%9C%AC%E6%95%99%E8%82%B2%E8%AA%B2%E7%A8%8B%E7%B6%B1%E8%A6%81%E5%9C%8B%E6%B0%91%E4%B8%AD%E5%AD%B8%E6%9A%A8%E6%99%AE%E9%80%9A%E5%9E%8B%E9%AB%98%E7%B4%9A%E4%B8%AD%E7%AD%89%E5%AD%B8%E6%A0%A1%E2%94%80%E7%A7%91%E6%8A%80%E9%A0%98%E5%9F%9F.pdf
    賴譽毫、邱國力(2023年3月9-10日)。大學生在程式設計解題歷程中展現的運算思維[會議論文發表]。2023第十八屆台灣數位學習發展研討會(TWELF 2023),屏東縣,台灣。
    英文參考文獻
    Bandura, A. (1978). Self-efficacy: Toward a unifying theory of behavioral change. Advances in Behaviour Research and Therapy, 1(4), 139-161. https://doi.org/10.1016/0146-6402(78)90002-4
    Bandura, A. (1997). Self-efficacy : The exercise of control. W.H. Freeman and Company New York.
    Barr, V., & Stephenson, C. (2011). Bringing computational thinking to K-12: What is involved and what is the role of the computer science education community? ACM Inroads, 2(1), 48–54. https://doi.org/10.1145/1929887.1929905
    Biswas, S. (2023). Role of ChatGPT in computer programming. Mesopotamian Journal of Computer Science, 2023, 8-16. https://doi.org/10.58496/MJCSC/2023/002
    Chang, L.-C., Lin, H.-R., & Lin, J.-W. (2023). Learning motivation, outcomes, and anxiety in programming courses—A computational thinking–centered method. Education and Information Technologies, 29(1), 545-569. https://doi.org/10.1007/s10639-023-12313-3
    Cheah, C. S. (2020). Factors contributing to the difficulties in teaching and learning of computer programming: A literature review. Contemporary Educational Technology, 12, ep272. https://doi.org/10.30935/cedtech/8247
    Chen, E., Huang, R., Chen, H.-S., Tseng, Y.-H., & Li, L.-Y. (2023). GPTutor: A ChatGPT-powered programming tool for code explanation. In N. Wang, G. Rebolledo-Mendez, V. Dimitrova, N. Matsuda, & O. C. Santos (Eds.), Artificial Intelligence in education. posters and late breaking results, workshops and tutorials, industry and innovation tracks, practitioners, doctoral consortium and blue sky (pp. 321-327). Springer Nature Switzerland. https://doi.org/10.1007/978-3-031-36336-8_50
    Dale, N. B., & Weems, C. (2005). Programming and problem solving with C++ (4 ed.). Jones & Bartlett Publishers.
    Deek, F. P., Turoff, M., & McHugh, J. A. (1999). A common model for problem solving and program development. IEEE Transactions on Education, 42(4), 331-336. https://doi.org/10.1109/13.804541
    Denny, P., MacNeil, S., Savelka, J., Porter, L., & Luxton-Reilly, A. (2024). Desirable characteristics for AI teaching assistants in programming education [Conference paper]. Proceedings of the 2024 on Innovation and Technology in Computer Science Education V. 1, Milan, Italy. https://doi.org/10.1145/3649217.3653574
    Fenu, G., Galici, R., Marras, M., & Reforgiato, D. (2024). Exploring student interactions with AI in programming training [Conference paper]. Adjunct Proceedings of the 32nd ACM Conference on User Modeling, Adaptation and Personalization, Cagliari, Italy. https://doi.org/10.1145/3631700.3665227
    Geeksforgeeks. (n.d.). Python list quiz. Retrieved January 5, 2024 from https://www.geeksforgeeks.org/python-list-quiz/
    Ghimire, A., & Edwards, J. (2024). Coding with AI: How are tools like ChatGPT being used by students in foundational programming courses. In A. M. Olney, I.-A. Chounta, Z. Liu, O. C. Santos, & I. I. Bittencourt (Eds.), Artificial Intelligence in Education (pp. 259-267). Springer Nature Switzerland. https://doi.org/10.1007/978-3-031-64299-9_20
    Giray, L. (2023). Prompt engineering with ChatGPT: A guide for academic writers. Annals of Biomedical Engineering, 51(12), 2629-2633. https://doi.org/10.1007/s10439-023-03272-4
    Hagan, D., & Markham, S. (2000). Does it help to have some programming experience before beginning a computing degree program? SIGCSE Bull., 32(3), 25–28. https://doi.org/10.1145/353519.343063
    Haindl, P., & Weinberger, G. (2024). Students’ experiences of using ChatGPT in an undergraduate programming course. IEEE Access, 12, 43519-43529. https://doi.org/10.1109/ACCESS.2024.3380909
    Hsu, T.-C., Chang, S.-C., & Hung, Y.-T. (2018). How to learn and how to teach computational thinking: Suggestions based on a review of the literature. Computers & Education, 126, 296-310. https://doi.org/10.1016/j.compedu.2018.07.004
    Jošt, G., Taneski, V., & Karakatič, S. (2024). The impact of large language models on programming education and student learning outcomes. Applied Sciences, 14(10), 4115. https://doi.org/10.3390/app14104115
    Jing, Y., Wang, H., Chen, X., & Wang, C. (2024). What factors will affect the effectiveness of using ChatGPT to solve programming problems? A quasi-experimental study. Humanities and Social Sciences Communications, 11(1), 319. https://doi.org/10.1057/s41599-024-02751-w
    Jonassen, D. H., & Grabowski, B. L. (2012). Handbook of individual differences, learning, and instruction. Routledge. https://doi.org/10.4324/9780203052860
    Jovanović, M., & Campbell, M. (2022). Generative artificial intelligence: Trends and prospects. Computer, 55(10), 107-112. https://doi.org/10.1109/MC.2022.3192720
    Kazemitabaar, M., Hou, X., Henley, A., Ericson, B. J., Weintrop, D., & Grossman, T. (2024). How novices use LLM-based code generators to solve CS1 coding tasks in a self-paced learning environment [Conference paper]. Proceedings of the 23rd Koli Calling International Conference on Computing Education Research, Koli, Finland. https://doi.org/10.1145/3631802.3631806
    Kazemitabaar, M., Ye, R., Wang, X., Henley, A. Z., Denny, P., Craig, M., & Grossman, T. (2024). CodeAid: Evaluating a classroom deployment of an LLM-based programming assistant that balances student and educator needs [Conference paper]. Proceedings of the CHI Conference on Human Factors in Computing Systems, Honolulu, HI, USA. https://doi.org/10.1145/3613904.3642773
    Ko, A. J., Myers, B. A., & Aung, H. H. (2004). Six learning barriers in end-user programming systems [Conference paper]. 2004 IEEE Symposium on Visual Languages - Human Centric Computing, Rome, Italy.
    Korkmaz, Ö., Çakir, R., & Özden, M. Y. (2017). A validity and reliability study of the computational thinking scales (CTS). Computers in Human Behavior, 72, 558-569. https://doi.org/10.1016/j.chb.2017.01.005
    Korzynski, P., Mazurek, G., Krzypkowska, P., & Kurasinski, A. (2023). Artificial intelligence prompt engineering as a new digital competence: Analysis of generative AI technologies such as ChatGPT. Entrepreneurial Business and Economics Review, 11(3), 25-37. https://doi.org/10.15678/EBER.2023.110302
    Lahtinen, E., Ala-Mutka, K., & Järvinen, H.-M. (2005). A study of the difficulties of novice programmers. SIGCSE Bull., 37(3), 14–18. https://doi.org/10.1145/1151954.1067453
    Lee, S. J., Francom, G. M., & Nuatomue, J. (2022). Computer science education and K-12 students’ computational thinking: A systematic review. International Journal of Educational Research, 114, 102008. https://doi.org/10.1016/j.ijer.2022.102008
    Loksa, D., & Ko, A. J. (2016). The role of self-regulation in programming problem solving process and success [Conference paper]. Proceedings of the 2016 ACM Conference on International Computing Education Research, Melbourne, VIC, Australia. https://doi.org/10.1145/2960310.2960334
    Ma, B., Chen, L., & Konomi, S. i. (2024). Enhancing programming education with ChatGPT: A case study on student perceptions and interactions in a Python course. In A. M. Olney, I.-A. Chounta, Z. Liu, O. C. Santos, & I. I. Bittencourt (Eds.), Artificial Intelligence in Education. Posters and Late Breaking Results, Workshops and Tutorials, Industry and Innovation Tracks, Practitioners, Doctoral Consortium and Blue Sky (pp. 113-126). Springer Nature Switzerland. https://doi.org/10.1007/978-3-031-64315-6_9
    Margulieux, L. E., Prather, J., Reeves, B. N., Becker, B. A., Uzun, G. C., Loksa, D., Leinonen, J., & Denny, P. (2024). Self-regulation, self-efficacy, and fear of failure interactions with how novices use LLMs to solve programming problems [Conference paper]. Proceedings of the 2024 on Innovation and Technology in Computer Science Education V. 1, Milan, Italy. https://doi.org/10.1145/3649217.3653621
    Meskó, B. (2023). Prompt engineering as an important emerging skill for medical professionals: Tutorial. Journal of Medical Internet Research, 25, e50638. https://doi.org/10.2196/50638
    Nigar, M. S. S., & Mohammed, Y. S. (2023). Use ChatGPT to solve programming bugs. International Journal of Information Technology & Computer Engineering, 3(1), 17-22. https://doi.org/10.55529/ijitc.31.17.22
    Piaget, J. (1972). The principles of genetic epistemology. Routledge.
    Piwek, P., & Savage, S. (2020). Challenges with learning to program and problem solve: An analysis of student online discussions [Conference presentation]. SIGCSE '20: Proceedings of the 51st ACM Technical Symposium on Computer Science Education, Portland, United States. https://doi.org/10.1145/3328778.3366838
    Ramalingam, V., LaBelle, D., & Wiedenbeck, S. (2004). Self-efficacy and mental models in learning to program [Conference paper]. ITiCSE '04: Proceedings of the 9th annual SIGCSE conference on Innovation and technology in computer science education, Leeds, United Kingdom. https://doi.org/10.1145/1007996.1008042
    Rodríguez del Rey, Y. A., Cawanga Cambinda, I. N., Deco, C., Bender, C., Avello-Martínez, R., & Villalba-Condori, K. O. (2021). Developing computational thinking with a module of solved problems. Computer Applications in Engineering Education, 29(3), 506-516. https://doi.org/10.1002/cae.22214
    Román-González, M., Pérez-González, J.-C., Moreno-León, J., & Robles, G. (2018). Can computational talent be detected? Predictive validity of the computational thinking test. International Journal of Child-Computer Interaction, 18, 47-58. https://doi.org/10.1016/j.ijcci.2018.06.004
    Selby, C., & Woollard, J. (2013). Computational thinking: The developing definition. In Paper Presented at the 18th annual conference on innovation and Technology in Computer Science Education. Canterbury. Retrieved from University of Southampton. https://eprints.soton.ac.uk/356481/
    Sheese, B., Liffiton, M., Savelka, J., & Denny, P. (2024). Patterns of student help-seeking when using a large language model-powered programming assistant [Conference paper]. Proceedings of the 26th Australasian Computing Education Conference, Sydney, NSW, Australia. https://doi.org/10.1145/3636243.3636249
    Srinath, K. (2017). Python–the fastest growing programming language. International Research Journal of Engineering and Technology, 4(12), 354-357.
    Strauss, A., & Corbin, J. M. (1990). Basics of qualitative research: Grounded theory procedures and techniques. Sage Publications, Inc.
    Sun, D., Boudouaia, A., Zhu, C., & Li, Y. (2024). Would ChatGPT-facilitated programming mode impact college students’ programming behaviors, performances, and perceptions? An empirical study. International Journal of Educational Technology in Higher Education, 21(1), 14. https://doi.org/10.1186/s41239-024-00446-5
    Sun, L., Hu, L., & Zhou, D. (2022). Programming attitudes predict computational thinking: Analysis of differences in gender and programming experience. Computers & Education, 181, 104457. https://doi.org/10.1016/j.compedu.2022.104457
    Tek, F. B., Benli, K. S., & Deveci, E. (2018). Implicit theories and self-efficacy in an introductory programming course. IEEE Transactions on Education, 61(3), 218-225. https://doi.org/10.1109/TE.2017.2789183
    Tsai, M.-J., Liang, J.-C., & Hsu, C.-Y. (2020). The computational thinking scale for computer literacy education. Journal of Educational Computing Research, 59(4), 579-602. https://doi.org/10.1177/0735633120972356
    Tsai, M.-J., Wang, C.-Y., & Hsu, P.-F. (2018). Developing the computer programming self-efficacy scale for computer literacy education. Journal of Educational Computing Research, 56(8), 1345-1360. https://doi.org/10.1177/0735633117746747
    Veerasamy, A. K., D’Souza, D., Lindén, R., & Laakso, M.-J. (2018). The impact of prior programming knowledge on lecture attendance and final exam. Journal of Educational Computing Research, 56(2), 226-253. https://doi.org/10.1177/0735633117707695
    Wei, J., Wang, X., Schuurmans, D., Bosma, M., Ichter, B., Xia, F., Chi, E. H., Le, Q. V., & Zhou, D. (2022, 12). Chain-of-thought prompting elicits reasoning in large language models [Conference paper]. Advances in Neural Information Processing Systems, New Orleans, United States.
    Wilcox, C., & Lionelle, A. (2018). Quantifying the benefits of prior programming experience in an introductory computer science course [Conference paper]. Proceedings of the 49th ACM Technical Symposium on Computer Science Education, Baltimore, Maryland, USA. https://doi.org/10.1145/3159450.3159480
    Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33–35. https://doi.org/10.1145/1118178.1118215
    Wing, J. M. (2008). Computational thinking and thinking about computing. Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences, 366(1881), 3717-3725. https://doi.org/10.1098/rsta.2008.0118
    Wu, T., He, S., Liu, J., Sun, S., Liu, K., Han, Q. L., & Tang, Y. (2023). A brief overview of ChatGPT: The history, status quo and potential future development. IEEE/CAA Journal of Automatica Sinica, 10(5), 1122-1136. https://doi.org/10.1109/JAS.2023.123618
    Yadav, A., Mayfield, C., Zhou, N., Hambrusch, S., & Korb, J. T. (2014). Computational thinking in elementary and secondary teacher education. ACM Transactions on Computing Education, 14(1), 5. https://doi.org/10.1145/2576872
    Yilmaz, R., & Yilmaz, F. G. K. (2023a). Augmented intelligence in programming learning: Examining student views on the use of ChatGPT for programming learning. Computers in Human Behavior: Artificial Humans, 1(2), 100005. https://doi.org/10.1016/j.chbah.2023.100005
    Yilmaz, R., & Yilmaz, F. G. K. (2023b). The effect of generative artificial intelligence (AI)-based tool use on students' computational thinking skills, programming self-efficacy and motivation. Computers and Education: Artificial Intelligence, 4, 100147. https://doi.org/10.1016/j.caeai.2023.100147

    無法下載圖示 電子全文延後公開
    2030/01/06
    QR CODE