There is a wide variety of methodological proposals for teaching programming. In general, the purpose of each of them is to improve students' academic results. However, at the higher level, there is not one that integrates several of them in a methodology that includes some of the best practices that have had successful results in the academic and professional environment. This study aims to apply a methodology called CAAIPP that integrates the inverted classroom model, pair programming and an online support course, to measure its effect on the learning of students in the Software Development and Management Engineering program. The methodological approach used was mixed and the design was experimental. The results show that the group that received the treatment obtained the best academic performance; likewise, the students expressed that the methodology was beneficial for understanding concepts, preparing their internships, and programming their final project.