博碩士論文 111522107 詳細資訊




以作者查詢圖書館館藏 以作者查詢臺灣博碩士 以作者查詢全國書目 勘誤回報 、線上人數:87 、訪客IP:18.219.242.150
姓名 張文耀(Wen-Yao Chang)  查詢紙本館藏   畢業系所 資訊工程學系
論文名稱 學習問題拆解思維能力以提升人類與生成式人工智慧協作開發的程式碼品質
(Learning Problem Decomposition Skills to Enhance Code Quality in Human-AI Collaborative Coding)
相關論文
★ 條件判斷式事件驅動程式設計之C語言擴充★ 基于小波变换的指纹活度检测,具有聚集 LPQ 和 LBP 特征
★ 應用自動化測試於異質環境機器學習管道之 MLOps 系統★ 提升乳癌篩檢效率之批次排程框架
★ 設計具有可視化思維工具和程式作為單一步的 輔助學習程式之棋盤式遊戲★ TOCTOU 漏洞的靜態分析與實作
★ 用於繪製風力發電控制邏輯之特定領域語言★ 在Java程式語言中以雙向結構表達數學公式間關聯之設計與實作
★ 支援模組化規則製作之程式碼轉換工具★ 基於替代語意的 pandas DataFrame 靜態型別檢查器
★ 自動化時間複雜度分析的設計與實作–從軟體層面評估嵌入式系統的功率消耗★ 以震波層析成像為應用之特定領域語言實作與分析
★ 用特徵選擇減少疲勞偵測腦電圖通道數★ 一個應用紙本運算與數位化於程式設計學習使程序性思維可視化的機制
★ 基於抽象語法樹的陣列形狀錯誤偵測★ 從合作學習角色分工獲得函式程式設計思維學習遞迴程式的機制
檔案 [Endnote RIS 格式]    [Bibtex 格式]    [相關文章]   [文章引用]   [完整記錄]   [館藏目錄]   至系統瀏覽論文 (2029-7-17以後開放)
摘要(中) 隨著生成式人工智慧(Generative Artificial Intelligence, GAI)技術的飛速發展,軟體開發模式正經歷一場深刻的變革。從傳統的個人開發模式逐步轉向人機協作開發(Human-AI Collaborative Coding)模式,這一轉變迫使開發者必須掌握新的能力。許多研究指出,生成式 AI 在處理簡單且重複性高的任務(例如程式碼自動生成)上展現卓越的性能。因此,在人機協作開發中,為了最大化人工智慧的效能,開發者應學會將複雜問題盡可能拆解為更小、更明確定義的模組,使得人工智慧更容易生成正確的答案。接著分解其提示任務,以促進人工智慧達到最佳性能。這凸顯了問題拆解能力的重要性。

本研究聚焦於探討開發者在人機協作開發中,Decomposition思維能力的重要性,並提出提示模板學習方法。透過引導學習者進行程式模組和任務拆解的訓練,旨在培養學習者的Decomposition思維能力,以提升人機協作開發的效果。本研究設計了一個學習系統,並進行了一項包含35名參與者、持續七週的學習實驗。研究結果顯示,學習者在採用提示模板學習方法後,在程式碼的模組化與可讀性方面達到了最佳的效果。參與者的反饋同樣表明,此學習方法能顯著提升程式碼品質。
摘要(英) With the rapid advancement of Generative Artificial Intelligence (GAI) technology, software development paradigms are undergoing profound transformations. Moving from traditional individual coding practices to Human-AI Collaborative Coding, this shift necessitates new capabilities among developers. Numerous studies have highlighted the exceptional performance of generative AI in handling simple and repetitive tasks, such as automatic code generation. Thus, in Human-AI collaborative coding, to maximize the efficiency of artificial intelligence, developers should learn to decompose complex problems into smaller, more clearly defined modules, enabling AI to generate more accurate solutions. Furthermore, refining prompt tasks is essential to optimize AI performance, highlighting the importance of decomposition skills.

This study focuses on the significance of Decomposition thinking abilities in Human-AI collaborative coding and introduces a prompt template learning approach. By guiding learners through the training of program modularization and task decomposition, this approach aims to cultivate Decomposition thinking skills, thereby enhancing the effectiveness of Human-AI collaborative development. The study designed a learning system and conducted a seven-week experiment involving 35 participants. Results indicate that learners achieved optimal outcomes in code modularization and readability after adopting the prompt template learning method. Feedback from participants also demonstrates that this method significantly improves code quality.
關鍵字(中) ★ 生成式人工智慧
★ 人機協作
★ 運算思維
★ 問題拆解
★ 提示工程
★ 電腦科學教育
關鍵字(英) ★ Generative Artificial Intelligence
★ Human-AI Collaboration
★ Computational Thinking
★ Problem Decomposition
★ Prompt Engineering
★ Computer Science Education
論文目次 摘要 xi
Abstract xiii
目錄 xv

