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.
翻译:大型语言模型(LLMs)颠覆了计算教育领域数十年的教学法。学生以往通过编写大量小程序学习编程,较少注重代码阅读与理解。近期研究显示,由LLMs驱动的免费代码生成工具能够轻松解决以自然语言描述的入门级编程问题。本文提出一种利用"提示问题"教授编程的新方法。学生将接收以可视化形式呈现的问题,明确输入到输出的转换过程,并需将其转化为可供LLM解读的提示。当学生提示生成的代码能通过所有测试案例时,即视为问题解决正确。本文阐述了该工具的设计方案,探讨了学生使用该工具学习时的交互行为,并深入分析了这类新型编程问题及集成LLMs的设计工具。