Teaching software design patterns: An experience using the Jigsaw classroom - Garcés, Lina; Oliveira, Brauner R. N. (Anais do Simpósio Brasileiro de Engenharia de Software (SBES), 2025)
Software design patterns have been one of the most important topics taught in computer science courses. However, several challenges remain for teaching design patterns in the classroom, such as misconceptions about their utility and students’ lack of motivation for learning them. The Jigsaw classroom is a teaching method based on cooperative learning, where students, as principal actors, collaborate to construct their knowledge about a subject. Jigsaw has demonstrated improvements in students’ cognitive, affective, and psychosocial skills; however this instructional method has not been properly explored in software engineering teaching to provide evidence of its benefits and drawbacks for education in this area. This study presents an experience on using Jigsaw classroom for teaching software design patterns in an undergraduate course. The preliminary results confirm the benefits and some application challenges the Jigsaw method presents in other areas. Lessons learned from this experience are shared with educators interested in applying the Jigsaw method in software engineering-related courses.