Design and Deployment of a Course-Aware AI Tutor in an Introductory Programming Course
For educators and students in introductory programming courses, this work addresses the challenge of LLM over-reliance by offering a course-aligned tutor that promotes engagement without providing full solutions.
The paper presents a course-specific AI tutor for an introductory programming course that provides retrieval-augmented, course-aligned guidance without generating complete solutions. Students used it primarily for conceptual understanding and debugging, perceiving it as supportive rather than enabling solution copying.
Large Language Models (LLMs) have become part of how students solve programming tasks, offering immediate explanations and even full solutions. Previous work has highlighted that novice programmers often heavily rely on LLMs, thereby neglecting their own problem-solving skills. To address this challenge, we designed a course-specific online Python tutor that provides retrieval-augmented, course-aligned guidance without generating complete solutions. The tutor integrates a web-based programming environment with a conversational agent that offers hints, Socratic questions, and explanations grounded in course materials. Students used the system during self-study to work on homework assignments, and the tutor also supported questions about the broader course material. We collected structured student feedback and analyzed interaction logs to investigate how they engaged with the tutor's guidance. We observed that students used the tutor primarily for conceptual understanding, implementation guidance, and debugging, and perceived it as a course-aligned, context-aware learning support that encourages engagement rather than direct solution copying.