Compilador e intérprete en línea de diagramas de flujo con fines didácticos

Autores/as

DOI:

https://doi.org/10.36825/RITI.10.20.007

Palabras clave:

Aplicación Web, Compiladores e Intérpretes, Desarrollo de Software, Enseñanza de Algoritmo, Heurística de Polya

Resumen

En este trabajo se aborda el desarrollo, puesta a punto y pruebas de un compilador e intérprete en línea de diagramas de flujo. La metodología de desarrollo toma como marco de referencia el modelo de proceso de reingeniería de software, en conjunto con el método de diseño de hipermedios orientado a objetos (MDHOO). El producto de software obtenido es una aplicación web con fines didácticos que se distingue de otras herramientas principalmente por tres aspectos: dar soporte para la heurística de resolución de problemas de Polya, crear diagramas de flujo atendiendo las recomendaciones para la simbología gráfica del American National Standards Institute (ANSI), y estar disponible en internet de forma libre. La puesta a punto del compilador e intérprete en línea se ejecutó en dos navegadores web compatibles con cuadros de diálogo modales, uno para computadoras personales y otro para dispositivos móviles. Además, se realizaron pruebas de cumplimiento de estándares de la W3C, pruebas de velocidad de carga, y se aplicó una prueba de percepción de experiencia de usuario a 22 estudiantes de un curso propedéutico de algoritmos. Los resultados obtenidos en todas las pruebas realizadas se consideran satisfactorios y acordes al contexto actual de los estudiantes.

Citas

Göktepe, M., Özgüc, B., Baraym M. (1989). Design and implementation of a tool for teaching programming. Computers & Education, 13 (2), 167-178. doi: https://doi.org/10.1016/0360-1315(89)90009-2

INEGI. (2021). Comunicado de prensa Núm. 352/21. Recuperado de: https://www.inegi.org.mx/contenidos/saladeprensa/boletines/2021/OtrTemEcon/ENDUTIH_2020.pdf

Dimok, M. (2019). Defining generations: Where Millennials end and Generation Z begins. Pew Research Center. Recuperado de: http://www.pewresearch.org/fact-tank/2019/01/17/where-millennials-end-and-generation-z-begins/

Bertuzzi, M. F. (2021). Centenials en la universidad: prosumidores de contenido en el aula. En M. Veneziani, P. de la Sotta (Coord.), Cuadernos del Centro de Estudios en Diseño y Comunicación No 134 (pp. 161-173). Buenos Aires, Argentina: Universidad de Palermo. Recuperado de: https://dspace.palermo.edu/ojs/index.php/cdc/article/view/5020/6682

Manzanares Triquet, J. C. (2020). Generación Z y gamificación: el dibujo pedagógico de una nueva sociedad educativa. Tejuelo, 32, 263-298. doi: https://doi.org/10.17398/1988-8430.32.263

Asociación Mexicana de Internet. (2021). 17º Estudio sobre los Hábitos de los Usuarios de Internet en México 2021. Recuperado de: https://irp.cdn-website.com/81280eda/files/uploaded/17%C2%B0%20Estudio%20sobre%20los%20Ha%CC%81bitos%20de%20los%20Usuarios%20de%20Internet%20en%20Me%CC%81xico%202021%20v16%20Publica.pdf

Hooshyar, D., Ahmad, R. B., Nasir, M. H. N. M., Shamshirband, S., Horng, S. J. (2015). Flowchart-based programming environments for improving comprehension and problem-solving skill of novice programmers: a survey. International Journal of Advanced Intelligence Paradigms, 7 (1), 24-56. doi: https://doi.org/10.1504/ijaip.2015.070343

Rahman, M. M., Sharker, M. H., Paudel, R. (2020). An Effective Approach to Teach an Introductory Computer Science Course with Computational Thinking and Flow-Chart Based Visual Programming. Trabajo presentado en IEEE Frontiers in Education Conference (FIE). Uppsala, Sweden. doi: https://doi.org/10.1109/FIE44824.2020.9273930

Sánchez, M., Valderrama Bahamondez, E., de Clunie, G. T. (2020). Use of PSeInt in teaching programming: a case study. Trabajo presentado en 10th Euro-American Conference on Telematics and Information Systems (EATIS). Aveiro, Portugal. doi: https://doi.org/10.1145/3401895.3402083

Shivacheva, G. I., Ruseva, N. R. (2021). Training in Programming using Innovative Means. Trabajo presentado en International Conference on Technics, Technologies and Education. Yambol, Bulgaria. Recuperado de: https://iopscience.iop.org/article/10.1088/1757-899X/1031/1/012124

Zaretska, I., Zholtkevych, G., Radchenko, A., Minayev, A. (2019). Algorithms Constructor. En V. Ermolayev, F. Mallet, V. Yakovyna, H. Mayr, A. Spivakovsky (Eds.). ICT in Education, Research and Industrial Applications 2019 (pp. 501-506). Kherson, Ukranine: CEUR-WS. Recuperado de: http://ceur-ws.org/Vol-2387/20190501.pdf

Vázquez-Peñaloza, F., Jaimez-González, C. R. (2019). Towards a Web Application to Create Flowcharts for Supporting the Teaching-Learning Process of Structured Programming Courses. American Journal of Educational Research, 7 (12), 976-982. Recuperado de: http://pubs.sciepub.com/education/7/12/12/

Allen, J. M., Vahid, F. (2020). Teaching Coral before C++ in a CS1 Course. Trabajo presentado en American Society for Engineering Education (ASEE), Virtual Annual Conference Content Access. Virtual On line. Recuperado de: https://peer.asee.org/35273

