Online flowchart compiler and interpreter for educational purposes

Authors

DOI:

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

Keywords:

Web Application, Compilers and Interpreters, Software Development, Algorithm Teaching, Polya Heuristics

Abstract

This work deals with the development, fine-tuning and testing of an online flowchart compiler and interpreter. The development methodology takes as a frame of reference the software reengineering process model, in conjunction with the Object-Oriented Hypermedia Design Method (OOHDM). The software product obtained is a web application for educational purposes that differs from other tools mainly in three aspects: supporting the Polya problem-solving heuristics, create flowcharts following the recommendations for graphic symbology of the American National Standards Institute (ANSI), and be freely available on the internet. The online compiler and interpreter fine-tuning ran on two web browsers that support modal dialog boxes, one for personal computers and one for mobile devices. In addition, compliance tests with the W3C standards, loading speed tests, and a user experience perception test were applied to 22 students of a preparatory course on algorithms. The results obtained in all the tests carried out are considered satisfactory and in accordance with the current context of the students.

References

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

Published

2022-04-02

How to Cite

Arellano Pimentel, J. J., Solar González, R., Nieva García, O. S., & Canedo Ibarra, S. P. (2022). Online flowchart compiler and interpreter for educational purposes. Revista De Investigación En Tecnologías De La Información, 10(20), 80–94. https://doi.org/10.36825/RITI.10.20.007

Issue

Section

Artículos

Most read articles by the same author(s)