Supervised Fine-Tuning LLMs to Behave as Pedagogical Agents in Programming Education