博碩士論文 110526005 詳細資訊




以作者查詢圖書館館藏 以作者查詢臺灣博碩士 以作者查詢全國書目 勘誤回報 、線上人數:78 、訪客IP:18.191.19.24
姓名 林季陽(Ji-Yang Lin)  查詢紙本館藏   畢業系所 資訊工程學系
論文名稱 PyTutor:基於ChatGPT之智慧助教提升程式新手學習成效
(PyTutor: ChatGPT enabled intelligent tutor to improve the learning Performance of novice programming learners)
相關論文
★ 應用智慧分類法提升文章發佈效率於一企業之知識分享平台★ 家庭智能管控之研究與實作
★ 開放式監控影像管理系統之搜尋機制設計及驗證★ 資料探勘應用於呆滯料預警機制之建立
★ 探討問題解決模式下的學習行為分析★ 資訊系統與電子簽核流程之總管理資訊系統
★ 製造執行系統應用於半導體機台停機通知分析處理★ Apple Pay支付於iOS平台上之研究與實作
★ 應用集群分析探究學習模式對學習成效之影響★ 應用序列探勘分析影片瀏覽模式對學習成效的影響
★ 一個以服務品質為基礎的網際服務選擇最佳化方法★ 維基百科知識推薦系統對於使用e-Portfolio的學習者滿意度調查
★ 學生的學習動機、網路自我效能與系統滿意度之探討-以e-Portfolio為例★ 藉由在第二人生內使用自動對話代理人來改善英文學習成效
★ 合作式資訊搜尋對於學生個人網路搜尋能力與策略之影響★ 數位註記對學習者在線上學習環境中反思等級之影響
檔案 [Endnote RIS 格式]    [Bibtex 格式]    [相關文章]   [文章引用]   [完整記錄]   [館藏目錄]   至系統瀏覽論文 (2028-8-1以後開放)
摘要(中) 本研究提出了一種名為PyTutor的智慧助教系統工具,旨在幫助新手學生克服Python程式設計的學習困難。PyTutor提供24小時不間斷的程式引導助教服務,利用ChatGPT模型生成解題提示和程式碼解釋。PyTutor工具針對每題題目提供了五層提示,包括解題方向提示、虛擬碼提示、克漏字程式碼提示、基本程式碼和進階程式碼。此外,PyTutor記錄使用者的相關資訊並提供每週的使用報告。PyTutor工具設計以Chrome Extension為基礎,提供穩定的使用平台,並透過RESTful API的架構形式將邏輯操作傳遞到後端平台。研究結果表明,PyTutor對於程式新手中程式知識較薄弱、測試焦慮情緒高和批判性思考能力低的學生特別有益。此外,使用PyTutor的知識前測低群學生在課堂和課後練習中表現出更高的參與度、完成度和提交正確率。然而,過度依賴PyTutor可能導致學生失去解題思考能力,因此在使用時需要注意適度性。綜上所述,本研究證明了PyTutor作為一個智慧助教系統在程式設計教育中的價值,且能夠針對特定學生族群提升學習成效。
摘要(英) This study proposes a smart assistant system called PyTutor to help novice students overcome the learning difficulties in Python programming. PyTutor provides a 24/7 programming guidance assistant service using the ChatGPT model to generate problem-solving hints and code explanations. The PyTutor tool offers five levels of hints for each problem, including problem-solving direction hints, pseudocode hints, cloze code hints, basic code, and advanced code. Additionally, PyTutor records user information and provides weekly usage reports. The PyTutor tool is designed as a Chrome Extension, providing a stable user platform, and communicates with the backend through a RESTful API architecture. The results of the study demonstrate that PyTutor is particularly beneficial for students who are novices in programming, have weak programming knowledge, experience high test anxiety, and have low critical thinking skills. Furthermore, the knowledge-pretest low group students who used PyTutor showed higher engagement, completion rates, and submission accuracy in both classroom and post-class exercises. However, excessive reliance on PyTutor may lead to a loss of problem-solving thinking skills, so moderation is advised when using the tool. In conclusion, this study confirms the value of PyTutor as a smart assistant system in programming education, specifically in enhancing learning outcomes for targeted student populations.
關鍵字(中) ★ 智慧助教系統
★ 新手程式教學
★ ChatGPT
★ 程式解題提示
★ 學習成效
關鍵字(英) ★ Intelligent Tutor System
★ Novice Programming
★ ChatGPT
★ Program Prompts
★ Program Hints
★ Learning Performance
論文目次 摘要 i
Abstract ii
目錄 v
圖目錄 viii
表目錄 xi
1. 緒論 1
1.1. 程式教育與輔助工具 1
1.2. 解題提示 2
2. 文獻探討 4
2.1. 新手程式教學現況 4
2.2. 智慧助教系統(ITS)發展現況 5
2.3. 教學場域提示策略 7
2.4. GPT應用與現況 8
3. 基於ChatGPT之智慧助教設計 10
3.1. PyTutor介面 10
3.2. 提示畫面 12
3.3. PyTutor Summary 17
4. 研究方法 19
4.1. 實驗架構 19
4.1.1. 參與者 19
4.1.2. 實驗設計 19
4.2. 課程環境與設計 20
4.2.1. 線上學習系統 20
4.2.2. 課程介紹 22
4.3. PyTutor系統設計 22
4.3.1. 套件管理和程式打包 23
4.3.2. Chrome Extension開發 24
4.3.3. 前端UI設計與框架採用 24
4.3.4. 後端設計 25
4.3.5. 資料庫設計 25
4.3.6. 資料庫操作 26
4.3.7. 設計RESTful API 26
4.3.8. 處理持續運行相關問題 27
4.3.9. 登入設計 27
4.4. 素材生成與PyTutor溝通架構 28
4.4.1. 提示請求 29
4.4.2. PyTutor各階段提示產出 32
4.4.2.1. ChatGPT產出解題方向提示、虛擬碼、基礎程式碼、進階程式碼 32
4.4.2.2. 克漏字程式碼產生方法 33
4.4.2.3. AST處理工具 33
4.4.2.4. 克漏字程式碼產生 34
4.5. PyTutor更新 34
4.5.1. 提示教材更新 35
4.5.2. PyTutor Summary更新 35
4.5.3. 配置更新 36
5. 結果與討論 37
5.1. RQ1:知識前測、SRL的面向對於使用PyTutor意願是否有影響? 37
5.1.1. 學生知識前測分群對於PyTutor使用次數分析 37
5.1.2. 學生SRL分群對於PyTutor使用次數分析 38
5.2. RQ2:PyTutor對課堂程式練習與課後程式作業是否有影響? 41
5.3. RQ3:探討PyTutor中使用ChatGPT生成提示對於學習程式新手的上機考結果分析? 49
5.4. 討論 51
6. 總結 54
7. 未來研究與限制 56
8. 參考文獻 57
9. 附錄 63
參考文獻 Alamri, A., & Nazir, M. A. (2022). Test Anxiety and Related Factors among Health Professions Students: A Saudi Arabian Perspective. Behavioral Sciences, 12.
Apsari, Y. (2016). CLOZE PASSAGE IN IMPROVING STUDENTS’ READING COMPREHENSION. Journal on English Language Teaching, 4, 53-62.
Brooke, J. (2013). SUS: a retrospective. Journal of usability studies, 8(2), 29-40.
Brown, T., Mann, B., Ryder, N., Subbiah, M., Kaplan, J. D., Dhariwal, P., Neelakantan, A., Shyam, P., Sastry, G., & Askell, A. (2020). Language models are few-shot learners. Advances in Neural Information Processing Systems, 33, 1877-1901.
Brown, T. B., Mann, B., Ryder, N., Subbiah, M., Kaplan, J., Dhariwal, P., Neelakantan, A., Shyam, P., Sastry, G., Askell, A., Agarwal, S., Herbert-Voss, A., Krueger, G., Henighan, T. J., Child, R., Ramesh, A., Ziegler, D. M., Wu, J., Winter, C., . . . Amodei, D. (2020). Language Models are Few-Shot Learners. ArXiv, abs/2005.14165.
Chrysafiadi, K., Virvou, M., Tsihrintzis, G. A., & Hatzilygeroudis, I. (2022). Evaluating the user′s experience, adaptivity and learning outcomes of a fuzzy-based intelligent tutoring system for computer programming for academic students in Greece. Education and Information Technologies, 1-31. https://doi.org/10.1007/s10639-022-11444-3
Cook, D. A., Thompson, W. G., Thomas, K. G., Thomas, M. R., & Pankratz, V. S. (2006). Impact of Self-Assessment Questions and Learning Styles in Web-Based Learning: A Randomized, Controlled, Crossover Trial. Academic Medicine, 81, 231-238.
Cunningham, K., Ericson, B., Bejarano, R. A., & Guzdial, M. (2021). Avoiding the Turing Tarpit: Learning Conversational Programming by Starting from Code’s Purpose. Proceedings of the 2021 CHI Conference on Human Factors in Computing Systems.
Cutts, Q. I., Connor, R. C. H., Michaelson, G. J., & Donaldson, P. (2014). Code or (not code): separating formal and natural language in CS education. Workshop in Primary and Secondary Computing Education,
D′antoni, L., Kini, D., Alur, R., Gulwani, S., Viswanathan, M., & Hartmann, B. (2015). How Can Automatic Feedback Help Students Construct Automata? ACM Transactions on Computer-Human Interaction (TOCHI), 22, 1 - 24.
Darmaji, D., Astalini, A., Kurniawan*, D. A., Ningsi, A. P., Romadona, D. D., & Dari, R. W. (2020). Regression of Science Process Skills On Critical Thinking Skills In Two Junior High Schools In Jambi City.
Dewitz, P., Carr, E. M., & Patberg, J. P. (1987). Effects of Inference Training on Comprehension and Comprehension Monitoring. Reading Research Quarterly, 22, 99-122.
Diprose, J. P., MacDonald, B. A., & Hosking, J. G. (2011). Ruru: A spatial and interactive visual programming language for novice robot programming. 2011 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), 25-32.
Entin, E. B. (1984). Using the cloze procedure to assess program reading comprehension. SIGSCE ′84,
Erwiza, E., Kartiko, S. H., & Gimin, G. (2019). Factors Affecting the Concentration of Learning and Critical Thinking on Student Learning Achievement in Economic Subject. Journal of Educational Sciences.
Esper, S., Foster, S. P., & Griswold, W. G. (2013). CodeSpells: embodying the metaphor of wizardry for programming. Annual Conference on Innovation and Technology in Computer Science Education,
Finnie-Ansley, J., Denny, P., Becker, B. A., Luxton-Reilly, A., & Prather, J. (2022). The robots are coming: Exploring the implications of openai codex on introductory programming. Australasian Computing Education Conference,
Gao, G., Marwan, S., & Price, T. W. (2021). Early Performance Prediction using Interpretable Patterns in Programming Process Data. Proceedings of the 52nd ACM Technical Symposium on Computer Science Education.
Gerdes, A., Jeuring, J., & Heeren, B. (2012). An interactive functional programming tutor Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education, Haifa, Israel. https://doi.org/10.1145/2325296.2325356
Ghojogh, B., & Ghodsi, A. (2020). Attention mechanism, transformers, BERT, and GPT: Tutorial and survey.
Hamzah, F., Mat, K. C., Bhagat, V., & Mahyiddin, N. S. (2018). Test Anxiety and its Impact on first year University Students and the over View of mind and body Intervention to Enhance coping Skills in Facing Exams. Research Journal of Pharmacy and Technology, 11, 2220-2228.
Heintz, F., & Mannila, L. (2018). Computational Thinking for All: An Experience Report on Scaling up Teaching Computational Thinking to All Students in a Major City in Sweden. Proceedings of the 49th ACM Technical Symposium on Computer Science Education.
Herro, D. (2014). Techno Savvy: a Web 2.0 curriculum encouraging critical thinking. Educational Media International, 51, 259 - 277.
Jonsson, M., & Tholander, J. (2022). Cracking the code: Co-coding with AI in creative programming education. Creativity and Cognition,
Kanbay, Y., & Okanlı, A. (2017). The effect of critical thinking education on nursing students’ problem-solving skills†. Contemporary Nurse, 53, 313 - 321.
Kulamikhina, I., Birova, J., Alipichev, A. Y., Vasbieva, D. G., & Kalugina, O. A. (2018). Developing Communication and Critical Thinking through Creative Writing in English and French Language: Analysis of Classroom Management Strategies. Communications - Scientific letters of the University of Zilina.
Kurnia, A., Lim, A., & Cheang, B. (2001). Online judge. Computers & Education, 36(4), 299-315.
Ly, A.-M., Edwards, J., Liut, M., & Petersen, A. (2021). Revisiting Syntax Exercises in CS1. Proceedings of the 22nd Annual Conference on Information Technology Education.
Malik, S. I., Al-Emran, M., Mathew, R., Tawafak, R. M., & Alfarsi, G. M. (2020). Comparison of E-Learning, M-Learning and Game-based Learning in Programming Education - A Gendered Analysis. Int. J. Emerg. Technol. Learn., 15, 133-146.
Malik, S. I., Mathew, R., Al-Nuaimi, R., Al-Sideiri, A., & Coldwell-Neilson, J. (2019). Learning problem solving skills: Comparison of E-learning and M-learning in an introductory programming course. Education and Information Technologies, 24, 2779 - 2796.
Marwan, S., Williams, J. J., & Price, T. W. (2019). An Evaluation of the Impact of Automated Programming Hints on Performance and Learning. Proceedings of the 2019 ACM Conference on International Computing Education Research.
Mathew, R., Malik, S. I., & Tawafak, R. M. (2019). Teaching Problem Solving Skills using an Educational Game in a Computer Programming Course. Informatics Educ., 18, 359-373.
McBroom, J., Koprinska, I., & Yacef, K. (2021). A Survey of Automated Programming Hint Generation: The HINTS Framework. Acm Computing Surveys, 54(8), 1-27. https://doi.org/Artn 172
10.1145/3469885
McCord, R. P., & Jeldes, I. A. (2019). Engaging non-majors in MATLAB programming through a flipped classroom approach. Computer Science Education, 29, 313 - 334.
McDonald, S. (2017). Enhanced Critical Thinking Skills through Problem-Solving Games in Secondary Schools. Interdisciplinary Journal of e-Skills and Lifelong Learning, 13, 79-96.
McGill, T. J., & Volet, S. E. (1997). A conceptual framework for analyzing students’ knowledge of programming. Journal of research on computing in education, 29, 276-297.
Mostafavi, B., Zhou, G., Lynch, C., Chi, M., & Barnes, T. (2015). Data-Driven Worked Examples Improve Retention and Completion in a Logic Tutor. International Conference on Artificial Intelligence in Education,
Okonkwo, C. W., & Ade-Ibijola, A. (2021). Chatbots applications in education: A systematic review. Computers and Education: Artificial Intelligence, 2, 100033.
Ong, S. P., Cholia, S., Jain, A., Brafman, M., Gunter, D., Ceder, G., & Persson, K. A. (2015). The Materials Application Programming Interface (API): A simple, flexible and efficient API for materials data based on REpresentational State Transfer (REST) principles. Computational Materials Science, 97, 209-215.
Pillay, N. (2003). Developing intelligent programming tutors for novice programmers. ACM SIGCSE Bulletin, 35(2), 78-82.
Pol, H. J., Harskamp, E. G., Suhre, C. J. M., & Goedhart, M. J. (2009). How indirect supportive digital help during and after solving physics problems can improve problem-solving abilities. Comput. Educ., 53, 34-50.
Price, T. W., Dong, Y., & Lipovac, D. (2017). iSnap: Towards Intelligent Tutoring in Novice Programming Environments. Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education.
Putwain, D. W., von der Embse, N. P., Rainbird, E. C., & West, G. (2021). The Development and Validation of a New Multidimensional Test Anxiety Scale (MTAS). European Journal of Psychological Assessment.
Qian, Y., & Lehman, J. (2017). Students’ Misconceptions and Other Difficulties in Introductory Programming. ACM Transactions on Computing Education (TOCE), 18, 1 - 24.
Radford, A., Narasimhan, K., Salimans, T., & Sutskever, I. (2018). Improving language understanding by generative pre-training.
Radford, A., Wu, J., Child, R., Luan, D., Amodei, D., & Sutskever, I. (2019). Language models are unsupervised multitask learners. OpenAI blog, 1(8), 9.
Raj, A. G. S., Patel, J. M., Halverson, R., & Halverson, E. (2018). Role of Live-coding in Learning Introductory Programming. Proceedings of the 18th Koli Calling International Conference on Computing Education Research.
Robins, A. V. (2019). 12 novice programmers and introductory programming. The Cambridge handbook of computing education research, 327.
Sharma, P., & Harkishan, M. (2022). Designing an intelligent tutoring system for computer programing in the Pacific. Education and Information Technologies, 27(5), 6197-6209.
Souza, D. M. d., Batista, M. H. d. S., & Barbosa, E. F. (2016). Problems and Weaknesses in the Teaching and Learning of Programming: A Mapping Review. Brazilian Journal of Computers in Education, 24, 39.
Stephenson, B. (2018). An Experience Using On-Computer Programming Questions During Exams. Proceedings of the 23rd Western Canadian Conference on Computing Education.
Stupel, M., & Ben-Chaim, D. (2017). Using multiple solutions to mathematical problems to develop pedagogical and mathematical thinking: A case study in a teacher education program. Investigations in Mathematics Learning, 9, 108 - 186.
Sullivan, S., Swanson, H., & Edwards, J. (2021). Student Attitudes Toward Syntax Exercises in CS1. Proceedings of the 52nd ACM Technical Symposium on Computer Science Education.
Suzuki, R., Soares, G., Glassman, E. L., Head, A., D′antoni, L., & Hartmann, B. (2017). Exploring the Design Space of Automatically Synthesized Hints for Introductory Programming Assignments. Proceedings of the 2017 CHI Conference Extended Abstracts on Human Factors in Computing Systems.
Swart, R. (2016). Critical thinking instruction and technology enhanced learning from the student perspective: A mixed methods research study. Nurse education in practice, 23, 30-39.
Sykes, E. R., & Franek, F. (2004). A Prototype for an Intelligent Tutoring System for Students Learning to Program in Java. Advanced Technology for Learning, 1.
Tan, P.-H., Ting, C.-Y., & Ling, S. W. (2009). Learning Difficulties in Programming Courses: Undergraduates′ Perspective and Perception. 2009 International Conference on Computer Technology and Development, 1, 42-46.
Thomas, J. J., Suresh, V., Anas, M., Sajeev, S., & Sunil, K. (2022). Programming with natural languages: a survey. Computer Networks and Inventive Communication Technologies: Proceedings of Fourth ICCNCT 2021,
VanLehn, K. (2011). The Relative Effectiveness of Human Tutoring, Intelligent Tutoring Systems, and Other Tutoring Systems. Educational psychologist, 46(4), 197-221. https://doi.org/10.1080/00461520.2011.611369
Vieira, C., Magana, A. J., Falk, M. L., & García, E. R. (2017). Writing In-Code Comments to Self-Explain in Computational Science and Engineering Education. ACM Transactions on Computing Education (TOCE), 17, 1 - 21.
Vieira, C., Roy, A., Magana, A. J., Falk, M. L., & Reese, M. J. (2016). In-code Comments as a Self-explanation Strategy for Computational Science Education.
Vittorini, P., & Galassi, A. (2023). rDSA : an intelligent tool for data science assignments. Multimed Tools Appl, 82(9), 12879-12905. https://doi.org/10.1007/s11042-022-14053-x
Wang, H., Tlili, A., Huang, R., Cai, Z., Li, M., Cheng, Z., Yang, D., Li, M., Zhu, X., & Fei, C. (2023). Examining the applications of intelligent tutoring systems in real educational contexts: A systematic literature review from the social experiment perspective. Educ Inf Technol (Dordr), 1-36. https://doi.org/10.1007/s10639-022-11555-x
Wang, W., Rao, Y., Zhi, R., Marwan, S., Gao, G., & Price, T. W. (2020). Step Tutor: Supporting Students through Step-by-Step Example-Based Feedback. Proceedings of the 2020 ACM Conference on Innovation and Technology in Computer Science Education.
Wang, X. H., Liu, Q., Pang, H., Tan, S. C., Lei, J., Wallace, M. P., & Li, L. L. (2023). What matters in AI-supported learning: A study of human-AI interactions in language learning using cluster analysis and epistemic network analysis. Computers & Education, 194, 104703. https://doi.org/ARTN 104703
10.1016/j.compedu.2022.104703
Watson, C., & Li, F. W. B. (2014). Failure rates in introductory programming revisited. Annual Conference on Innovation and Technology in Computer Science Education,
Wong, E., Yang, J., & Tan, L. (2013). AutoComment: Mining question and answer sites for automatic comment generation. 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE), 562-567.
Xie, B., Loksa, D., Nelson, G. L., Davidson, M. J., Dong, D., Kwik, H., Tan, A. H., Hwa, L., Li, M., & Ko, A. J. (2019). A theory of instruction for introductory programming skills. Computer Science Education, 29, 205 - 253.
Yusefzadeh, H., Amirzadeh Iranagh, J., & Nabilou, B. (2019). The effect of study preparation on test anxiety and performance: a quasi-experimental study. Advances in Medical Education and Practice, 10, 245 - 251.
Zhang, M., & Li, J. (2021). A commentary of GPT-3 in MIT Technology Review 2021. Fundamental Research, 1(6), 831-833.
Zong, M., & Krishnamachari, B. (2022). a survey on GPT-3. arXiv preprint arXiv:2212.00857.
指導教授 楊鎮華(Jhen-Hua Yang) 審核日期 2023-7-5
推文 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聯絡  - 隱私權政策聲明