[论文解读] Can ChatGPT Play the Role of a Teaching Assistant in an Introductory Programming Course?
本研究评估了ChatGPT在入门级编程课程中作为虚拟助教的潜力,重点考察其在代码评分和提供反馈方面的能力。尽管ChatGPT在提升代码质量和提供结构化反馈方面展现出强劲潜力,但在与人类助教及自动化工具相比,其在评分正确性和质量方面仍缺乏一致性和可靠性,表明在未进一步优化前,其尚不具备在教育环境中全面部署的条件。
The emergence of Large language models (LLMs) is expected to have a major impact on education. This paper explores the potential of using ChatGPT, an LLM, as a virtual Teaching Assistant (TA) in an Introductory Programming Course. We evaluate ChatGPT's capabilities by comparing its performance with that of human TAs in some of the important TA functions. The TA functions which we focus on include (1) grading student code submissions, and (2) providing feedback to undergraduate students in an introductory programming course. Firstly, we assess ChatGPT's proficiency in grading student code submissions using a given grading rubric and compare its performance with the grades assigned by human TAs. Secondly, we analyze the quality and relevance of the feedback provided by ChatGPT. This evaluation considers how well ChatGPT addresses mistakes and offers suggestions for improvement in student solutions from both code correctness and code quality perspectives. We conclude with a discussion on the implications of integrating ChatGPT into computing education for automated grading, personalized learning experiences, and instructional support.
研究动机与目标
- 探究ChatGPT是否能在入门级编程课程中有效执行核心助教功能。
- 比较ChatGPT在代码正确性与代码质量指标上与人类助教的评分表现。
- 评估ChatGPT提供的反馈在质量、相关性与实用性方面对提升学生代码的效用。
- 探索利用类似ChatGPT的大型语言模型(LLM)以增强计算教育中的自动化评分与个性化学习的可行性。
- 识别开发可靠、一致且个性化的LLM驱动虚拟助教所需面临的局限与未来研究方向。
提出的方法
- 在约650名学生的CS1课程中,针对三个编程作业开展两项实验,使用Python语言。
- 采用标准化评分表,将ChatGPT对代码正确性的评分与人类助教的评分进行对比。
- 结合ChatGPT的评估与Radon库对代码质量进行测量,涵盖可维护性、复杂度与行数(LLOC)等指标。
- 收集并分析ChatGPT对学生代码提供的反馈,重点关注错误识别与改进建议。
- 由专家评审员(前助教与高年级学生)评估ChatGPT反馈的质量与实用性。
- 通过提示工程标准化输入,并评估在重复查询下响应的一致性。
实验结果
研究问题
- RQ1RQ1:在评分学生代码提交方面,ChatGPT的评估与人类助教的评估相比如何?
- RQ2RQ2:ChatGPT在识别学生代码中的错误及提出可能的代码改进建议方面,其反馈效果如何?
- RQ3RQ3:对于同一段代码提交,ChatGPT在重复提问下的响应是否一致?
- RQ4RQ4:ChatGPT的反馈在不损害正确性的前提下,能在多大程度上提升代码质量?
- RQ5RQ5:ChatGPT是否能够大规模提供个性化且无偏见的反馈,适用于大型编程课程?
主要发现
- ChatGPT在代码正确性评分方面与人类助教的评估结果呈现中等程度的一致性,但存在显著差异,表明其在功能评分方面可靠性不足。
- ChatGPT在识别并建议改进代码质量方面表现出色,尤其在提升模块化与可读性方面,即使在代码功能正确性未变的情况下亦然。
- ChatGPT对代码质量的评估与Radon生成的指标呈正相关,表明其能可靠识别结构上的改进。
- ChatGPT提供的反馈在识别逻辑缺陷与建议重构方面始终具有实用性,但建议多为细微调整,主要聚焦于代码风格与结构,而非逻辑错误。
- ChatGPT在面对相同提示时表现出高度的响应变异性,重复测试中反馈与评分不一致,限制了其可重现性。
- 尽管具备优势,ChatGPT仍缺乏个性化与历史上下文信息,降低了其根据学生个体学习模式定制反馈的能力。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。