Computer programming is a skill of increasing importance in scientific and technological fields. However, in introductory computer science (CS1) courses in higher education, approximately one in every three students fails. A common reason is that students are overwhelmed by an accelerated and inflexible pace of learning that jeopardizes success. Accordingly, in the computer science education literature it has been suggested that the pedagogical philosophy of ‘mastery learning,’ which supports students progressing at their own pace, can improve academic outcomes of CS1 courses. Nevertheless, few extended mastery learning implementations in CS1 have been documented in the literature, and there is a lack of guidance and best practices to foster its adoption. In this paper, we present a four-year action research study in which a modular mastery-based CS1 course was designed, evaluated and improved in successive iterations with cohorts of engineering freshmen in a Latin American research university (N = 959). In the first year of the intervention, only 19.3% of students passed the course in their first semester attempting it. In successive iterations, the instructional design, teaching and learning activities, course content, and course management were iteratively improved such that by the fourth year of offering 77.1% of students passed the course in their first semester. Over this period, course attrition was reduced from 25.0% to 3.8% of the cohort, and students’ mean time spent in the course decreased from 23.2 weeks (SD = 7.38) to 14.9 (SD = 3.64). Results indicate that modularization for mastery learning is a viable approach for improving academic results in a CS1 course. Practical considerations towards successful implementation of this approach are presented and discussed.
Nota bibliográficaPublisher Copyright:
© 2023, The Author(s), under exclusive licence to Springer Science+Business Media, LLC, part of Springer Nature.