First-year programming courses in departments of computer science contain a mixture of novice and experienced students. It is therefore difficult to optimize the organization of classes to meet all student needs. Students also have varying degrees of motivation to participate in lectures and differences in comprehension levels. Since 2013, we have been implementing self-paced learning plans in programming courses through team-teaching. In this study, downloadable PowerPoint slides and video-streaming resources were provided to the students as preparatory materials for the lecture in order to effectively support their various learning styles. This study describes the implementation of our course and provide insights from the survey on lecture preparation and submitting their programming exercises.