通过真实的大学考试题目评估Chat-GPT在Swift语言上的编程能力

论文标题:Evaluate Chat-GPT's programming capability in Swift through real university exam questions 中文标题:通过真实的大学考试题目评估Chat-GPT在Swift语言上的编程能力

作者信息:

  • Zizhuo Zhang, Information and Network Management Office, Chang'an University, Xi'an, China
  • Lian Wen, School of ICT, Griffith University, Brisbane, Australia
  • Yanfei Jiang, Technology Centre, Xian Rail Transit Group Co. Ltd., Xi'an, China
  • Yongli Liu, School of Information Engineering, Chang'an University, Xi'an, China 通讯作者:Yongli Liu, School of Information Engineering, Chang'an University, Xi'an, China. Email: liuyongli@chd.edu.cn

论文出处:Softw: Pract Exper. 2024;54:2129--2143. wileyonlinelibrary.com/journal/spe

摘要: 本研究评估了OpenAI的GPT-3.5和GPT-4模型使用Swift语言的大学考试题目的编程能力。结果显示,两种GPT模型普遍表现优于平均学生分数,但并未始终超越顶尖学生的表现。这一比较突出了GPT模型在哪些领域表现出色,在哪些领域存在不足,提供了对它们当前编程熟练度的细致看法。研究还揭示了GPT-3.5在某些情况下表现优于GPT-4的惊人实例,表明AI模型能力中存在复杂的变化。通过提供GPT在学术环境中编程技能的明确基准,我们的研究为AI编程教育的未来进步提供了宝贵的见解,并强调了继续发展以充分发挥AI在教育环境中潜力的必要性。

1. 引言: 介绍了人工智能(AI)在高等教育中的显著影响,特别是OpenAI开发的GPT系列模型。讨论了GPT在编程能力方面的多项研究,包括数值方法、错误检测、重构和测试用例生成以及识别代码漏洞等。尽管有证据表明GPT可能在回答多项选择代码问题时面临挑战,但在HackerRank上的Python问题测试中表现出了令人鼓舞的问题解决准确性。然而,关于Codex可能生成记忆代码作为解决方案的担忧仍然存在。研究还表明,GPT在不同编程语言中的能力存在差异。

2. 背景: 讨论了AI回答编程问题时面临的挑战,包括问题的歧义性、领域理解、创造性问题解决和解决方案验证。介绍了ChatGPT如何通过各种方式解决编程挑战,包括理解编程语言和概念、代码验证和调试、创造性问题解决以及处理含糊的问题陈述。同时提供了Swift和SwiftUI的概述。

3. 测试方法: 详细介绍了在移动应用开发(MAD)课程中使用的实验框架和测试方法。包括课程介绍和学生背景、考试结构、评分标准和过程。

4. 结果: 本节揭示了研究的核心发现,包括GPT模型在移动应用开发考试的各种问题类别中的表现,并与学生队列的成就进行了详细比较。使用了方差分析(ANOVA)来确定受访者类型(学生、GPT-3.5、GPT-4)和问题类型(简单、中等、具有挑战性)对考试表现的影响。

5. GPT模型的误差分析: 本节记录了GPT-3.5和GPT-4在考试期间犯下的错误,并试图阐明这些错误背后的原因。

6. 讨论: 探讨了GPT-3.5和GPT-4模型在特定情况下表现出色的意外优势,反思了AI在教育中的角色,以及通过误差分析作为增强AI训练的门户。

7. 结论和未来工作: 总结了研究的主要发现,指出GPT模型尽管具有先进能力,但并未始终超越顶尖学生的表现。讨论了研究的局限性,并提出了未来的研究方向,包括扩大编程语言和更复杂问题类型的范围,以及调查GPT-3.5和GPT-4性能变化背后的原因。最后,强调了在教育环境中负责任和有益地整合AI的重要性。

相关推荐
kaikaile19955 分钟前
C# 文件编码转换工具
开发语言·c#
沐雪轻挽萤19 分钟前
10. C++17新特性-保证的拷贝消除 (Guaranteed Copy Elision / RVO)
开发语言·c++
夜瞬34 分钟前
NLP学习笔记02:文本表示方法——从词袋模型到 BERT
笔记·学习·自然语言处理
河阿里35 分钟前
Java-JWT令牌技术深度指南
java·开发语言
文静小土豆1 小时前
Java 应用上 K8s 全指南:从部署到治理的生产级实践
java·开发语言·kubernetes
西西弗Sisyphus1 小时前
Python 在终端里彩色打印
开发语言·python·print·彩色打印
Rsun045512 小时前
3、Java 工厂方法模式从入门到实战
java·开发语言·工厂方法模式
wjs20242 小时前
C++ 基本的输入输出
开发语言
码云数智-园园2 小时前
Python的GIL锁如何影响多线程性能?有哪些替代方案?
开发语言
咬_咬2 小时前
go语言学习(map)
开发语言·学习·golang·map