一、緒論
1.1 研究背景 1
1.2 研究目標 3
1.3 研究問題與對策 3

二、相關研究
2.1 人機協作開發 5
2.2 生成式 AI 背景下的資訊教育 6
2.3 Decomposition 思維的學習 7

三、學習方法與實作
3.1 學習方法 9
3.2 系統介面 12
3.2.1 主介面 12
3.2.2 創建對話介面 13
3.2.3 聊天介面 14
3.2.4 新增提示介面 15
3.3 學習流程 - 以開發圖書管理系統為例 17
3.3.1 步驟一:閱讀題目 17
3.3.2 步驟二:創建聊天室 18
3.3.3 步驟三:與 AI 助手互動 19
3.3.4 步驟四:透過提示模板新增提示詞 20
3.3.5 步驟五:AI 生成回覆 21
3.4 系統實作 22
3.4.1 系統概述 22
3.4.2 Nginx 反向代理伺服器 22
3.4.3 Vue 前端伺服器 23
3.4.4 MySQL 資料庫 24
3.4.5 Express 後端伺服器 25

四、實驗設計
4.1 實驗對象 27
4.2 實驗流程 27
4.3 學習內容 29
4.4 實驗評估 32
4.4.1 前測驗與兩次後測驗 32
4.4.2 評估標準 32

五、實驗結果與討論
5.1 描述統計分析結果 35
5.2 學習成效分析工具 36
5.2.1 常態分布檢定 36
5.2.2 變異數同質性檢定 37
5.2.3 Mauchly’s 球形性檢定 37
5.2.4 單因子相依變異數分析 38
5.3 提示模板學習系統聊天次數與第二次後測驗成績的相關性分析 40
5.4 受試者回饋 41
5.5 受試者提示行為及程式碼分析 42
5.5.1 受試者提示行為分析 42
5.5.2 受試者程式碼分析 44
5.6 實驗結果討論 47
5.7 研究限制 48

六、結論與未來展望
6.1 結論 49
6.2 未來展望 50

參考文獻 51
參考文獻 Ahmad, A., Waseem, M., Liang, P., Fahmideh, M., Aktar, M. S., & Mikkonen, T. (2023). Towards human-bot collaborative software architecting with chatgpt. Proceedings of the 27th International Conference on Evaluation and Assessment in Software Engineering, 279–285.

Aleti, A. (2023). Software testing of generative ai systems: Challenges and opportunities. arXiv preprint arXiv:2309.03554.

Andreas, D., & Clément, F. (2024). Pmd java code style rule set [Retrieved May 17, 2024]. https://github.com/pmd/pmd/blob/master/pmd-java/src/main/resources/ category/java/codestyle.xml

Barendsen, E., Mannila, L., Demo, B., Grgurina, N., Izu, C., Mirolo, C., Sentance, S., Settle, A., & Stupurienė, G. (2015). Concepts in k-9 computer science education. In Proceedings of the 2015 iticse on working group reports (pp. 85–116).

Barke, S., James, M. B., & Polikarpova, N. (2023). Grounded copilot: How programmers interact with code-generating models. Proceedings of the ACM on Programming Languages, 7(OOPSLA1), 85–111.

Becker, B. A., Denny, P., Finnie-Ansley, J., Luxton-Reilly, A., Prather, J., & Santos, E. A. (2023). Programming is hard-or at least it used to be: Educational opportunities and challenges of ai code generation. Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1, 500–506.

Bhrc. (2023, July). Bhrc 軟體人才半年報特刊:chatgpt 對工程師職涯的影響研究2023h1. https://www.brucehr.com.tw/post/bhrc-2023h1-chatgpt

Bull, C., & Kharrufa, A. (2023). Generative ai assistants in software development education: A vision for integrating generative ai into educational practice, not instinctively defending against it. IEEE Software.

Cai, Y., Mao, S., Wu, W., Wang, Z., Liang, Y., Ge, T., Wu, C., You, W., Song, T., Xia, Y., et al. (2023). Low-code llm: Visual programming over llms. arXiv preprint arXiv:2304.08103, 2.

