[논문 리뷰] Can ChatGPT Pass An Introductory Level Functional Language Programming Course?
본 논문은 OCaml 기반의 입문형 함수형 프로그래밍 강좌에서 ChatGPT를 학생으로 평가하고, 전체 성적은 67% (B−)이며 프롬프트 엔지니어링 보조 프롬프트를 사용한 경우 수강 순위가 220nd에서 155th로 향상되었다고 밝혔다.
The recent introduction of ChatGPT has drawn significant attention from both industry and academia due to its impressive capabilities in solving a diverse range of tasks, including language translation, text summarization, and computer programming. Its capability for writing, modifying, and even correcting code together with its ease of use and access is already dramatically impacting computer science education. This paper aims to explore how well ChatGPT can perform in an introductory-level functional language programming course. In our systematic evaluation, we treated ChatGPT as one of our students and demonstrated that it can achieve a grade B- and its rank in the class is 155 out of 314 students overall. Our comprehensive evaluation provides valuable insights into ChatGPT's impact from both student and instructor perspectives. Additionally, we identify several potential benefits that ChatGPT can offer to both groups. Overall, we believe that this study significantly clarifies and advances our understanding of ChatGPT's capabilities and potential impact on computer science education.
연구 동기 및 목표
- ChatGPT의 능력이 OCaml 기반의 입문형 함수형 프로그래밍 강좌에서 실제 문제를 해결하는지 평가한다.
- Fall 2022 과정 데이터의 실제 학생 결과와 ChatGPT의 성능을 비교한다.
- 프롬프트 엔지니어링 기술이 ChatGPT의 문제 해결 품질에 미치는 영향을 탐구한다.
- ChatGPT가 잘 다루는 주제와 어려움을 겪는 영역(예: 타입 추론)을 파악한다.
- ChatGPT를 학습 또는 교수 보조 도구로 사용할 때의 잠재적 혜택과 한계를 평가한다.
제안 방법
- ChatGPT를 수업의 학생으로 간주하고 Fall 2022의 OCaml 기반 과정에서 모든 10개 숙제와 관련 시험 문제를 완료시키다.
- 비지원(일반) 모드와 보조(prompt-engineered) 모드를 사용해 성능을 평가하다.
- 오류를 구문, 컴파일, 논리 범주로 분류해 실패 원인을 분석하다.
- 네 가지 프롬프트 엔지니어링 기술(의역, 자연어 힌트, 예시를 통한 가르침, 테스트 케이스 제공)을 적용해 성능 향상을 평가하다.
- 사람 학생과 동일한 루브릭으로 ChatGPT의 솔루션을 채점하고 순위를 비교하다.
- 코드 생성 너머의 이해를 gauage하기 위해 시험 구성요소(개념, 코드 완성, 귀납 증명)를 분석하다.
실험 결과
연구 질문
- RQ1ChatGPT가 입문적 함수형 프로그래밍 과정에서 실제 학생과 유사한 점수를 얻을 수 있는가?
- RQ2OCaml 지식, 재귀, 고차 함수 및 타입 시스템이 필요한 과제와 시험에서 ChatGPT의 수행은 어떠한가?
- RQ3프롬프트 엔지니어링이 ChatGPT의 문제 해결 품질과 과정 순위를 얼마나 개선할 수 있는가?
- RQ4이 교육 환경에서 ChatGPT의 강점(예: 코딩 작업)과 약점(예: 타입 추론)은 무엇인가?
주요 결과
- ChatGPT는 비지원 모드에서 전체 과정 성적 67% (B−)를 달성하고 보조 프롬프트를 사용한 후 314명 중 155th의 순위를 차지했다.
- ChatGPT는 비지원 모드에서 31개 숙제 문제 중 16개를 통과하며, 고차 함수, 꼬리 재귀, 느린 프로그래밍 및 연속 함수에서 더 높은 성과를 보였지만 타입 추론과 인터프리터와 같은 더 큰 과제에는 어려움을 겪었다.
- 보조 프롬프트(의역, 힌트, 예시 및 테스트 케이스)로 시험과 숙제 성능이 향상되어 두 실험에서 최종 시험 점수는 64.4에서 81.0으로, 중간고사는 74.5에서 79.5로 상승했다.
- 보조 모드에서의 최종 exam 성적은 총점 81.0으로 비지원의 64.4 대비 큰 상승을 보였으며, 개념적, 코드 완성 및 귀납 증명 구성요소에서 눈에 띄는 향상이 있었다.
- 순위는 보조 모드 하에서 개선되었다(최종 시험: 비보조 170위 vs 보조 121위; 총점: 비보조 220위 vs 보조 155위).
- 전반적으로 ChatGPT는 많은 OCaml 문제에 대해 올바르고 우아한 해를 생성하는 데 상당한 능력을 보이나, 타입 검사 및 대규모 작업은 여전히 도전적이다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.