Research shows that effective personalized feedback helps students feel more engaged and persist in computer science. Furthermore, having access to help as soon as a student is confused can help both student engagement and learning. Artificial Intelligence (AI) and Large Language Models (LLMs) show promise toward providing customized help in a way that is accessible to students in a timely fashion. However, more research is needed about how to foster effective use of these new technologies in educational settings. This project investigates how LLM-based technology can help build effective pedagogical tools within the context of college programming classes. This project explores novel approaches for using AI and LLLMs in a pedagogical setting to: (1) provide customized help to students that is tailored to the class they are taking; (2) support instructors in material preparation, monitoring student engagement, and training teaching assistants; (3) augment existing pedagogical approaches, such as peer instruction; and (4) facilitate the education of AI-assisted programming. Towards these goals, the research team will create a Smart Learning Hub that interfaces with students, instructors, and teaching assistants in an integrated coordinated way, within the context of programming courses. The research team plans to deploy this Smart Learning Hub in real classroom settings and measure its pedagogical impacts. The research team plans to share the products of this project in an