Novice programmers often get stuck while programming and debugging. They would turn to AI tools like ChatGPT for help when instructors or teaching assistants (TA) are unavailable. However, conventional AI tools give away answers too easily, which undermines the learning process. This project aims to solve the lack of guided support for novice programmers by developing a learning-centered intelligent tutoring system. This system mimics human TAs by asking guiding questions to build problem solving skills and deeper understanding. Integrated into an online IDE, this AI tutor leverages error categories to deliver context-sensitive feedback in real time to keep students engaged. To ensure accessibility and control, the system uses smaller, locally deployable models rather than relying solely on proprietary services. By avoiding overreliance on AI-generated solutions, the system aims to sustain engagement, reduce frustration, and foster independent learning.