Skip to main content
QUICK REVIEW

[논문 리뷰] Can ChatGPT Play the Role of a Teaching Assistant in an Introductory Programming Course?

Anishka, Atharva Mehta|arXiv (Cornell University)|2023. 12. 12.
Online Learning and Analytics인용 수 6
한 줄 요약

이 연구는 초급 프로그래밍 과정에서 ChatGPT를 가상 수업 조교로 평가하여 학생 코드를 채점하고 피드백을 제공하는 능력을 검토한다. ChatGPT는 코드 품질 향상과 체계적인 피드백 제공 잠재력이 높지만, 인간 TA와 자동화된 도구에 비해 정확성과 품질 채점에서 일관성과 신뢰성이 떨어져, 향후 보완이 필요하지만 전면적인 교육 현장 적용에는 아직 준비되지 않은 것으로 나타났다.

ABSTRACT

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의 코드 채점 성능을 인간 TA와 정확성 및 코드 품질 지표 측면에서 비교하기 위해.
  • ChatGPT가 학생 코드 향상에 기여하기 위해 제공하는 피드백의 품질, 관련성, 유용성 평가하기 위해.
  • LLM(예: ChatGPT)을 활용해 자동 채점 및 개인화된 학습을 컴퓨팅 교육 분야에서 향상시킬 수 있는지 가능성 탐색하기 위해.
  • 신뢰성 있고 일관되며 개인화된 LLM 기반 가상 수업 조교 개발을 위한 한계점과 향후 방향성 규명하기 위해.

제안 방법

  • CS1 과정에서 약 650명의 학생이 참여한 세 개의 프로그래밍 과제를 활용해 두 가지 실험을 수행하였으며, Python을 사용하였다.
  • 표준화된 평가 체계를 사용해 ChatGPT의 코드 정확성 평가를 인간 TA의 평가와 비교하였다.
  • 유지보수성, 복잡도, LLOC 등 메트릭을 측정하기 위해 Radon 라이브러리와 함께 ChatGPT의 평가를 통해 코드 품질을 평가하였다.
  • 학생 코드에 대한 ChatGPT의 피드백을 수집하고 분석하였으며, 오류 식별 및 개선 제안에 중점을 두었다.
  • 전문 평가자(이전 TA 및 고성적 학생)를 활용해 ChatGPT의 피드백 품질과 유용성 평가하였다.
  • 입력 표준화 및 반복된 질의에 대한 반응 일관성 평가를 위해 프롬프트 엔지니어링 기법을 적용하였다.

실험 결과

연구 질문

  • RQ1RQ1: 학생 코드 제출물에 대한 채점에서, ChatGPT의 평가가 인간 TA의 평가와 비교해 어떻게 다를까?
  • RQ2RQ2: ChatGPT는 학생의 코드 오류를 식별하고 가능한 코드 개선 사항을 제안하는 데 얼마나 효과적인가?
  • RQ3RQ3: 동일한 코드 제출물에 대해 동일한 프롬프트를 반복했을 때 ChatGPT의 응답은 얼마나 일관한가?
  • RQ4RQ4: ChatGPT의 피드백은 정확성을 훼손하지 않으면서 코드 품질을 얼마나 향상시키는가?
  • RQ5RQ5: ChatGPT는 대규모 프로그래밍 수업에서 스케일링 가능한 개인화되고 편향 없는 피드백을 제공하는 데 사용될 수 있는가?

주요 결과

  • ChatGPT의 코드 정확성 평가 점수는 인간 TA 평가와 중간 정도로 일치했지만, 상당한 격리가 관찰되어 기능적 채점에서 신뢰성의 일관성이 떨어지는 것으로 나타났다.
  • ChatGPT는 코드 품질 향상에 있어 강력한 능력을 보였으며, 특히 모듈성과 가독성 향상에 초점을 맞춰 정확성은 그대로 유지된 상태에서도 개선 제안을 효과적으로 제공했다.
  • ChatGPT의 코드 품질 평가 결과는 Radon가 생성한 메트릭과 정확히 상관관계를 보였으며, 이는 ChatGPT가 체계적 개선 사항을 신뢰성 있게 탐지할 수 있음을 시사한다.
  • ChatGPT의 피드백은 논리적 오류 식별과 리팩터링 제안 측면에서 일관되게 도움이 되었지만, 대부분의 제안은 스타일과 구조에 국한되어 있어 논리 오류에는 미흡했다.
  • 동일한 프롬프트에 대해 ChatGPT는 반복 시험에서도 높은 변동성을 보였으며, 반복 시 피드백과 채점 결과가 일관되지 않아 재현 가능성에 제약이 있었다.
  • 강점이 있음에도 불구하고, ChatGPT는 개인화 및 이전 학습 이력에 대한 맥락이 부족해 개별 학생의 학습 패턴에 맞춘 피드백 제공 능력이 떨어진다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.