Choudhuri, R., Liu, D., Steinmacher, I., Gerosa, M., & Sarma, A. (2024). How far are we? the triumphs and trials of generative ai in learning software engineering. Proceedings of the IEEE/ACM 46th International Conference on Software Engineering, 1–13.

Chui, M., Hazan, E., Roberts, R., Singla, A., & Smaje, K. (2023). The economic potential of generative ai.

CSTA. (2024). Csta k-12 computer science standards [Retrieved July 09, 2024]. https://csteachers.org/k12standards/standards-alignment-review/

Cuny, J., Snyder, L., & Wing, J. M. (2010). Demystifying computational thinking for non-computer scientists. Unpublished manuscript in progress, referenced in http://www. cs. cmu. edu/~ CompThink/resources/TheLinkWing. pdf.

Davis, D., Burry, J., & Burry, M. (2011). Untangling parametric schemata: Enhancing collaboration through modular programming. Proceedings of the 14th international conference on Computer Aided Architectural Design, University of Liege, Liege.

Denny, P., Kumar, V., & Giacaman, N. (2023). Conversing with copilot: Exploring prompt engineering for solving cs1 problems using natural language. Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1, 1136–1142.

Denny, P., Leinonen, J., Prather, J., Luxton-Reilly, A., Amarouche, T., Becker, B. A., & Reeves, B. N. (2023). Promptly: Using prompt problems to teach learners how to effectively utilize ai code generators. arXiv preprint arXiv:2307.16364.

Denny, P., Leinonen, J., Prather, J., Luxton-Reilly, A., Amarouche, T., Becker, B. A., & Reeves, B. N. (2024). Prompt problems: A new programming exercise for the generative ai era. Proceedings of the 55th ACM Technical Symposium on Computer Science Education V. 1, 296–302.

Denny, P., Prather, J., Becker, B. A., Finnie-Ansley, J., Hellas, A., Leinonen, J., LuxtonReilly, A., Reeves, B. N., Santos, E. A., & Sarsa, S. (2024). Computing education in the era of generative ai. Communications of the ACM, 67(2), 56–67.

Dhyani, P., Nautiyal, S., Negi, A., Dhyani, S., & Chaudhary, P. (2024). Automated api docs generator using generative ai. 2024 IEEE International Students’ Conference on Electrical, Electronics and Computer Science (SCEECS), 1–6.

Feldt, R., de Oliveira Neto, F. G., & Torkar, R. (2018). Ways of applying artificial intelligence in software engineering. Proceedings of the 6th International Workshop on Realizing Artificial Intelligence Synergies in Software Engineering, 35–41.

Gamma, E., Helm, R., Johnson, R., Vlissides, J., & Booch, G. (1994). Design patterns: Elements of reusable object-oriented software. Addison-Wesley Professional. Gebreegziabher, S. A., Zhang, Z., Tang,
X., Meng, Y., Glassman, E. L., & Li, T. J.-J. (2023). Patat: Human-ai collaborative qualitative coding with explainable interactive rule synthesis. Proceedings of the 2023 CHI Conference on Human Factors in Computing Systems, 1–19.

Jaipersaud, B., Zhang, P., Ba, J., Petersen, A., Zhang, L., & Zhang, M. R. (2023). Decomposed prompting to answer questions on a course discussion board. International Conference on Artificial Intelligence in Education, 218–223.

Ji, Z., Lee, N., Frieske, R., Yu, T., Su, D., Xu, Y., Ishii, E., Bang, Y. J., Madotto, A., & Fung, P. (2023). Survey of hallucination in natural language generation. ACM Computing Surveys, 55(12), 1–38.

Kazemitabaar, M., Chow, J., Ma, C. K. T., Ericson, B. J., Weintrop, D., & Grossman, T. (2023). Studying the effect of ai code generators on supporting novice learners in introductory programming. Proceedings of the 2023 CHI Conference on Human Factors in Computing Systems, 1–23.

Kazemitabaar, M., Hou, X., Henley, A., Ericson, B. J., Weintrop, D., & Grossman, T. (2023). How novices use llm-based code generators to solve cs1 coding tasks in a self-paced learning environment. Proceedings of the 23rd Koli Calling International Conference on Computing Education Research, 1–12.

Kirova, V. D., Ku, C. S., Laracy, J. R., & Marlowe, T. J. (2024). Software engineering education must adapt and evolve for an llm environment. Proceedings of the 55th ACM Technical Symposium on Computer Science Education V. 1, 666–672.

