An experiment on how graduating students represent software designs
As a practice, software design seeks to contribute to developing quality software. For graduating students, the design is difficult to understand, and building a good design seems to require a certain level of cognitive development. In this study, we report an experiment to know how students habitually represent detailed design (what artifacts and ways of design representation they use) and if there is an effect on software quality when they deliver the design representation. We found that students design on a basic level, they do not achieve complete designs that combine several artifacts to model dynamic and static aspects. Also, the delivery of design representation did not improve software quality.
Carrington, D. (1998). Teaching software design and testing. In FIE’98. 28th Annual Frontiers in Education Conference. Moving from Teacher-Centered to Learner-Centered Education. Conference Proceedings (Cat. No. 98CH36214), volume 2, pages 547–550. IEEE.
Carrington, D. and K Kim, S. (2003). Teaching software design with open source software. In 33rd Annual Frontiers in Education.
Chemuturi, M. (2018). Software Design: A Comprehensive Guide to Software Development Projects. CRC Press/Taylor & Francis Group.
Chen, T.-Y., Cooper, S., McCartney, R., and Schwartzman, L. (2005). The (relative) importance of software design criteria. SIGCSE Bull., 37(3):34–38.
Eckerdal, A., McCartney, R., Moström, J. E., Ratcliffe, M., and Zander, C. (2006a). Can graduating students design software systems? In SIGCSE Bull., page 403–407. ACM, Association for Computing Machinery.
Eckerdal, A., McCartney, R., Moström, J. E., Ratcliffe, M., and Zander, C. (2006b). Categorizing student software designs: Methods, results, and implications. Computer science education, 16(3):197–209.
Grazioli, F., Vallespir, D., Pérez, L., and Moreno, S. (2014). The impact of the psp on software quality: Eliminating the learning effect threat through a controlled experiment. Adv. Soft. Eng., 2014.
Hu, C. (2013). The nature of software design and its teaching: an exposition. ACM Inroads, 4(2).
Hu, C. (2016). Can students design software? the answer is more complex than you think. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education, Computer Science Education 2016, page 199–204, New York, NY, USA. Association for Computing Machinery.
Joint Task Force on Computing Curricula - ACM and IEEE Computer Society (2013). Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science. Association for Computing Machinery, New York, NY, USA.
Kramer, J. (2007). Is abstraction the key to computing? Commun. ACM, 50(4):36–42.
Leung, F. and Bolloju, N. (2005). Analyzing the quality of domain models developed by novice systems analysts. In 38th Hawaii International Conference on System Sciences.
Linder, S. P., Abbott, D., and Fromberger, M. J. (2006). An instructional scaffolding approach to teaching software design. Journal of Computing Sciences in Colleges, 21.
Loftus, C., Thomas, L., and Zander, C. (2011). Can graduating students design: revisited. In Proceedings of the 42nd ACM technical symposium on Computer science education. ACM.
Moreno, S., Casella, V., Solari, M., and Vallespir, D. (2020). La representación del diseño detallado utilizando plantillas y sus efectos en la calidad del software. In Proceedings XXIII Ibero-American Conference on Software Engineering (CIBSE 2020).
Moreno, S. and Vallespir, D. (2018). ¿los estudiantes de pregrado son capaces de diseñar software? estudio de la relación entre el tiempo de codificación y el tiempo de diseño en el desarrollo de software. In Conferencia Iberoamericana de Ingeniería de Software 2018.
Moreno, S., Vallespir, D., Solari, M., and Casella, V. (2021). Representation of software design using templates: impact on software quality and development effort. Journal of Software Engineering Research and Development, 9(1):1 – 15.
Siau, K. and Tan, X. (2005). Improving the quality of conceptual modeling using cognitive mapping techniques. Data & Knowledge Engineering, 55(3). Quality in conceptual modeling.
Sien, V. Y. (2011). An investigation of difficulties experienced by students developing unified modelling language (uml) class and sequence diagrams. Computer Science Education, 21(4):317–342.
Tenenberg, J. (2005). Students designing software: a multi-national, multi-institutional study. Informatics in Education, 4.
Thomas, L., Eckerdal, A., McCartney, R., Moström, J. E., Sanders, K., and Zander, C. (2014). Graduating students’ designs: Through a phenomenographic lens. In Proceedings of the Tenth Annual Conference on International Computing Education Research, page 91–98. Association for Computing Machinery.
Thomas, L., Zander, C., Loftus, C., and Eckerdal, A. (2017). Student software designs at the undergraduate midpoint. In Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education, ITiCSE ’17, page 34–39, New York, NY, USA. Association for Computing Machinery.