Introductory programming courses are sometimes too ambitious for novice programming students. Since a lot of university level programming courses make use of undergraduate teaching assistants, we decided to train them with evidence-based instructional strategies so that students' learning can benefit from that.
Over the course of five years, we iterated on the integration of instructional strategies through the training of the undergraduate teaching assistants of a CS1 course.
Based on an analysis of the course, subgoal learning was selected as an evidence-based instructional strategy to promote learning transfer and reduce cognitive load for students.
This paper details the methodology used to integrate subgoal learning in our third iteration. We discuss how insights from previous iterations instructed our design choices, challenges to change an established CS1 course and how we selected the resources and where changes were made in the course to integrate subgoal learning.