Interactions with Prompt Problems: A New Way to Teach Programming with Large Language Models
This addresses a pedagogical problem for computing educators and students by shifting focus from writing code to prompt-based interaction, though it is incremental in leveraging existing LLM capabilities for education.
The paper tackles the challenge of adapting programming education to the era of large language models (LLMs) by introducing Prompt Problems, where students learn by translating visual input-output transformations into prompts for LLMs to generate code, with correctness based on passing test cases.
Large Language Models (LLMs) have upended decades of pedagogy in computing education. Students previously learned to code through \textit{writing} many small problems with less emphasis on code reading and comprehension. Recent research has shown that free code generation tools powered by LLMs can solve introductory programming problems presented in natural language with ease. In this paper, we propose a new way to teach programming with Prompt Problems. Students receive a problem visually, indicating how input should be transformed to output, and must translate that to a prompt for an LLM to decipher. The problem is considered correct when the code that is generated by the student prompt can pass all test cases. In this paper we present the design of this tool, discuss student interactions with it as they learn, and provide insights into this new class of programming problems as well as the design tools that integrate LLMs.