Learning to Code with Context: A Study-Based Approach
Uwe M. Borghoff, Mark Minas, Jannis Schopp
TL;DR
The paper investigates how generative AI tools are adopted in a university programming project and how grounding AI in project context via a repository-aware LLM with Retrieval-Augmented Generation improves reliability. It reports an extensive user study showing text-focused benefits but weaknesses in code generation and design artifacts, and presents a case study of a locally deployed, repository-grounded assistant. The findings suggest context grounding reduces hallucinations and improves integration into student workflows, informing curricula and the design of future AI-assisted educational tools. The work also outlines a path toward a tutoring-oriented AI that supports students’ reasoning while preserving opportunities for independent problem solving.
Abstract
The rapid emergence of generative AI tools is transforming the way software is developed. Consequently, software engineering education must adapt to ensure that students not only learn traditional development methods but also understand how to meaningfully and responsibly use these new technologies. In particular, project-based courses offer an effective environment to explore and evaluate the integration of AI assistance into real-world development practices. This paper presents our approach and a user study conducted within a university programming project in which students collaboratively developed computer games. The study investigates how participants used generative AI tools throughout different phases of the software development process, identifies the types of tasks where such tools were most effective, and analyzes the challenges students encountered. Building on these insights, we further examine a repository-aware, locally deployed large language model (LLM) assistant designed to provide project-contextualized support. The system employs Retrieval-Augmented Generation (RAG) to ground responses in relevant documentation and source code, enabling qualitative analysis of model behavior, parameter sensitivity, and common failure modes. The findings deepen our understanding of context-aware AI support in educational software projects and inform future integration of AI-based assistance into software engineering curricula.
