Teaching software design patterns: An experience using the Jigsaw classroom

  • Lina Garcés USP
  • Brauner R. N. Oliveira UFAL

Abstract


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.

Keywords: design patterns, software engineering education, jigsaw, active learning, experience

References

Deniz Akdur. 2022. Analysis of Software Engineering Skills Gap in the Industry. ACM Trans. Comput. Educ. 23, 1, Article 16 (Dec. 2022), 28 pages. DOI: 10.1145/3567837

V. I. Akpan, U. A. Igwe, I. C. Mpamah, and C. O. Okoro. [n. d.]. Social Constructivism: Implications on Teaching and Learning. [link]. Accessed: 2025-05-01.

LorinW. Anderson and David R. Krathwohl (Eds.). 2001. A Taxonomy for Learning, Teaching, and Assessing: A Revision of Bloom’s Taxonomy of Educational Objectives. Allyn Bacon, Boston, MA. Part of the Pearson Education Group.

E. Aronson. 1978. The Jigsaw Classroom. SAGE Publications. [link]

Elliot Aronson and Shelley Patnoe. 2011. Cooperation in the Classroom: The Jigsaw Method (3 ed.). Pinter & Martin, London.

Luis Berdun, Analia Amandi, and Marcelo Campo. 2011. An intelligent tutor for teaching software design patterns. Computer Applications in Engineering Education 22, 4 (2011), 583 – 592. DOI: 10.1002/cae.20582 Cited by: 5; All Open Access, Green Open Access.

blind author. blind year. blind title. In blind conference (blind location). blind publisher, blind city, 00000. DOI: blinddoi

Grady Booch. 2018. The History of Software Engineering. IEEE Software 35, 5 (2018), 108–114. DOI: 10.1109/MS.2018.3571234

Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, and Michael Stal. 1996. Pattern-Oriented Software Architecture, Volume 1: A System of Patterns. John Wiley & Sons.

Jie-Qi Chen and Yu Huang. 2024. International Journal of STEM Education. International Journal of STEM Education 11 (2024), 36. DOI: 10.1186/s40594-024-00495-2

Deepti Chopra, Gagandeep Kwatra, Bharti Bhandari, Jaspreet K. Sidhu, Jayant Rai, and C.D. Tripathi. 2023. Jigsaw Classroom: Perceptions of Students and Teachers. Medical Science Educator 33, 4 (2023), 853 – 859. DOI: 10.1007/s40670-023-01805-z Cited by: 5; All Open Access, Green Open Access.

Fatemeh Darabi, Zahra Karimian, and Alireza Rohban. 2025. Putting the pieces together: comparing the effect of jigsaw cooperative learning and lecture on public health students’ knowledge, performance, and satisfaction. Interactive Learning Environments 33, 1 (2025), 495 – 512. DOI: 10.1080/10494820.2024.2351157

Océane Cochon Drouet, Vanessa Lentillon-Kaestner, and Nicolas Margas. 2023. Effects of the Jigsaw method on student educational outcomes: systematic review and meta-analyses. Frontiers in Psychology 14 (2023). DOI: 10.3389/fpsyg.2023.1216437

Eric Freeman and Elisabeth Robson. 2004. Head First Design Patterns. O’Reilly Media, Inc.

Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. 1994. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional.

Lina Garcés. 2025. Dataset Teaching software design patterns: An experience using the Jigsaw classroom. XXXIX Simpósio Brasileiro de Engenharia de Software (SBES), Recife, PE, Brazil. DOI: 10.5281/zenodo.16161087 Data set.

Vahid Garousi, Görkem Giray, Eray Tüzün, Cagatay Catal, and Michael Felderer. 2019. Aligning software engineering education with industrial needs: A metaanalysis. Journal of Systems and Software 156 (2019), 65–83. DOI: 10.1016/j.jss.2019.06.044