Kwon, K., & Cheon, J. (2019). Exploring problem decomposition and program development through block-based programs. International Journal of Computer Science Education in Schools, 3(1), n1.

Lau, S., & Guo, P. (2023). From” ban it till we understand it” to” resistance is futile”: How university programming instructors plan to adapt as more students use ai code generation and explanation tools such as chatgpt and github copilot. Proceedings of the 2023 ACM Conference on International Computing Education ResearchVolume 1, 106–121.

Le, H., Chen, H., Saha, A., Gokul, A., Sahoo, D., & Joty, S. (2023). Codechain: Towards modular code generation through chain of self-revisions with representative submodules. arXiv preprint arXiv:2310.08992.

Leinonen, J., Denny, P., MacNeil, S., Sarsa, S., Bernstein, S., Kim, J., Tran, A., & Hellas, A. (2023). Comparing code explanations created by students and large language models. Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 1, 124–130.

Li, J., Li, G., Li, Y., & Jin, Z. (2023). Structured chain-of-thought prompting for code generation. arXiv preprint arXiv:2305.06599.

Liffiton, M., Sheese, B. E., Savelka, J., & Denny, P. (2023). Codehelp: Using large language models with guardrails for scalable support in programming classes. Proceedings of the 23rd Koli Calling International Conference on Computing Education Research, 1–11.

Liu, F., Liu, Y., Shi, L., Huang, H., Wang, R., Yang, Z., & Zhang, L. (2024). Exploring and evaluating hallucinations in llm-powered code generation. arXiv preprint arXiv:2404.00971.

MacNeil, S., Tran, A., Hellas, A., Kim, J., Sarsa, S., Denny, P., Bernstein, S., & Leinonen, J. (2023). Experiences from using code explanations generated by large language models in a web software development e-book. Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1, 931–937.

Meyer, B. (2022). What do chatgpt and ai-based automatic program generation mean for the future of software. Commun. ACM, 65(12), 5.

OpenAI. (2024). Chatgpt [Retrieved June 02, 2024]. https://chat.openai.com/chat

Ozkaya, I. (2023). Can architecture knowledge guide software development with generative ai? IEEE Software, 40(5), 4–8.

Papert, S. A. (2020). Mindstorms: Children, computers, and powerful ideas. Basic books. Peng, S., Kalliamvakou, E., Cihon, P., & Demirer, M. (2023). The impact of ai on developer productivity: Evidence from github copilot. arXiv preprint arXiv:2302.06590.

Perkins, D., & Ritchhart, R. (2003). Making thinking visible. New horizons for learning, 8.

Prather, J., Denny, P., Leinonen, J., Becker, B. A., Albluwi, I., Craig, M., Keuning, H., Kiesler, N., Kohn, T., Luxton-Reilly, A., et al. (2023). The robots are here: Navigating the generative ai revolution in computing education. In Proceedings of the 2023 working group reports on innovation and technology in computer science education (pp. 108–159).

Prather, J., Reeves, B. N., Denny, P., Becker, B. A., Leinonen, J., Luxton-Reilly, A., Powell, G., Finnie-Ansley, J., & Santos, E. A. (2023). “it's weird that it knows what i want": Usability and interactions with copilot for novice programmers. ACM Transactions on Computer-Human Interaction, 31(1), 1–31.

Qian, C., Cong, X., Yang, C., Chen, W., Su, Y., Xu, J., Liu, Z., & Sun, M. (2023). Communicative agents for software development. arXiv preprint arXiv:2307.07924.

Kulkarni, V. (2024). Accelerating software development using generative ai: Chatgpt case study. Proceedings of the 17th Innovations in Software Engineering Conference, 1–11.

Rich, K. M., Binkowski, T. A., Strickland, C., & Franklin, D. (2018). Decomposition: A k-8 computational thinking learning trajectory. Proceedings of the 2018 ACM conference on international computing education research, 124–132.

Rich, P. J., Egan, G., & Ellsworth, J. (2019). A framework for decomposition in computational thinking. Proceedings of the 2019 ACM conference on innovation and technology in computer science education, 416–421.

Savelka, J., Agarwal, A., An, M., Bogart, C., & Sakr, M. (2023). Thrilled by your progress! large language models (gpt-4) no longer struggle to pass assessments in higher education programming courses. Proceedings of the 2023 ACM Conference on International Computing Education Research-Volume 1, 78–92.

