Best practices and quality criteria in the coding development process in higher education programming courses

Authors

  • Yedid Erandini Niño Membrillo Maestra en Ciencias de la Computación y profesora a tiempo completo responsable de la Coordinación de Informática Administrativa del Centro Universitario UAEM Texcoco de la Universidad Autónoma del Estado de México
  • María del Rocío Morales Salgado Doctora en Tecnologías de Información y Análisis de Decisiones y directora del posgrado en Tecnologías de Información y Ciencia de Datos de la Universidad Popular Autónoma del Estado de Puebla (México)
  • Sodel Vázquez Reyes Doctor en Ciencias Computacionales y profesor investigador de la Universidad Autónoma de Zacatecas (España)
  • Bárbara Emma Sánchez Rinza Doctora en Física y profesora investigadora de la Facultad de Ciencias de la Computación de la Benemérita Universidad Autónoma de Puebla (México)

DOI:

https://doi.org/10.51302/tce.2020.489

Keywords:

programming practices, quality criteria (QC), life cycle (LC), programs development, higher education

Abstract

The interest of this study lies in contributing to investigate the challenges that programming students face, who invest time developing poor programs. For this reason, this article offers a perspective of the programming situation in higher education in Mexico based on interviews conducted to teachers who teach programming classes in different colleges in Mexico, as well as studies made in higher education institutes (HEI) regarding programming subjects. Likewise, an investigation about software engineering practices and quality criteria (QC) used in the programming courses in the university environment, considering teachers from public universities, is presented. The objective of this study is to stablish a set of good practices, both administrative and engineering, and QC in the development process, in the life cycle (LC), to improve programming courses and encourage the students to adopt good practices in the early stages of their professional training. The above will contribute to improve their development process and will help create better programs with optimal results.

Downloads

Download data is not yet available.

References

Boehm, B. W., Brown, J. R. y Lipow, M. (1976). Quantitative evaluation of software quality. ICSE '76 Proceedings of the 2nd International Conference on Software Engineering, 592-605.

Bosse, Y. y Gerosa, M. A. (2016). Why is programming so difficult to learn? Patterns of difficulties related to programming learning. ACM SIGSOFT Software Engineering Notes, 41(6), 1-6. doi: https://doi.org/10.1145/3011286.3011301.

Bosse, Y. y Gerosa, M. A. (2017). Difficulties of programming learning from the point of view of students and instructors. IEEE Latin America Transactions, 5(11), 2.191-2.199. doi: https://doi.org/10.1109/TLA.2017.8070426.

BS ISO/IEC. (2011). Systems and software engineering-Systems and software quality requirements and evaluation (SQUARE)-System and software quality models. BSI Standars Publication. Recuperado de https://pdfs.semanticscholar.org/57a5/b99eceff9da205e244337c9f4678b5b23d25.pdf (consultado el 9 de diciembre de 2016).

Dave, Z. (2004). Software Quality Requirements and Evaluation, the ISO 25000 Series. Recuperado de http://www.psmsc.com/downloads/twgfeb04/04zubrowiso25000swqualitymeasurement.pdf (consultado el 9 de diciembre de 2019).

Dromey, R. G. (1995). A model for software product quality. IEEE Transactions on Software Engineering, 21(2), 146-162. doi: https://doi.org/10.1109/32.345830.

Figueiredo, J., Gomes, N. y García, F. J. (2016). ne-Course for learning programming. Proceedings of the 4th International Conference on Technological Ecosystems for Enhancing Multiculturality, 549-553. doi: https://doi.org/10.1145/3012430.3012572.

Fuentes, J. y Medina, M. (2017). Dificultades de aprender a programar. Educación en Ingeniería, 12(24), 76-82. doi: https://doi.org/10.26507/rei.v12n24.728.

Insuasti, J. (2016). Problemas de enseñanza y aprendizaje de los fundamentos de programación. Educación y Desarrollo Social, 10(2), 234-246.

ISO/IEC. (2016). Systems and software engineering-Systems and software quality requirements and evaluation (SQUARE)-Measurement of system and software product quality. ISO/IEC. Recuperado de https://www.sis.se/api/document/preview/920620/ (consultado el 6 de diciembre de 2019).

