Compilador e intérprete en línea de diagramas de flujo con fines didácticos
DOI:
https://doi.org/10.36825/RITI.10.20.007Palabras clave:
Aplicación Web, Compiladores e Intérpretes, Desarrollo de Software, Enseñanza de Algoritmo, Heurística de PolyaResumen
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
Cómo citar
Número
Sección
Licencia
Derechos de autor 2022 Revista de Investigación en Tecnologías de la Información
Esta obra está bajo una licencia internacional Creative Commons Atribución-NoComercial-SinDerivadas 4.0.
Esta revista proporciona un acceso abierto a su contenido, basado en el principio de que ofrecer al público un acceso libre a las investigaciones ayuda a un mayor intercambio global del conocimiento.
El texto publicado en la Revista de Investigación en Tecnologías de la Información (RITI) se distribuye bajo la licencia Creative Commons (CC BY-NC), que permite a terceros utilizar lo publicado citando a los autores del trabajo y a RITI, pero sin hacer uso del material con propósitos comerciales.