[論文レビュー] Can ChatGPT Play the Role of a Teaching Assistant in an Introductory Programming Course?
本研究では、入門プログラミングコースにおけるバーチャルティーチングアシスタントとしてのChatGPTの有効性を評価し、学生のコードの採点とフィードバックの提供能力を検証した。ChatGPTはコードの質を向上させ、構造的なフィードバックを提供するという点で大きな潜在的利点を示しているが、人間のTAや自動化ツールと比較して、正しさや質の採点において一貫性や信頼性に欠けることが判明し、今後の精錬を経なければ教育現場への完全導入には不適切であることが示された。
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が提供するフィードバックの質、関連性、役立つ程度を、学生のコード改善に向けたものとして評価すること。
- GPTのような大規模言語モデル(LLM)を活用して、コンピュータ教育における自動採点とパーソナライズドラーニングを強化する可能性を探ること。
- 信頼性があり、一貫性があり、パーソナライズ可能なLLM駆動のバーチャルティーチングアシスタントを開発するにあたり、限界と今後の方向性を特定すること。
提案手法
- 約650名の学生が受講するCS1コースの3つのプログラミング課題を用いて、2つの実験を実施。使用言語はPython。
- 標準化された採点基準を用いて、ChatGPTによるコード正しさの採点を人間のTAの採点と比較。
- メンテナビリティ、複雑さ、LLOC(ロケーション数)などの指標を測定するため、Radonライブラリを用いてコード品質を評価。
- 学生のコードに対するChatGPTのフィードバックを収集・分析し、エラーの特定と改善提案の観点から評価。
- 元TAおよび成績優秀な学生による専門レビューを実施し、ChatGPTのフィードバックの質と役立つ程度を評価。
- プロンプト工学を用いて入力を標準化し、同一のコード提出物に対して繰り返しクエリを投げた際の応答の一貫性を評価。
実験結果
リサーチクエスチョン
- RQ1RQ1: 学生のコード提出物の採点に関して、ChatGPTの評価は人間のTAの評価と比べてどの程度一致するか?
- RQ2RQ2: ChatGPTは、学生のコードに含まれる誤りを特定し、改善策を提案する点で、どの程度効果的か?
- RQ3RQ3: 同一のコード提出物に対して繰り返しプロンプトを投げた場合、ChatGPTの応答はどの程度一貫しているか?
- RQ4RQ4: ChatGPTのフィードバックは、正しさを損なわせることなく、コード品質をどの程度向上させられるか?
- RQ5RQ5: 大規模なプログラミングコースにおいて、ChatGPTを用いてスケーラブルにパーソナライズ可能でバイアスのないフィードバックを提供できるか?
主な発見
- ChatGPTによるコード正しさの採点スコアは、人間のTAの評価と中程度の一致を示したが、顕著な乖離が認められ、機能的採点における信頼性の欠如が明らかになった。
- ChatGPTは、コード品質の向上に向けた改善策の特定と提案において、特にモジュール性や可読性の向上において顕著な能力を示したが、正しさが保たれていない場合でも同様に有効であった。
- ChatGPTによるコード品質の評価は、Radonが生成する指標と正の相関関係にあり、構造的改善を信頼性を持って検出できる可能性を示唆している。
- ChatGPTのフィードバックは、論理的欠陥の特定とリファクタリングの提案において一貫して役立ったが、提案内容はしばしば微細なスタイルや構造的改善に限定されており、論理エラーの修正にはあまり寄与しなかった。
- 同一のプロンプトに対してChatGPTが示す応答に顕著な変動が認められ、繰り返し実行した際のフィードバックや採点が一貫性に欠け、再現性に制限があった。
- 強みはあったが、ChatGPTはパーソナライズ性と履歴的文脈を欠いており、個々の学生の学習パターンに合わせたフィードバックを提供する能力が制限されていた。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。