This paper expands a teaching proposal presented at the Innovation and Technology in Computer Science Education Conference, in 2016. The proposal provides an integrated teaching approach for improving students’ performance in a first programming course. The approach is based on four main components: the use of Python as first programming language, project-oriented and problem-based learning, multimedia resources, and assessment rubrics. Material and learning resources for the course development are available on virtual platforms. Our findings suggest that the approach enhanced students’ academic performance, as can be seen in their grades, as well as a decrease in dropout rates.