Kattis vs. ChatGPT: Assessment and Evaluation of Programming Tasks in the Age of Artificial Intelligence

📄 arXiv: 2312.01109v1 📥 PDF

作者: Nora Dunder, Saga Lundborg, Olga Viberg, Jacqueline Wong

分类: cs.AI, cs.CY, cs.SE

发布日期: 2023-12-02

备注: 10 pages, 2 figures, 3 tables. (Pre-print). Final version to be submitted to ACM Journals. LAK2024, March,18-22, 2024, Kyoto, Japan


💡 一句话要点

评估ChatGPT在Kattis编程任务中的表现,揭示其在不同难度编程问题上的能力差异

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: ChatGPT 编程教育 Kattis 代码生成 自动评分

📋 核心要点

  1. 大型语言模型在解决编程任务方面的有效性尚未得到充分探索,尤其是在ChatGPT日益普及的背景下。
  2. 本研究通过Kattis平台测试ChatGPT在不同难度编程问题上的代码生成能力,评估其在编程教育中的潜力。
  3. 实验结果表明,ChatGPT能够解决部分编程任务,但在复杂问题上表现不佳,揭示了其在编程教育应用中的局限性。

📝 摘要(中文)

本研究旨在评估ChatGPT在解决不同难度级别编程任务中的能力,尤其是在入门级编程课程中的表现。研究人员使用Kattis(一种用于计算机科学程序的自动软件评分工具)提供的127个随机选择的编程问题对ChatGPT进行了测试。结果表明,ChatGPT能够独立解决其中的19个编程任务。此外,研究发现ChatGPT能够为简单问题生成准确的代码解决方案,但在处理更复杂的编程任务时遇到了困难。该研究结果有助于深入探讨人工智能驱动的工具在编程教育中的效用。

🔬 方法详解

问题定义:本研究旨在评估ChatGPT在解决编程问题方面的能力,特别是针对入门级编程课程中常见的编程任务。现有方法缺乏对ChatGPT等大型语言模型在不同难度编程问题上的系统性评估,难以判断其在编程教育中的实际应用价值。

核心思路:研究的核心思路是利用Kattis平台提供的编程题目作为测试集,评估ChatGPT生成代码解决方案的准确性和效率。通过分析ChatGPT在不同难度问题上的表现,揭示其在编程能力方面的优势和不足。

技术框架:研究采用实验方法,选取Kattis平台提供的127个编程问题,这些问题涵盖不同的难度级别。研究人员使用ChatGPT生成代码解决方案,并提交到Kattis平台进行自动评分。通过分析Kattis的评分结果,评估ChatGPT解决编程问题的能力。

关键创新:本研究的关键创新在于系统性地评估了ChatGPT在解决不同难度编程问题上的能力,并将其与Kattis平台的自动评分结果进行对比。这为评估大型语言模型在编程教育中的应用提供了实证依据。

关键设计:研究中,编程问题的选择具有随机性,以保证测试集的代表性。研究人员没有对ChatGPT进行任何微调或优化,而是直接使用其默认设置生成代码解决方案。Kattis平台的评分标准包括代码的正确性、效率和代码风格等。

📊 实验亮点

实验结果显示,ChatGPT能够独立解决Kattis平台提供的127个编程任务中的19个。对于简单问题,ChatGPT能够生成准确的代码解决方案,但在处理更复杂的编程任务时,其表现明显下降。这表明ChatGPT在解决编程问题方面具有一定的能力,但仍存在局限性,尤其是在处理复杂逻辑和算法方面。

🎯 应用场景

该研究结果可应用于编程教育领域,帮助教师了解ChatGPT等AI工具在辅助教学方面的潜力与局限性。同时,该研究也为AI工具的开发者提供了改进方向,使其能够更好地服务于编程学习者。此外,该研究也为评估其他大型语言模型在编程领域的应用提供了参考。

📄 摘要(原文)

AI-powered education technologies can support students and teachers in computer science education. However, with the recent developments in generative AI, and especially the increasingly emerging popularity of ChatGPT, the effectiveness of using large language models for solving programming tasks has been underexplored. The present study examines ChatGPT's ability to generate code solutions at different difficulty levels for introductory programming courses. We conducted an experiment where ChatGPT was tested on 127 randomly selected programming problems provided by Kattis, an automatic software grading tool for computer science programs, often used in higher education. The results showed that ChatGPT independently could solve 19 out of 127 programming tasks generated and assessed by Kattis. Further, ChatGPT was found to be able to generate accurate code solutions for simple problems but encountered difficulties with more complex programming tasks. The results contribute to the ongoing debate on the utility of AI-powered tools in programming education.