Interleaving Natural Language Prompting with Code Editing for Solving Programming Tasks with Generative AI Models
arXiv:2509.14088
Abstract
Modern computing students often rely on both natural-language prompting and manual code editing to solve programming tasks. Yet we still lack a clear understanding of how these two modes are combined in practice, and how their usage varies with task complexity and student ability. In this paper, we investigate this through a large-scale study in an introductory programming course, collecting 13,305 interactions from 355 students during a three-day lab activity. Our analysis shows that students primarily use prompting to generate initial solutions, and then often enter short edit-run loops to refine their code following a failed execution. Student reflections confirm that prompting is helpful for structuring solutions, editing is effective for making targeted corrections, while both are useful for learning. We find that manual editing becomes more frequent as task complexity increases, but most edits remain concise, with many affecting a single line of code. Higher-performing students succeed with less reliance on editing and fewer overall interactions. These findings highlight the role of manual editing as a form of last-mile repair, complementing prompting in AI-assisted programming workflows.
ITiCSE'26 paper