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.
@article{arxiv.2401.10759,
title = {Interactions with Prompt Problems: A New Way to Teach Programming with Large Language Models},
author = {James Prather and Paul Denny and Juho Leinonen and David H. Smith and Brent N. Reeves and Stephen MacNeil and Brett A. Becker and Andrew Luxton-Reilly and Thezyrie Amarouche and Bailey Kimmel},
journal= {arXiv preprint arXiv:2401.10759},
year = {2024}
}