The process of learning algorithms and programming is often a challenge for many students in courses for undergraduate in Computer Science and Information Systems. Aiming to increase learning rates, traditional teaching is giving way to new methodologies, known as active methodologies, such as problem-based learning, flipped classroom, and gamification. This paper presents an experience with a methodology that integrates all these active methodologies for teaching introductory programming to freshman students in Computer Science and Information Systems. The results indicate an improvement in learning, as evidenced by a higher number of students passing compared to those taught with traditional methods.