Çaǧdaş Evren Gerede. 2024. Are We Asking the Right Questions to ChatGPT for Learning Software Design Patterns? UBMK 2024 - Proceedings: 9th International Conference on Computer Science and Engineering (2024), 1092 – 1097. DOI: 10.1109/UBMK63289.2024.10773596 Cited by: 0.

Paul Gestwicki and F. Sheldon Sun. 2008. Teaching design patterns through computer game development. ACMJournal on Educational Resources in Computing (JERIC) 8, 1 (March 2008), 2:1–2:21. DOI: 10.1145/1348713.1348715

Masita Abdul Jalil, Nurul Azarina Abd. Rahman, Noraida Hj. Ali, Shahrul Azman Mohd Noah, Noor Maizura Mohamad Noor, and Fatihah Mohd. 2020. Development of A Learning Model on Software Design Pattern Selection for Novice Developers. ACM International Conference Proceeding Series (2020), 108 – 113. DOI: 10.1145/3383923.3383966 Cited by: 1.

Zoran Jeremic, Jelena Jovanovic, and Dragan Gasevic. 2011. An environment for project-based collaborative learning of software design patterns. International Journal of Engineering Education 27, 1 PART 1 (2011), 41 – 51. [link] Cited by: 15.

Guillermo Jiménez-Díaz, Mercedes Gómez-Albarrán, and Pedro A. González-Calero. 2008. Teaching GoF Design Patterns through Refactoring and Role-Play. International Journal of Engineering Education 24, 4 (2008), 717–728. [link]

Joshua Kerievsky. 2004. Refactoring to Patterns. Pearson Higher Education.

Amruth N. Kumar, Rajendra K. Raj, Sherif G. Aly, Monica D. Anderson, Brett A. Becker, Richard L. Blumenthal, Eric Eaton, Susan L. Epstein, Michael Goldweber, Pankaj Jalote, Douglas Lea, Michael J. Oudshoorn, Marcelo Pias, Susan Reiser, Christian Servin, Rahul Simha, Titus Winters, and Qiao Xiang. 2023. Computer Science Curricula 2023. ACM Press, IEEE Computer Society Press, and AAAI Press, New York, NY, USA. DOI: 10.1145/3664191

Soohyun Nam Liao, William G. Griswold, and Leo Porter. 2018. Classroom experience report on jigsaw learning. In Proceedings of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education (Larnaca, Cyprus) (ITiCSE 2018). Association for Computing Machinery, New York, NY, USA, 302–307. DOI: 10.1145/3197091.3197118

Alan R.L. Loyola Alvarez and Segundo E. Cieza-Mostacero. 2024. Serious Video Game to Improve the Learning of Software Design Patterns. TEM Journal 13, 3 (2024), 2557 – 2567. DOI: 10.18421/TEM133-81 Cited by: 0; All Open Access, Gold Open Access.

Hira Moin, Sadaf Majeed, Tatheer Zahra, Sarim Zafar, Amna Nadeem, and Sidra Majeed. 2024. Assessing the impact of jigsaw technique for cooperative learning in undergraduate medical education: merits, challenges, and forward prospects. BMC Medical Education 24, 1 (2024). DOI: 10.1186/s12909-024-05831-2 Cited by: 2; All Open Access, Gold Open Access, Green Open Access.

G. M. Novak. 2011. Just-in-time teaching. New Directions For Teaching & Learning 2011, 128 (2011), 63–73.

Damla Oguz and Kaya Oguz. 2019. Perspectives on the Gap Between the Software Industry and the Software Engineering Education. IEEE Access 7 (2019), 117527–117543. DOI: 10.1109/ACCESS.2019.2936660

Sofia Ouhbi and Nuno Pombo. 2020. Software Engineering Education: Challenges and Perspectives. In 2020 IEEE Global Engineering Education Conference (EDUCON). 202–209. DOI: 10.1109/EDUCON45650.2020.9125353

