[論文レビュー] Promptly: Using Prompt Problems to Teach Learners How to Effectively Utilize AI Code Generators
本論文は、Prompt Problemsを、コード生成LLMのための効果的なプロンプト作成を教育する教育学として導入し、Promptlyを提示します。Promptlyは、1年生のPythonコース(n=54)において、プロンプト生成コードを提供し自動評価するウェブツールです。
With their remarkable ability to generate code, large language models (LLMs) are a transformative technology for computing education practice. They have created an urgent need for educators to rethink pedagogical approaches and teaching strategies for newly emerging skill sets. Traditional approaches to learning programming have focused on frequent and repeated practice at writing code. The ease with which code can now be generated has resulted in a shift in focus towards reading, understanding and evaluating LLM-generated code. In parallel with this shift, a new essential skill is emerging -- the ability to construct good prompts for code-generating models. This paper introduces a novel pedagogical concept known as a `Prompt Problem', designed to help students learn how to craft effective prompts for LLMs. A Prompt Problem challenges a student to create a natural language prompt that leads an LLM to produce the correct code for a specific problem. To support the delivery of Prompt Problems at scale, in this paper we also present a novel tool called Promptly which hosts a repository of Prompt Problems and automates the evaluation of prompt-generated code. We report empirical findings from a field study in which Promptly was deployed in a first-year Python programming course (n=54). We explore student interactions with the tool and their perceptions of the Prompt Problem concept. We found that Promptly was largely well-received by students for its ability to engage their computational thinking skills and expose them to new programming constructs. We also discuss avenues for future work, including variations on the design of Prompt Problems and the need to study their integration into the curriculum and teaching practice.
研究の動機と目的
- LLMが生成するコードの時代において、従来のプログラミングと並行してプロンプトエンジニアリングを教える必要性を動機づける。
- 学生が自然言語のプロンプトを作成して正しいコードを生成する、Prompt Problemの概念を紹介する。
- Prompt Problemsを提供し、生成されたコードを自動評価するPromptlyツールを説明する。
- 1年生のPythonコースでの現場展開からの経験的発見を報告し、学生の経験を振り返る。
- Prompt Problemsをカリキュラムに組み込む際の設計オプションと今後の方向性について議論する。
提案手法
- 視覚的な問題が提示され、学生がLLMを正しいコードへ導くプロンプトを作成する演習として、Prompt Problemを定義し、例示する。
- Problem visualsを提示し、学生のプロンプトを受け取り、LLM APIを呼び出し、生成されたコードをサンドボックス内のテストケースに対して実行する、Webベースのツール(React/NodeJS)としてPromptlyを開発する。
- 相互作用、成功率、学生の認識を観察するため、1年生のPythonコース内の大規模な任意の実験的課題としてPromptlyを展開する(n=54)。
- 量的データ(平均提出数、成功数、プロンプト語数)と質的振り返りを収集し、学習者の経験と認識された利点・懸念を理解する。
- Prompt Problemsのバリエーション、カリキュラムへの統合、今後の研究の方向性について議論する。
実験結果
リサーチクエスチョン
- RQ1RQ1: 学生は総合的な成功率とプロンプトの長さの観点でPromptlyツールとどのように相互作用するか?
- RQ2RQ2: 学生はPromptlyツールおよびLLMのためのプロンプト作成を通じてプログラミング学習についてどのように認識しているか?
主な発見
| 問題 | 平均提出数 | 解決した学生数 | 語数(平均) |
|---|---|---|---|
| 1 | 2.7 | 43 | 13 |
| 2 | 2.2 | 32 | 38 |
| 3 | 6.4 | 19 | 36 |
- Promptlyは大半の学生に良く受け入れられ、問題解決時に計算的思考を促した。
- 問題3は学生にとって最も難しく、平均提出数が最も高く(6.4)、解けた学生数が少なかった(19人)。問題1の解答者数は43、問題2は32と比較。
- 平均プロンプト語数は問題ごとに異なり、問題1、2、3ではそれぞれ13語、38語、36語だった。
- The study found benefits in exposing students to new programming constructs and in enhancing their ability to think critically about problem specifications and prompt design.
- Some students expressed resistance or concerns about reliance on AI tools and emphasized the importance of responsible use and maintaining programming independence.
- Reflections highlighted that prompt engineering represents a different form of programming that requires explicit instruction and practice.
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。