Coding Twice: Integrating Independent and AI-Assisted Programming Assignments in CS Education
AI coding assistants such as Cursor and GitHub Copilot are increasingly embedded in professional software development workflows. As these tools become more common, computer science education faces the challenge of preparing students both to write code independently and to collaborate effectively with AI-assisted tools. This dual expectation is difficult to address through traditional assignment design.
We present a replicable dual-mode assignment pattern called Coding Twice, in which students first complete a required self-coded solution and then repeat the same task with the support of an AI coding assistant. Early implementations of this pattern suggest that while AI can accelerate routine programming tasks, students report higher confidence in their independently written solutions and perceive stronger learning gains from the self-coded phase. At the same time, most anticipate using AI tools more often in future coursework and view this dual approach as necessary preparation for current industry practice.
By emphasizing independent work while also familiarizing students with AI tools, Coding Twice provides a practical balance between independent coding ability and AI-assisted workflows. It also offers a replicable, accessible pathway for integration into a wide range of computing courses.