Teaching strategies and resources used to learn structured programming. A systematic review
DOI:
https://doi.org/10.33010/ie_rie_rediech.v15i0.1872Keywords:
Didactic strategies, University education, didactic resources, student profile, programmingAbstract
The growing demand for digital applications requires training new professionals with solid knowledge and skills for software development. This training usually begins during the first structured programming courses at a higher level. In this work, a systematic review of the literature was carried out in three phases (planning, execution, and reporting) to identify, in the last five years, which are the strategies and didactic resources most used in the university for learning structured programming. 43 sources were analyzed, 14 in Spanish and 29 in English, mostly articles indexed in Scopus, JCR and WoS, but also including conference articles, book chapters and doctoral thesis. It was possible to identify seven didactic strategies among which those oriented to problem solving and the use of some instructional design stand out; in terms of the multiple resources identified, the use of learning management systems and the support in flowcharts stand out.
References
Ahmed, W., y Lugovic, S. (2019). Social media analytics: analysis and visualization of news diffusion using NodeXL. Online Information Review, 43(1), 149-160. https://doi.org/10.1108/OIR-03-2018-0093
Anderson, J. A., y González, D. L. (2020). PSeInt como herramienta para mejorar el proceso de enseñanza aprendizaje de algoritmos, pseudocódigo y diagramas de flujo. En D. L. González, M. I. Domínguez, y E. A. Flores, Tecnologías de la información en educación. Sistematización de experiencias docentes (pp. 91-102). Redie. http://dx.doi.org/10.6084/m9.figshare.12498095.v1
Arellano, J. J., y Canedo, S. P. (2022). EpAA: entorno para el aprendizaje de algoritmos. Una experiencia educativa desde la perspectiva del aprendizaje flexible. Edutec, (79), 63-79. https://doi.org/10.21556/edutec.2022.79.2451
Arellano, J. J., Solar, R., Nieva, O., y Canedo, S. (2022). Compilador e intérprete en línea de diagramas de flujo con fines didácticos. Revista de Investigación en Tecnologías de la Información, 10(20), 63-79. https://doi.org/10.36825/RITI.10.20.007
Begosso, L. C., Begosso, L. R., y Aragao, N. (2020). An analysis of block-based programming environments for CS1. IEEE Frontiers in Education Conference (FIE). IEEE. https://ieeexplore.ieee.org/document/9273982
Bertuzzi, M. F. (2021). Centennials en la universidad: prosumidores de contenido en el aula. En M. Veneziani y P. de la Sota, Cuadernos del Centro de Estudios en Diseño y Comunicación No. 134 (pp. 161-173). Universidad de Palermo. https://fido.palermo.edu/servicios_dyc/publicacionesdc/cuadernos/detalle_articulo.php?id_libro=903&id_articulo=18131
Brereton, P., Kitchenham, B. A., Budgen, D., Turner, M., y Khalil, M. (2007). Lessons from applying the systematic literature review process within the software engineering domain. Journal of Systems and Software, 80(4), 571-583. https://doi.org/10.1016/j.jss.2006.07.009
Caceffo, R., Gama, G., y Azevedo, R. (2018). Exploring active learning approaches to computer science classes. Proceedings of the 49th ACM Technical Symposium on Computer Science Education (pp. 922-927). ACM. https://doi.org/10.1145/3159450.3159585
Çakiroglu, Ü., Er, B., Ugur, N., y Aydogdu, E. (2018). Exploring the use of self-regulation strategies in programming with regard to learning styles. International Journal of Computer Science Education in Schools, 2(2), 14-28. https://doi.org/10.21585/ijcses.v2i2.29
Cárdenas, J., Puris, A., Novoa, P., Parra, Á., Moreno, J., y Benavides, D. (2021). Using scratch to improve learning programming in college students: A positive experience from a non-WEIRD country. Electronics, 10(10), 1180. https://doi.org/10.3390/electronics10101180
Castro, A., y González, J. S. (2021). Experiencias universitarias de aula en la introducción a la programación. Cuaderno de Pedagogía Universitaria, 18(35), 85-94. https://doi.org/10.29197/cpu.v18i35.415
Cheng, Y. P., Shen, P. D., Hung, M. L., Tsai, C. W., Lin, C. H., y Hsu, L. C. (2021). Applying online content based knowledge awareness and team learning to develop students’ programming skills, reduce their anxiety, and regulate cognitive load in a cloud classroom. Universal Access in the Information Society, 21, 557-572. https://doi.org/10.1007/s10209-020-00789-6
Coban, E., Kolburan, A., y Deveci, A. (2021). The effect of programming with scratch course on reflective thinking skills of students towards problem solving. Journal of Learning and Teaching in Digital Age, 6(1), 72-80. https://dergipark.org.tr/en/pub/joltida/issue/59433/854205
Correa, A. J., Amórtegui, M. P., y Jiménez, J. H. (2021). Clase espejo como estrategia pedagógica complementaria para el aprendizaje de algoritmos y el fomento de habilidades interculturales en el escenario de redes académicas internacionales. En M. Barrientos, y H. E. (eds.), II Encuentro Regional de AIESAD 2021 (pp. 45-54). UNED. https://hemeroteca.unad.edu.co/index.php/memorias/article/view/5733
Da Costa, R. C., Vargas, A., Billa, C., Santos, R., Barwaldt, R., y Bothelho, S. (2020). Methodological changes in teaching algorithms in the early years of the Computer Engineering course. IEEE Frontiers in Education Conference (FIE) (pp. 1-6). IEEE. https://ieeexplore.ieee.org/document/9274109
Dhakshina, A., y Dhakshina, M. (2020). Online coding event as a formative assessment tool in introductory programming and algorithmic courses–An exploration study. Computer Applications in Engineering Education, 28(6), 1-11. https://doi.org/10.1002/cae.22330
Dhayanithi, J., Balamurugan, D., Marimuthu, M., Vidyabharathi, D., Basker, N., Vidhya, G., Theetchenya, S., y Mohanraj, G. (2021). An evaluation framework and analysis of auto assessing the programming courses during the COVID-19 pandemic. Turkish Journal of Computer and Mathematics Education, 12(10), 4918-4923. https://turcomat.org/index.php/turkbilmat/article/view/5254
Gajewski, R. R. (2018). Algorithms, programming, flowcharts and flowgorithm. En E. Smyrnova-Trybulska (ed.), E-learning and smart learning environment for the preparation of new generation specialist (pp. 393-408). University of Silesia. http://druk.studio-noa.pl/ig/pub/us/E-l-10/10-393.pdf
González, E. I., Trujillo, V., y Bautista, J. (2020). Procesos metacognitivos en el aprendizaje de programación, base del futuro. European Journal of Education Studies, 7(9), 174-193. https://oapub.org/edu/index.php/ejes/article/view/3243
Hartati, S. J. (2018). Framework design learning of introduction to computational algorithms by using the theory learning by doing. Journal of Physics: Conference Series, 1028(1), 1-5. https://dx.doi.org/10.1088/1742-6596/1028/1/012133
Hernández, I. Y., González, R., y Nieto, A. D. (2020). Percepción de estudiantes universitarios sobre el uso de software educativo en la enseñanza de la programación. Revista Electrónica ANFEI Digital, 7(12), 1-9. https://anfei.mx/revista/index.php/revista/article/view/695/1336
Jiménez, J. A., Collazos, C., y Revelo, O. (2019). Consideraciones en los procesos de enseñanza-aprendizaje para un primer curso de programación de computadores: una revisión sistemática de la literatura. TecnoLógicas, 22, 84-118. https://doi.org/10.22430/22565337.1520
Juárez-Ramírez, R., Navarro, C. X., Tapia-Ibarra, V., Macías-Olvera, R., y Guerra-García, C. (2018). What is programming? Putting all together - A set of skills required. 2018 6th International Conference in Software Engineering Research and Innovation (Conisoft) (pp. 11-20). IEEE. https://doi.org/10.1109/CONISOFT.2018.8645956
Kandemir, C. M., Kalelioglu, F., y Gülbahar, Y. (2020). Pedagogy of teaching introductory text-based programmingin terms of computational thinking concepts and practices. Computer Applications in Engineering Education, 29(1), 29-45. https://doi.org/10.1002/cae.22374
Kayaalp, F., y Dinc, F. (2021). A mobile app for algorithms learning in engineering education: Drag and drop approach. Computer Applications in Engineering Education, 30(1), 235-250. https://onlinelibrary.wiley.com/doi/epdf/10.1002/cae.22453
Kazimoglu, C. (2020). Enhancing confidence in using computational thinking skills via playing a serious game: A case study to increase motivation in learning computer programming. IEEE Access, 8, 221831-221851. https://doi.org/10.1109/ACCESS.2020.3043278
Khomokhoana, P. J. (2020). Source code comprehension: Decoding the cognitive challenges of novice programmers [Tesis de doctorado]. University of the Free State, Bloemfontein, Sudáfrica. https://scholar.ufs.ac.za/handle/11660/10946
Kitchenham, B., Pretorius, R., Budgen, D., Brereton, O. P., Turner, M., Niazi, M., y Linkmana, L. (2010). Systematic literature reviews in software engineering – A tertiary study. Information and Software Technology, 52(8), 792-805. https://doi.org/10.1016/j.infsof.2010.03.006
Mansilla, J., y Beltrán, J. (2013). Coherencia entre las estrategias didácticas y las creencias curriculares de los docentes de segundo ciclo, a partir de las actividades didácticas. Perfiles Educativos, 35(139), 25-39. https://doi.org/10.22201/iisue.24486167e.2013.139.35709
Martín-Martín, A., Costas, R., van Leeuwen, T., y López-Cózar, E. D. (2018a). Evidence of open access of scientific publications in Google Scholar: A large-scale analysis. Journal of Informetrics, 12(3), 819-841. https://doi.org/10.1016/j.joi.2018.06.012
Martín-Martín, A., Orduna-Malea, E., Thelwall, M., y López-Cózar, E. D. (2018b). Google Scholar, Web of Science, and Scopus: A systematic comparison of citations in 252 subject categories. Journal of Informetrics, 12(4), 1160-1177. https://doi.org/10.1016/j.joi.2018.09.002
Mehmood, E., Abid, A., Farooq, M. S., y Nawaz, N. A. (2020). Curriculum, teaching and learning, and assessments for introductory programming course. IEEE Access, 8, 125961-125981. https://ieeexplore.ieee.org/document/9137246
Méndez, J. A. (2019). Aprendizaje colaborativo de programación asistido por computador. En J. E. Márquez, Educación, ciencia y tecnologías emergentes para la generación del siglo 21 (pp. 43-63). Universidad de Cundinamarca. https://doi.org/10.36436/9789585203242
Miltchev, R., Milchev, G., y Manchev, I. (2014). Approach for integration of the methods of the network analysis in the field of distance and electronic education. Proceedings of the 15th International Conference on Computer Systems and Technologies (pp. 460-467). ACM. https://doi.org/10.1145/2659532.2659604
Molina, R. E., Padilla, R. R., y Leyva, M. Y. (2019). Estudio y propuesta metodológica, para la enseñanza-aprendizaje de la programación informática en la educación superior. Revista Dilemas Contemporáneos. Educación, Política y Valores, 7, 1-23. https://doi.org/10.46377/dilemas.v30i1.1294
Montiel, H., y Gomez-Zermeño, M. G. (2021). Educational challenges for computational thinking in K–12 education: A systematic literature review of “Scratch” as an innovative programming tool. Computers, 10(6), 69. https://doi.org/10.3390/computers10060069
Morales, R. E. (2021). El video como recurso didáctico digital que fortalece el aprendizaje virtual. Edutec. Revista Electrónica de Tecnología Educativa, (77), 186-202. https://doi.org/10.21556/edutec.2021.77.1939
Mutanu, L., y Machoka, P. (2019). Enhancing computer students’ academic performance through explanatory modeling. En B. Tait, J. Kroeze y S. Gruner (eds.), ICT Education. SACLA 2019. Communications in Computer and Information Science, vol. 1136 (pp. 227-243). Springer. https://doi.org/10.1007/978-3-030-35629-3_15
Narváez, L. E., y López, R. E. (2022). Identificación de errores en conceptos básicos de principios de programación. IE Revista de Investigación Educativa de la REDIECH, 13. https://doi.org/10.33010/ie_rie_rediech.v13i0.1222
Ochoa, L. L., y Bedregal, N. (2022). Incorporation of computational thinking practices to enhance learning in a programming course. International Journal of Advanced Computer Science and Applications, 13(2), 194-200. https://dx.doi.org/10.14569/IJACSA.2022.0130224
Pastrán, F. R., Montilla, A., y Castillo, A. (2017). Los recursos didácticos desde el constructivismo para la enseñanza de geografía general. Redine. Red de Investigación Educativa, 9(1), 28-36. https://revistas.uclave.org/index.php/redine/article/view/834
Pérez, J. A., y Pedroza, O. V. (2018). LM1: una metodología de estudio para la asignatura “Programación 1”. Educere, 22(73), 635-648. https://www.redalyc.org/journal/356/35656676013/html/
Pérez-Suasnavas, A.-L., y Cela, K. (2022). Incidencia de la metodología JiTTwT en el rendimiento académico de estudiantes universitarios. Espiral. Cuadernos del Profesorado, 15(30). https://doi.org/10.25115/ecp.v15i30.6500
Probst, Y. C., y Peng, Q. (2019). Social media in dietetics: Insights into use and user networks. Nutrition & Dietetics, 76(4), 414-420. https://doi.org/10.1111/1747-0080.12488
Ramírez, J. J., Restrepo, F., y González, F. A. (2022). A case study in technology-enhanced learning in an introductory computer programming course. Global Journal of Engineering Education, 24(1), 65-71. http://www.wiete.com.au/journals/GJEE/Publish/vol24no1/10-Restrepo-Calle-F.pdf
Roa, K., y Martínez, C. (2020). Diseño de un ambiente virtual de aprendizaje soportado en los estilos de aprendizaje. Revista Virtu@lmente, 8(2), 67-86. https://doi.org/10.21158/2357514x.v8.n2.2020.2761
Sánchez, M., Escamilla, J., y Sánchez, M. (2018). ¿Qué es la innovación en educación superior? Reflexiones académicas sobre la innovación educativa. En M. Sánchez, y J. Escamilla, Perspectivas de la innovación educativa en las universidades de México: experiencias y reflexiones de la RIE 360 (pp. 19-41). Imagia Comunicación. https://www.dee.cuaieed.unam.mx/?sdm_process_download=1&download_id=3883
Servita, H., y Sánchez, H. (2020). Unidad curricular Introducción a la Programación situada en el enfoque por competencias con apoyo de las TIC. Revista Conocimiento Libre y Licenciamiento (Clic), 22(11), 158-173. https://convite.cenditel.gob.ve/revistaclic/index.php/revistaclic/article/view/1018
Sharma, M., Biros, D., Ayyalasomayajula, S., y Dalal, N. (2020). Teaching programming to the post-millennial generation: Pedagogic considerations for an IS course. Journal of Information Systems Education, 31(2), 96-105. https://aisel.aisnet.org/jise/vol31/iss2/2/
Silva, J. P., y Silveira, I. F. (2020). A systematic review on open educational games for programming learning and teaching. International Journal of Emerging Technologies in Learning (iJET), 15(09), 156-172. https://doi.org/10.3991/ijet.v15i09.12437
Silva, J. P., Silveira, I. F., Kamimura, L., y Barboza, A. T. (2020). Turing Project: An open educational game to teach and learn programming logic. 15th Iberian Conference on Information Systems and Technologies (CISTI). IEEE; Sevilla, España. https://ieeexplore.ieee.org/document/9141122
Solarte, O., y Machuca, L. E. (2019). Fostering motivation and improving student performance in an introductory programming course: An integrated teaching approach. Revista EIA, 16(31), 65-76. https://doi.org/10.24050/reia.v16i31.1230
Susanti, W., Jama, J., Dochi, K., y Nasution, T. (2021). An overview of the teaching and learning process basic programming in algorithm and programming courses. Turkish Journal of Computer and Mathematics Education, 12(2), 2934-2944. https://doi.org/10.17762/turcomat.v12i2.2332
Tobón, S. (2013). Formación integral y competencias. Pensamiento complejo, currículo, didáctica y evaluación (4a. ed.). ECOE. https://cife.edu.mx/recursos/2019/12/04/formacion-integral-y-competencias-pensamiento-complejo-curriculo-didactica-y-evaluacion/
Tripathi, A., Bharti, K. K., y Ghosh, M. (2019). A study on characterizing the ecosystem of monetizing video spams on YouTube platform. En Proceedings of the 21st International Conference on Information Integration and Web-based Applications & Services (pp. 222-231). ACM. https://doi.org/10.1145/3366030.3366078
Vasilopoulos, I. V., y van Schaik, P. (2018). Koios: design, development, and evaluation of an educational visual tool for Greek novice programmers. Journal of Educational Computing Research, 57(5), 1-33. https://doi.org/10.1177/0735633118781776
Viola, J. B., y Gómez, D. T. (2019). Reestructuración pedagógica de la asignatura lógica y algoritmia para el mejoramiento de la enseñanza en los programas de ingeniería de la Universidad Pontificia Bolivariana - Seccional Bucaramanga. Revista Educación en Ingeniería, 14(27), 41-47. https://educacioneningenieria.org/index.php/edi/article/view/940
Yi, S., y Lee, Y. (2018). An educational system design to support learning transfer from block-based programming language to text-based programming language. International Journal on Advanced Science, Engineering and Information Technology, 8(4-2), 1571-1576. http://ijaseit.insightsociety.org/index.php?option=com_content&view=article&id=9&Itemid=1&article_id=5735
Yücel, K. (2018). Developing instructional strategies and recommendations from an introductory programming course in higher education [Tesis de doctorado]. Middle East Technical University. https://open.metu.edu.tr/handle/11511/27789
Zang, L., Li, B., Zhang, Q., y Hsiao, I. H. (2020). Does a distributed practice strategy for multiple choice questions help novices learn programming? International Journal of Emerging Technologies in Learning, 15(18), 234-250. https://doi.org/10.3991/ijet.v15i18.10567
Zhao, Z., Yoo, H., Jo, J., Hong, S., Ryu, S., y Choi, S. (2015). The research trends and comparing about the Big Data between Korea and China using text mining. En Proceedings of the 2015 International Conference on Big Data Applications and Services (pp. 121-127). ACM. https://doi.org/10.1145/2837060.2837078
Downloads
Published
How to Cite
Issue
Section
License
Copyright (c) 2024 Jesús Arellano Pimentel, Rocío Solar González, Luis Armería Zavala
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.