Sheikholeslam, S. A., & Ivanov, A. (2024). Synthai: A multi agent generative ai framework for automated modular hls design generation. arXiv preprint arXiv:2405.16072.

Shute, V. J., Sun, C., & Asbell-Clarke, J. (2017). Demystifying computational thinking. Educational research review, 22, 142–158.

Sun, J., Liao, Q. V., Muller, M., Agarwal, M., Houde, S., Talamadupula, K., & Weisz, J. D. (2022). Investigating explainability of generative ai for code through scenariobased design. 27th International Conference on Intelligent User Interfaces, 212–
228.

Sun, L., & Liu, J. (2024). Effects of gamified python programming on primary school students'computational thinking skills: A differential analysis of gender. Journal of Educational Computing Research, 62(3), 846–874.

Tsai, M.-J., Liang, J.-C., & Hsu, C.-Y. (2021). The computational thinking scale for computer literacy education. Journal of Educational Computing Research, 59(4), 579–602.

Vaithilingam, P., Zhang, T., & Glassman, E. L. (2022). Expectation vs. experience: Evaluating the usability of code generation tools powered by large language models. Chi conference on human factors in computing systems extended abstracts, 1–7.

Viering, T., & Loog, M. (2022). The shape of learning curves: A review. IEEE Transactions on Pattern Analysis and Machine Intelligence, 45(6), 7799–7819.

Vygotsky, L. S., & Cole, M. (1978). Mind in society: Development of higher psychological processes. Harvard university press.

Wang, D., Churchill, E., Maes, P., Fan, X., Shneiderman, B., Shi, Y., & Wang, Q. (2020). From human-human collaboration to human-ai collaboration: Designing ai systems that can work together with people. Extended abstracts of the 2020 CHI conference on human factors in computing systems, 1–6.

Wei, J., Wang, X., Schuurmans, D., Bosma, M., Xia, F., Chi, E., Le, Q. V., Zhou, D., et al. (2022). Chain-of-thought prompting elicits reasoning in large language models. Advances in neural information processing systems, 35, 24824–24837.

Wermelinger, M. (2023). Using github copilot to solve simple programming problems. Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1, 172–178.

Werner, L., Denner, J., & Campe, S. (2014). Children programming games: A strategy for measuring computational learning. ACM Transactions on Computing Education (TOCE), 14(4), 1–22.

White, J., Fu, Q., Hays, S., Sandborn, M., Olea, C., Gilbert, H., Elnashar, A., SpencerSmith, J., & Schmidt, D. C. (2023). A prompt pattern catalog to enhance prompt engineering with chatgpt. arXiv preprint arXiv:2302.11382.

Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33–35.

Wood, D., Bruner, J. S., & Ross, G. (1976). The role of tutoring in problem solving. Journal of child psychology and psychiatry, 17(2), 89–100.

Wu, T., Koedinger, K., et al. (2023). Is ai the better programming partner? human-human pair programming vs. human-ai pair programming. arXiv preprint arXiv:2306.05153.

Yellin, D. M. (2023). The premature obituary of programming. Communications of the ACM, 66(2), 41–44.

Yuan, Z., Lou, Y., Liu, M., Ding, S., Wang, K., Chen, Y., & Peng, X. (2023). No more manual tests? evaluating and improving chatgpt for unit test generation. arXiv preprint arXiv:2305.04207.

Zastudil, C., Rogalska, M., Kapp, C., Vaughn, J., & MacNeil, S. (2023). Generative ai in computing education: Perspectives of students and instructors. 2023 IEEE Frontiers in Education Conference (FIE), 1–9.

Zhong, L., Wang, Z., & Shang, J. (2024). Ldb: A large language model debugger via verifying runtime execution step-by-step. arXiv preprint arXiv:2402.16906.

教育部扎根資訊人力計畫. (2024). 大學程式設計先修檢測 [Retrieved June 02, 2024]. https://apcs.csie.ntnu.edu.tw/
指導教授 莊永裕(Yung-Yu Zhuang) 審核日期 2024-7-18
推文 facebook   plurk   twitter   funp   google   live   udn   HD   myshare   reddit   netvibes   friend   youpush   delicious   baidu   
網路書籤 Google bookmarks   del.icio.us   hemidemi   myshare   

若有論文相關問題,請聯絡國立中央大學圖書館推廣服務組 TEL:(03)422-7151轉57407,或E-mail聯絡  - 隱私權政策聲明