Jose Antonio Pow-Sang. 2015. Replacing a traditional lecture class with a jigsaw class to teach analysis class diagrams. Proceedings of 2015 International Conference on Interactive Collaborative Learning, ICL 2015 (2015), 389 – 392. DOI: 10.1109/ICL.2015.7318059 Cited by: 8.

José Antonio Pow-Sang. 2017. Experiences using the Jigsaw learning technique to teach IFPUG function points. EDUNINE 2017 - IEEE World Engineering Education Conference: Engineering Education - Balancing Generalist and Specialist Formation in Technological Carriers: A Current Challenge, Proceedings (2017), 76 – 79. DOI: 10.1109/EDUNINE.2017.7918186 Cited by: 3.

José Antonio Pow-Sang Portillo and Pedro G. Campos. 2009. The Jigsaw Technique: Experiences Teaching Analysis Class Diagrams. In 2009 Mexican International Conference on Computer Science. 289–293. DOI: 10.1109/ENC.2009.31

Yilong Pu, Libing Zhang, and Heng Luo. 2024. Using Jigsaw Pedagogy to Promote Learning in Unplugged Information Technology Class: An Experimental Study. Proceedings - 2024 6th International Conference on Computer Science and Technologies in Education, CSTE 2024 (2024), 347 – 351. DOI: 10.1109/CSTE62025.2024.00072 Cited by: 0.

Alexander Shvets. 2021. Catálogo dos Padrões de Projeto. [link] Accessed: 2025-05-03.

Helena Silva, José Lopes, Eva Morais, and Caroline Dominguez. 2023. Fostering Critical and Creative Thinking through the Cooperative Learning Jigsaw and Group Investigation. International Journal of Instruction 16, 3 (2023), 261 – 282. DOI: 10.29333/iji.2023.16315a Cited by: 4; All Open Access, Gold Open Access.

Sociedade Brasileira de Computação. 2017. Referenciais de Formação para os Cursos de Graduação em Computação 2017. Sociedade Brasileira de Computação, Porto Alegre, RS, Brasil. [link]

Ye Tao, Guozhu Liu, Jürgen Mottok, Rudi Hackenberg, and Georg Hagel. 2015. Just-in-Time-Teaching experience in a Software Design Pattern course. In 2015 IEEE Global Engineering Education Conference (EDUCON). 915–919. DOI: 10.1109/EDUCON.2015.7096082

Marco Tulio Valente. 2020. Engenharia de Software Moderna: Princípios e Práticas para Desenvolvimento de Software com Produtividade. Editora Independente. [link] Accessed: 2025-05-03.

Eva Vives, Céline Poletti, Anaïs Robert, Fabrizio Butera, and Pascal Huguet. 2024. Learning With Jigsaw: A Systematic Review Gathering All the Pieces of the Puzzle More Than 40 Years Later. Review of Educational Research (2024). DOI: 10.3102/00346543241230064 Cited by: 3; All Open Access, Green Open Access.

Chad Williams and Stan Kurkovsky. 2017. Raspberry Pi creativity: A studentdriven approach to teaching software design patterns. Proceedings - Frontiers in Education Conference, FIE 2017-October (2017), 1 – 9. DOI: 10.1109/FIE.2017.8190735 Cited by: 5.

Zehui Zhan, Tingting Li, and Yaner Ye. 2024. Effect of jigsaw-integrated taskdriven learning on students’ motivation, computational thinking, collaborative skills, and programming performance in a high-school programming course. Computer Applications in Engineering Education 32, 6 (2024). DOI: 10.1002/cae.22793 Cited by: 1.
Published
2025-09-22
GARCÉS, Lina; OLIVEIRA, Brauner R. N.. Teaching software design patterns: An experience using the Jigsaw classroom. In: BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING (SBES), 39. , 2025, Recife/PE. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2025 . p. 492-502. ISSN 2833-0633. DOI: https://doi.org/10.5753/sbes.2025.10759.