Supaartagorn, C. (2017). Web Application for Automatic Code Generator Using a Structured FlowChart. Trabajo presentado en 8th IEEE International Conference on Software Engineering and Service Science. Beijing, China. doi: https://doi.org/10.1109/ICSESS.2017.8342876

Cabo, C. (2018). Effectiveness of Flowcharting as Scaffolding Tool to Learn Python. Trabajo presentado en IEEE Frontiers in Education Conference (FIE). San Jose, CA, USA. doi: https://doi.org/10.1109/FIE.2018.8658891

Zhang, J., Meng, B., Zou, L., Zhu, Y., Hwang, G. (2021). Progressive flowchart development scaffolding to improve university students’ computational thinking and programming self-efficacy. Interactive Learning Environments, 1-18. doi: https://doi.org/10.1080/10494820.2021.1943687

Pressman, R. S. (2010). Ingeniería de Software. Un enfoque práctico (7ma Ed.). México D. F.: McGraw Hill Educación.

Arellano Pimentel, J. J., Nieva García, O. S., Solar González, R., Arista López, G. (2012). Software para la enseñanza-aprendizaje de algoritmos estructurados. Revista Iberoamericana de Tecnología en Educación y Educación en Tecnología, (8), 23-33. Recuperado de: https://teyet-revista.info.unlp.edu.ar/TEyET/article/view/253

Polya, G. (2005). Cómo plantear y resolver problemas (1era Ed.). México: Trillas.

Louden, K. (2004). Construcción de compiladores principio y práctica. México: Parainfo.

Aho, A., Sethi, R., Ullman, J. (1998). Compiladores, principios, técnicas y herramientas. Naucalpan de Juárez, Estado de México: Addison Wesley Longman.

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). Katowice, Polonia: University of Silesia.

Jiménez-Toledo, J. A., Collazos, C., Revelo-Sánchez, 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, 83-117. doi: https://doi.org/10.22430/22565337.1520

Santimateo, D., Nuñez, G., González, E. (2018). Estudio de dificultades en la enseñanza y aprendizaje en los cursos básicos de programación de computadoras en Panamá. Revista de Investigación en Tecnologías de la Información (RITI), 6 (11), 13-18. Recuperado de: https://www.riti.es/ojs2018/inicio/index.php/riti/article/view/81

Gauchat, J. D. (2012). El gran libro de HTML5, CSS3 y Javascript. Barcelona, España: MARCOMBO.

Santi, P. (2020). AlgoBuild. (Versión 0.85) [Software de computadora]. Recuperado de: https://algobuild.com/en/index.html

Wilson, T. A., Carlisle, M. C., Humphries, J. W., Moore, J. A. (2019). Raptor (Versión 4.1.0.0001) [Software de computadora]. Recuperado de: https://raptor.martincarlisle.com/

Cook, D. (2021). Flowgorithm (Versión 2.30.3) [Software de computadora]. Recuperado de: http://www.flowgorithm.org/

Novara, P. (2021). PSeInt (Versión 20210609) [Software de computadora]. Recuperado de: http://pseint.sourceforge.net/

Cairó, O. (2005). Metodología de la programación. Algoritmos, diagramas de flujo y programas (3era Ed.). México, D.F.: Alfaomega.

Joyanes, L. (2008). Fundamentos de programación. Algoritmos, estructuras de datos y objetos (4ta Ed.). Madrid, España: McGraw-Hill.

World Wide Web Consotium. (2021). Nu Html Checker (Versión 21.11.17) [Software de computadora]. Recuperado de: https://validator.w3.org/nu/

Statista. (2021). Ranking de los navegadores de internet con mayor cuota del mercado mensual entre enero de 2016 y enero de 2021. Recuperado de: https://es.statista.com/estadisticas/600249/cuota-de-mercado-mensual-de-los-principales-navegadores-de-internet/

SolarWinds Pingdom. (2021). Pingdom Website Speed Test. Recuperado de: https://tools.pingdom.com/

Sauro, J. (2015). SUPR-Q: A Comprehensive Measure of the Quality of the Website User Experience. Journal of Usability Studies, 10 (2), 68-86. Recuperado de: https://uxpajournal.org/wp-content/uploads/sites/7/pdf/JUS_Sauro_Feb2015.pdf

The jamovi Project. (2021). Jamovi (Version 1.6) [Computer Software]. Recuperado de: https://www.jamovi.org.

Ventura-León, J. L., Caycho-Rodríguez, T. (2017). El coeficiente Omega: un método alternativo para la estimación de la confiabilidad. Revista Latinoamericana de Ciencias Sociales, Niñez y Juventud, 15 (1), 625-627. Recuperado de: https://www.redalyc.org/pdf/773/77349627039.pdf

Gliem, J. A, Gliem, R. R. (2003). Calculating, Interpreting, And Reporting Cronbach’s Alpha Reliability Coefficient For Likert-Type Scales. Trabajo presentado en Midwest Research-to-Practice Conference in Adult, Continuing, and Community Education. Columbus, Ohio. Recuperado de: https://hdl.handle.net/1805/344

Publicado

2022-04-02

Cómo citar

Arellano Pimentel, J. J., Solar González, R., Nieva García, O. S., & Canedo Ibarra, S. P. (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), 80–94. https://doi.org/10.36825/RITI.10.20.007

Número

Sección

Artículos

Artículos más leídos del mismo autor/a