Analysis of the Influence of Project-Based Learning on the Code Quality of Digital Games

  • Pedro H. Belo PUC Minas
  • Laerte Xavier PUC Minas

Abstract


Video game development requires skills such as physical simulation and object animation. Teaching these skills requires methodological approaches that integrate theory and practice, where Project-Based Learning (PBL) stands out. However, there is a gap regarding the impact of PBL on the quality of digital game code, particularly in relation to “game smells”, which indicate issues that affect maintainability and the gaming experience. This study evaluates 201 student-developed games over six years, finding an increase in “game smells” as the courses progress, a high incidence of less critical “game smells,” and a significant trade-off between game size and incidence of “game smells”.

References

Agrahari, V. and Chimalakonda, S. (2022). A catalogue of game-specific anti-patterns. In Proceedings of the 15th Innovations in Software Engineering Conference, ISEC ’22, New York, NY, USA. Association for Computing Machinery.

Almogahed, A., Omar, M., Zakaria, N. H., Muhammad, G., and AlQahtani, S. A. (2023). Revisiting scenarios of using refactoring techniques to improve software systems quality. IEEE Access, 11:28800–28819.

Beck, F. (2013). Analysis of multi-dimensional code couplings. In 2013 IEEE International Conference on Software Maintenance, pages 560–565. IEEE.

Borrelli, A., Nardone, V., Di Lucca, G. A., Canfora, G., and Di Penta, M. (2020). Detecting video game-specific bad smells in unity projects. In 2020 IEEE/ACM 17th International Conference on Mining Software Repositories (MSR), pages 198–208.

Bosco, M., Cavoto, P., Ungolo, A., Muse, B. A., Khomh, F., Nardone, V., and Di Penta, M. (2023). Unitylint: A bad smell detector for unity. In 2023 IEEE/ACM 31st International Conference on Program Comprehension (ICPC), pages 186–190.

Chueca, J., Verón, J., Font, J., Pérez, F., and Cetina, C. (2024). The consolidation of game software engineering: A systematic literature review of software engineering for industry-scale computer games. Information and Software Technology, 165:107330.

Fowler, M. (2018). Refactoring: Improving the Design of Existing Code. Addison-Wesley, 2nd edition.

Guo, P., Saab, N., Post, L. S., and Admiraal, W. (2020). A review of project-based learning in higher education: Student outcomes and measures. International Journal of Educational Research, 102:101586.

Gupta, C. (2022). The impact and measurement of today’s learning technologies in teaching software engineering course using design-based learning and project-based learning. IEEE Transactions on Education, 65(4):703–712.

Kirk, D., Crow, T., Luxton-Reilly, A., and Tempero, E. (2020). On assuring learning about code quality. In Proceedings of the Twenty-Second Australasian Computing Education Conference, ACE’20, page 86–94, New York, NY, USA. Association for Computing Machinery.

Lu, Y., Mao, X., Wang, T., Yin, G., and Li, Z. (2019). Improving students’ programming quality with the continuous inspection process: a social coding perspective. Frontiers of Computer Science, 14.

Morais, P., Ferreira, M. J., and Veloso, B. (2021). Improving student engagement with project-based learning: A case study in software engineering. IEEE Revista Iberoamericana de Tecnologias del Aprendizaje, 16(1):21–28.

Nardone, V., Muse, B., Abidi, M., Khomh, F., and Di Penta, M. (2023). Video game bad smells: What they are and how developers perceive them. ACM Trans. Softw. Eng. Methodol., 32(4).

Nelson, M. A. V., Carneiro, R. V., and Costa, M. R. (2017). Interdisciplinary software projects as an active methodology to practice for the profession. In 2017 IEEE/ACM 1st International Workshop on Software Engineering Curricula for Millennials (SECM), pages 28–32.

Palomba, F., Bavota, G., Di Penta, M., Oliveto, R., and De Lucia, A. (2014). Do they really smell bad? a study on developers’ perception of bad code smells. In 2014 IEEE International Conference on Software Maintenance and Evolution, pages 101–110.

Pérez, B. and Rubio, A. L. (2020). A project-based learning approach for enhancing learning skills and motivation in software engineering. In Proceedings of the 51st ACM Technical Symposium on Computer Science Education, SIGCSE ’20, page 309–315, New York, NY, USA. Association for Computing Machinery.

PUC MINAS (2024). Grade curso jogos digitais. [link]. Acesso em 20 de maio de 2024.

SEBRAE (2024). Tendências para a indústria de games em 2024. [link]. Acesso em 20 de março de 2024.

Sehgal, R., Mehrotra, D., Nagpal, R., and Sharma, R. (2022). Green software: Refactoring approach. Journal of King Saud University - Computer and Information Sciences, 34(7):4635–4643.

Sobrinho, E. V. d. P., De Lucia, A., and Maia, M. d. A. (2021). A systematic literature review on bad smells–5 w’s: Which, when, what, who, where. IEEE Transactions on Software Engineering, 47(1):17–66.

Souza, M., Moreira, R., and Figueiredo, E. (2019). Students perception on the use of project-based learning in software engineering education. In Proceedings of the XXXIII Brazilian Symposium on Software Engineering, SBES ’19, page 537–546, New York, NY, USA. Association for Computing Machinery.

Tonhão, S., Medeiros, A., and Prates, J. (2021). Uma abordagem prática apoiada pela aprendizagem baseada em projetos e gamificação para o ensino de engenharia de software. In Anais do Simpósio Brasileiro de Educação em Computação, pages 143–151, Porto Alegre, RS, Brasil. SBC.
Published
2024-09-30
BELO, Pedro H.; XAVIER, Laerte. Analysis of the Influence of Project-Based Learning on the Code Quality of Digital Games. In: WORKSHOP ON SOFTWARE VISUALIZATION, EVOLUTION AND MAINTENANCE (VEM), 12. , 2024, Curitiba/PR. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2024 . p. 79-90. DOI: https://doi.org/10.5753/vem.2024.3908.