Increasing student commitment in introductory programming learning

High failure rates are common in many programming courses worldwide. Many causes for the learning problems have already been identified and different solutions have been proposed. However, the situation remains mostly unchanged. So, new pedagogical approaches are necessary, looking to create learning contexts that motivate students, increase their involvement with course activities, and maximize their learning possibilities. In this paper we present the changes made in the structure of a non-majors introductory programming course, and discuss the results obtained. We also present the results obtained in the first implementation of the new course structure.