Development of technical skills in software engineering applying reverse engineering.

Main Article Content

Martín Emilio Monroy Ríos https://orcid.org/0000-0003-4135-3251
Gabriel Elías Chanchí Golondrino
Manuel Alejandro Ospina Alarcón https://orcid.org/0000-0003-4510-0753

Keywords

Class activities, Didactic strategy, Reverse engineering, Skills, Software engineering

Abstract

Today’s world circumstances demand new professional training strategies that improve teaching-learning practices, taking into account the characteristics of the new generation. The aim of this work is to propose a didactic strategy for software engineering courses, based on reverse engineering and problembased learning (PBL). With the participation of 86 students and 3 teachers, we apply the action research methodology using participant observation, interviews, and student work repositories. The didactic strategy is structured in a set of principles, guidelines, class activities, and recommendations. The results of the study allowed us to conclude that this didactic strategy helped to stimulate the student’s motivation and contributed to the achievement of the learning outcomes because they developed technical, cognitive, and behavioral skills.

Abstract 912 | PDF (Spanish) Downloads 1070

References

Ali, M. R. (2005). Why Teach Reverse Engineering? ACM SIGSOFT Software Engineering Notes, 30(4), 1–4.

Andrade, H. G. (2000). Using rubrics to promote thinking and learning. Educational Leadership, 57(5), 13–18.

Barkin, J. S. (2003). Realist constructivism. International Studies Review, 5(3), 325- 342.

Berridge, K. C. (2018). Evolving concepts of emotion and motivation. Frontiers in Psychology, 9, 1647.

Chikofsky, E. J., & Cross, J. H. (1990). Reverse engineering and design recovery: A taxonomy. IEEE Software, 7(1), 13–17.

Denscombe, M. (2014). The good research guide for small-sacle socail research projects. In McGraw-Hill Education (Ed.), Biddles Ltd, Guildford and King’s Lynn, Great …. McGraw-Hill Education.

Díaz-Barriga, A. (2014). Construcción de programas de estudio en la perspectiva del enfoque de desarrollo de competencias. Perfiles Educativos, XXXVI(143), 142–162

Frand, J. L. (2000). The Information-Age Mindset: Changes in Students and Implications for Higher Education. EDUCAUSE Review, 35(5), 15–24.

ICFES, Informe nacional Saber Pro 2016- 2019 (2019). Instituto Colombiano para el Fomento de la Educación Superior, https:// www.icfes.gov.co/resultados-saber-pro

IEEE. (2014). Software Engineering Competency Model. IEEE Computer Society

IEEE. (2016). Guide to the Software Engineering Body of Knowledge Version 3.0 (SWEBOK Guide V3.0). IEEE Computer Society.

Klimek, I., Keltika, M., & Jakab, F. (2011). Reverse engineering as an education tool in computer science. In IEEE (Ed.), Emerging eLearning Technologies and Applications (ICETA), 9th International Conference on (pp. 123–126). IEEE.

Kostiainen, E., Ukskoski, T., Ruohotie-Lyhty, M., Kauppinen, M., Kainulainen, J., & Mäkinen, T. (2018). Meaningful learning in teacher education. Teaching and Teacher Education, 71, 66–77. https://doi. org/10.1016/j.tate.2017.12.009

Luna, G., Jiménez, E., García, L., & Reyes, L. (2010). The importance of the research programs of reverse engineering in engineering. International Conference on Engineering Education ICEE, 1–8.

Monroy, M., Arciniegas, J. L., & Rodríguez, J. C. (2016). Modelo Ontológico para Contextos de uso de Herramientas de Ingeniería Inversa. Información Tecnológica, 27(4), 165–174.

Monroy, M., Arciniegas, J. L., & Rodríguez, J. C. (2017). Characterization of the contexts of use of reverse engineering. Información Tecnológica, 28(4), 75–84.

Monroy, M., Rodríguez, J. C., & Puello, P. (2019). Reverse engineering as a teaching tool : A case study in the learning of object-oriented programming. 17th LACCEI International Multi-Conference for Engineering, Education, and Technology: “Industry, Innovation, And Infrastructure for Sustainable Cities and Communities,” 1–5. https://doi.org/http://dx.doi.org/10.18687/ LACCEI2018.1.1.65

Monroy, M., Rodríguez, J. R., & Puello, P. (2018). A Methodological Approach for Software Architecture Recovery. Indian Journal of Science and Technology, 11(21), 1–8. https://doi.org/10.17485/ijst/2018/ v11i21/124487

Morales Bueno, P. (2018). Aprendizaje basado en problemas ( ABP ) y habilidades de pensamiento crítico , ¿ una relación vinculante ? Problem- ‐ based learning ( PBL ) and critical thinking skills - ‐ a binding relationship ? Revista Electrónica Interuniversitaria de Formación Del Profesorado, 21(2), 91–108.

Motyl, B., Baronio, G., Uberti, S., Speranza, D., & Filippi, S. (2017). How will Change the Future Engineers’ Skills in the Industry 4.0 Framework? A Questionnaire Survey. Procedia Manufacturing, 11(June), 1501–1509. https://doi.org/10.1016/j. promfg.2017.07.282

OECD. (2016). Educación en Colombia. Aspectos destacados.

Ramos, D. A. (2013). Uso de la ingeniería inversa como metodología de enseñanza en la formación para la innovación. In W. Engineering & E. Forum (Eds.), World Engineering Education Forum. World Engineering Education Forum.

Semerikov, S., Striuk, A., Striuk, L., Striuk, M., & Shalatska, H. (2020). Sustainability in Software Engineering Education : a case of. 10036.

Striuk, A. M., & Semerikov, S. O. (2019). The Dawn of Software Engineering Education. CEUR Workshop Proceedings, 35–57.

Tonella, P., Torchiano, M., Du Bois, B., & Systa, A. (2007). Empirical studies in reverse engineering : state of the art and future trends. Empirical Software Engineering, 12(5), 551–571. https://doi.org/10.1007/ s10664-007-9037-5

Van Eekelen, I. M., Boshuizen, H. P. A., & Vermunt, J. D. (2005). Self-regulation in higher education teacher learning. Higher education, 50(3), 447-471.

Wood, D. F. (2003). Problem based learning. Bmj 326.7384, 328–330.