ISO/IEC JTC1. (2000). Information technology-Software product quality. Part 1. Quality model. ISO/IEC. Recuperado de https://www.cse.unsw.edu.au/~cs3710/PMmaterials/Resources/9126-1%20Standard.pdf (consultado el 6 de diciembre de 2019).

Krusche, S., Berisha, M. y Bruegee, B. (2016). Teaching code review management using branch based workflows. IEEE/ACM. 38th IEEE International Conference on Software Engineering Companion, 384-393. doi: https://doi.org/10.1145/2889160.2889191.

López, L. (2011). Metodologías para la enseñanza del aprendizaje de la programación estructurada y orientada a objetos. Sistemas, Cibernética e Informática, 8(1), 52-60.

Machine, I. (2018). Intelligent tutor for programming system using multiple intelligences. IEEE Latin America Transactions, 16(2), 634-638. doi: https://doi.org/10.1109/TLA.2018.8327423.

Macías, H. R., Zamora, V. M., Osorio, S. y Jiménez, M. (2016). The development skills in software design using a virtual learning environment. Tecnología Educativa. Revista CONAIC, 3(1), 22-28.

McCall, J. A., Richards, P. K. y Walters, G. F. (1977). Factors in Software Quality. RADC TR-77-369. Rome: Rome Air Development Center. Recuperado de https://pdfs.semanticscholar.org/82a9/18fd83f1c0addb890ef313ff892807a10a11.pdf (consultado el 7 de diciembre de 2019).

Michael, N. y Martínez, P. (2013). Mejora del aprendizaje de Programación Orientada a Objetos. Revista Iberoamericana para la Investigación y el Desarrollo Educativo, 10.

Nel, G., Nel, L. y Cronje, J. (2015). Attributes contributing to students´ use of quality software development practices. The African Journal of Information and Communications, 15(1), 38-50.

Olier, A. J., Gómez, A. A. y Caro, M. F. (2017). Design and implementation of a teaching tool for introduction to object oriented programming. IEEE Latin America Transactions, 15(1), 97-102. doi: https://doi.org/10.1109/TLA.2017.7827913.

Olivares, J. C., Jiménez, J. A., Ortiz, O. y Rodríguez, N. E. (2015). Desarrollo de una aplicación para fortalecer el aprendizaje de los fundamentos de programación. Revista de Ciencia e Ingeniería del Instituto Superior de Coatzacoalcos, 2(2), 1-4.

Ozmen, A. y Altun, A. (2014). Undergraduate students experiences in programming: difficulties and obstacles. Turkish Online Journal of Qualitative Inquiry, 5(4), 9-27.

Qian, Y. y Lehman, J. (2017). Students´ misconceptions and other difficulties in introductory programming: a literature review. ACM Transations on Computing Education, 18(1), 1-24. doi: https://doi.org/10.1145/3077618.

Romero, M., Lepage, A. y Lille, B. (2017). Computational thinking development through creative programming in higher education. International Journal of Educational Technology in Higher Education, 14(1), 1-15.

Rong, G., Zhang, H., Qi, S. y Shao, D. (2016). Can software engineering students program defect-free? An educational approach. IEEE/ ACM. 38th IEEE International Conference on Software Engineering Companion, 364-373. doi: https://doi.org/10.1145/2889160.2889189.

Sampieri, R., Fernández, C. y Baptista, B. (2006). Metodología de la investigación. México: McGraw-Hill.

Sánchez, J., Urías, M. y Gutiérrez, B. (2015). Análisis de los problemas de aprendizaje de la programación orientada a objetos. Ra Ximhai, 11(4), 289-304.

Suárez, L. F. y Garzás, P. J. (2014). I Jornada sobre calidad del producto software e ISO 25000. Santiago de Compostela, España: Xunta de Galicia.

UAM. (2013). Informe de actividades 2013. Recuperado de http://www.cua.uam.mx/pdf/Informe_anual_2013_Unidad_Cuajimalpa_Rector.pdf (consultado el 19 de diciembre de 2019).

Published

2020-09-02

How to Cite

Niño Membrillo, Y. E., Morales Salgado, M. del R., Vázquez Reyes, S., & Sánchez Rinza, B. E. (2020). Best practices and quality criteria in the coding development process in higher education programming courses. Technology, Science and Education Journal, (17), 97–126. https://doi.org/10.51302/tce.2020.489