Students' Perceptions and Preferences of Generative Artificial Intelligence Feedback for Programming
作者: Zhengdong Zhang, Zihan Dong, Yang Shi, Noboru Matsuda, Thomas Price, Dongkuan Xu
分类: cs.HC, cs.AI, cs.CY
发布日期: 2023-12-17
💡 一句话要点
利用ChatGPT为CS1课程Java编程作业提供自动反馈,提升学生学习体验。
🎯 匹配领域: 支柱三:空间感知与语义 (Perception & Semantics) 支柱九:具身大模型 (Embodied Foundation Models)
关键词: ChatGPT 大型语言模型 自动反馈 编程教育 Java编程 CS1课程 形成性反馈 学生偏好
📋 核心要点
- 现有编程教学中,人工反馈成本高昂且难以规模化,阻碍了学生个性化学习体验的提升。
- 本研究探索利用ChatGPT为Java编程作业提供自动反馈,旨在提升反馈效率和个性化程度。
- 实验结果表明,学生认为ChatGPT生成的反馈具有形成性,并偏好包含代码的反馈提示,认为其更具针对性和纠正性。
📝 摘要(中文)
本文探讨了利用大型语言模型(LLM)ChatGPT为入门计算机科学(CS1)课程中的Java编程作业提供自动反馈的可行性。研究重点关注三个问题:1) 学生在多大程度上认为LLM生成的反馈具有形成性?2) 学生如何看待包含代码与不包含代码的反馈提示的相对优势?3) 学生对改进AI生成反馈有何建议?研究使用ChatGPT API为CS1课程的四个实验作业生成自动反馈。调查结果表明,学生认为反馈与Shute建立的形成性反馈指南非常吻合。此外,学生明显偏好包含学生代码的LLM提示生成的反馈,这主要归因于反馈的特异性、清晰性和纠正性。研究还发现,学生普遍期望获得包含足够代码示例的特定和纠正性反馈,但在反馈的语气方面存在不同意见。该研究表明,ChatGPT可以生成学生认为具有形成性的Java编程作业反馈,并为改进ChatGPT生成的反馈以使其对学生更有用提供了见解。
🔬 方法详解
问题定义:本研究旨在解决入门级计算机科学(CS1)课程中Java编程作业反馈效率低、个性化不足的问题。传统的人工反馈耗时费力,难以满足大规模学生的需求,且反馈质量参差不齐。现有方法缺乏利用大型语言模型(LLM)提供高质量、个性化自动反馈的有效途径。
核心思路:核心思路是利用ChatGPT强大的自然语言处理能力,根据学生的Java编程代码生成针对性的反馈。通过将学生代码作为提示的一部分输入ChatGPT,使其能够理解代码逻辑并提供具体的改进建议。研究还关注学生对不同类型反馈(包含代码 vs. 不包含代码)的偏好,以及他们对改进AI生成反馈的建议。
技术框架:整体流程包括以下步骤:1) 收集CS1课程的Java编程作业;2) 使用ChatGPT API,分别以包含学生代码和不包含学生代码两种方式生成反馈;3) 向学生发放调查问卷,收集他们对反馈的看法和偏好;4) 对调查结果进行定量和定性分析,评估反馈的形成性、有效性和改进方向。
关键创新:本研究的关键创新在于探索了ChatGPT在Java编程作业自动反馈中的应用,并深入分析了学生对不同类型AI生成反馈的偏好。与以往研究相比,本研究更关注学生的主观感受和反馈需求,为未来开发更有效的AI辅助编程学习工具提供了重要参考。
关键设计:研究中,ChatGPT API被用于生成反馈,提示词的设计至关重要,包括是否包含学生代码。调查问卷的设计涵盖了反馈的形成性、特异性、清晰性、纠正性以及语气等方面。研究采用定量分析(如统计学生对不同类型反馈的偏好)和定性分析(如主题分析学生对反馈的建议)相结合的方法,以全面评估ChatGPT生成反馈的效果。
📊 实验亮点
研究表明,学生普遍认为ChatGPT生成的反馈具有形成性,符合Shute提出的反馈指南。学生更偏好包含代码的反馈,认为其更具特异性、清晰性和纠正性。通过主题分析,研究揭示了学生对反馈语气和代码示例的需求,为改进AI生成反馈提供了宝贵建议。
🎯 应用场景
该研究成果可应用于在线编程教育平台、智能编程辅导系统等领域,为学生提供个性化、及时的编程反馈,提升学习效率和编程能力。未来,可进一步探索利用LLM生成更高级的编程指导,如代码重构建议、性能优化方案等,助力学生成为更优秀的程序员。
📄 摘要(原文)
The rapid evolution of artificial intelligence (AI), specifically large language models (LLMs), has opened opportunities for various educational applications. This paper explored the feasibility of utilizing ChatGPT, one of the most popular LLMs, for automating feedback for Java programming assignments in an introductory computer science (CS1) class. Specifically, this study focused on three questions: 1) To what extent do students view LLM-generated feedback as formative? 2) How do students see the comparative affordances of feedback prompts that include their code, vs. those that exclude it? 3) What enhancements do students suggest for improving AI-generated feedback? To address these questions, we generated automated feedback using the ChatGPT API for four lab assignments in the CS1 class. The survey results revealed that students perceived the feedback as aligning well with formative feedback guidelines established by Shute. Additionally, students showed a clear preference for feedback generated by including the students' code as part of the LLM prompt, and our thematic study indicated that the preference was mainly attributed to the specificity, clarity, and corrective nature of the feedback. Moreover, this study found that students generally expected specific and corrective feedback with sufficient code examples, but had diverged opinions on the tone of the feedback. This study demonstrated that ChatGPT could generate Java programming assignment feedback that students perceived as formative. It also offered insights into the specific improvements that would make the ChatGPT-generated feedback useful for students.