In the area of Information and Communication Technologies, in addition to the problem of engagement, students often have difficulties in learning subjects related to modeling and programming. The reasons for these difficulties are well known and described in the literature, pointing to difficulties in abstraction and logic thinking. Knowing that the value of flexible and personalized learning, teachers are changing the way they teach, using different active learning methodologies, such as flipped classroom, project-based learning, and peer instruction. This paper describes an experiment conducted to improve the learning experiences of the students enrolled in the Computer Science bachelor's degree course, attending three curricular units: Information Systems Development, Data Structures, and Web Languages and Technologies. The approach followed by the teachers used project-based learning as an active learning methodology. This methodology allows us to achieve four main objectives: (i) improve student engagement; (ii) improve learning outcomes achievement (iii) increase the course success rate and (iv) allow students to experience the need for the software development lifecycle, feeling that software engineering is not a block-based process but depending on previous activity, often leads to the need to go back in the process. The results obtained with the use of the active methodology were well accepted by the students and allowed both teachers and students to reach the objectives set.