[논문 리뷰] Promptly: Using Prompt Problems to Teach Learners How to Effectively Utilize AI Code Generators
이 논문은 Prompt Problems를 LLM 코드 생성에 대한 효과적인 프롬프트를 설계하기 위한 교수법으로 소개하고, Promptly라는 웹 도구를 제시합니다. 첫 해 파이썬 강좌(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학년 파이썬 코스에서의 현장 배치로부터의 실증적 발견을 보고하고 학생 경험에 대해 성찰한다.
- Prompt Problems를 커리큘럼에 통합하기 위한 설계 옵션과 향후 방향을 논의한다.
제안 방법
- 시각적 문제가 주어지고 학생들이 LLM이 요구된 코드를 생성하도록 안내하는 프롬프트를 설계하는 연습으로 Prompt Problem을 정의하고 예시를 제시한다.
- Problem 시각을 제시하고 학생 프롬프트를 수집하며 LLM API를 호출하고 샌드박스에서 테스트 케이스에 대해 생성된 코드를 실행하는 웹 기반 도구(React/NodeJS)인 Promptly를 개발한다.
- 상호작용, 성공 비율, 학생 인식을 관찰하기 위해 1학년 파이썬 강좌의 대규모 선택적 실험 과제에 Promptly를 배치한다(n=54).
- 학습자 경험과 인식된 이점/우려를 이해하기 위해 정량적 데이터(평균 제출, 성공 수, 프롬프트 단어 수)와 정성적 반영을 수집한다.
- Prompt Problems의 변형, 커리큘럼 내 통합, 향후 연구 방향을 논의한다.
실험 결과
연구 질문
- RQ1RQ1: 학생들이 전반적인 성공률과 프롬프트 길이 측면에서 Promptly 도구와 어떻게 상호작용하는가?
- RQ2RQ2: 학생들의 Promptly 도구에 대한 인식과 LLM에 대한 프롬프트 작성을 통한 프로그래밍 학습에 대한 인식은 어떤가?
주요 결과
- Promptly는 대체로 호응을 얻었고 문제를 해결할 때 학생들을 계산적 사고에 참여시켰다.
- Problem 3은 학생들에게 가장 어려웠으며 평균 제출 수가 가장 높고(6.4) 해결자도 적었는데(19) 문제 1(43 solvers) 및 문제 2(32 solvers)와 비교된다.
- 문제별 평균 프롬프트 길이는 각각 Problem 1–3에서 13, 38, 36 단어로 달랐다.
- 연구는 학생들에게 새로운 프로그래밍 구성 요소를 노출하고 문제 명세와 프롬프트 설계에 대해 비판적으로 사고하는 능력을 강화하는 이점을 발견했다.
- 일부 학생은 AI 도구 의존에 대한 저항이나 우려를 표명했고 책임 있는 사용과 프로그래밍 독립성 유지의 중요성을 강조했다.
- 성찰은 프롬프트 엔지니어링이 명시적 지도와 연습이 필요한 다른 형태의 프로그래밍을 나타낸다고 강조했다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.