Palabras Clave: Enseñanza de la Programación Lógica . Prolog . Aplicaciones Web
Los objetivos particulares que nos hemos planteamos en esta línea de investigación, que está enmarcada en las actividades del GILIA son dos. En primer lugar, desde el punto de vista disciplinar, buscamos desarrollar una herramienta Web que permita diseñar y generar automáticamente una aplicación Web para consultar un programa lógico en Prolog.
En segundo lugar, nos proponemos fortalecer los vínculos con otros grupos de investigación internacionales cuyos investigadores participan del Prolog Education Committee. Ya hemos establecido un marco de colaboración con estos grupos, y nuestro objetivo es profundizar este intercambio de conocimientos y experiencias en la enseñanza de Prolog en todos los niveles educativos.
En la actualidad, existe un consenso internacional sobre la importancia del Pensamiento Computacional (PC) [8] y del Pensamiento Lógico (PL) en el desarrollo de habilidades para encontrar soluciones a problemas de propósito general. Así, muchos países han comenzado a incorporar el PC en los planes de estudio desde la escuela primaria [2, 7].
Existen diversos recursos didácticos que colaboran en la introducción del PC a los niños a través de la Programación Imperativa. La mayoría de estos proyectos emplean lenguajes de programación visual, mediante los cuales los estudiantes pueden crear programas utilizando elementos gráficos e interfaces de arrastrar y soltar. Ejemplos de estas herramientas son Scratch 1 , Alice2 y Open Roberta3. Asimismo, existe una serie de recursos que permite a los estudiantes diseñar sus propias aplicaciones o páginas Web programando con Programación Imperativa como MIT App Inventor 4.
El paradigma de la Programación Lógica (LP) no tiene la suficiente representación en los cursos de introducción a las Ciencias de la Computación (CC) y el desarrollo de las habilidades de PC y PL de los niños. Sin embargo, dicho paradigma es una opción viable y deseable para niños de escuela primaria, incluso para aquellos sin conocimientos previos de programación. Se han realizado investigaciones para introducir las CC y desarrollar habilidades de PC a través de la LP para estudiantes de nivel secundario [1, 9, 10]. Del mismo modo, creemos que es posible lograr la introducción fructífera de esta ciencia y el desarrollo de dichas habilidades mencionadas en niños escolarizados de nivel primario.
Para que la enseñanza del LP sea viable, es necesario contar con los recursos didácticos adecuados. Por ejemplo, una implementación visual de Prolog y herramientas Web. El uso de lenguajes basados en bloques [4, 6] evita la necesidad de enseñar y manejar la sintaxis textual de Prolog, mientras que un entorno Web permite el trabajo colaborativo y elimina los inconvenientes asociados con la instalación de software.
En este sentido, es crucial realizar esfuerzos continuos para desarrollar nuevos entornos tecnológicos que permitan consolidar la LP en la escuela primaria, aumentando y fortaleciendo las iniciativas ya existentes. Actualmente, se están desarrollando recursos educativos con el fin de involucrar a los niños, elaborar lecciones personalizadas, y fomentar la participación en el aula. Por ejemplo, en [5] los autores introducen un entorno Web interactivo basado en Ciao Playground5 para guiar a los estudiantes con ejercicios específicos durante el proceso de aprendizaje de la programación mediante Prolog.
En [3] se presenta una serie de actividades para enseñar la LP en las escuelas primarias, las cuales consisten en juegos divididos en etapas. En las mismas, se plantea un problema y los estudiantes deben analizar pistas para llegar a una solución, familiarizándose con conceptos de este paradigma, tales como constantes, variables, y relaciones.
En estas actividades se identifica la necesidad de un recurso que permita que los niños interactúen con programas lógicos desarrollados en las experiencias educativas, y pongan en práctica conceptos de la PL aprendidos durante las mismas. Esta interacción, idealmente, debe ser amena y permitir cierto grado de creatividad por parte de los estudiantes.
En este contexto, la solución propuesta consiste en el diseño y la implementación de un recurso didáctico visual y Web que permita la creación de una aplicación Web personalizada por el usuario, para consultar un programa Prolog ya construido.
En el diseño e implementación de este recurso, se priorizará que la interfaz de usuario sea altamente intuitiva, de manera que su uso no requiera conocimientos previos. Además, se trabajará sobre una implementación de Prolog Web, evitando las posibles complicaciones a la hora de instalar software.
Se espera que con esta herramienta se alcance un rango mayor de estudiantes en el ámbito de la enseñanza de la Programación Lógica, brindando un entorno de diseño intuitivo que permite a cualquier usuario, especialmente niños, construir aplicaciones Web. Se busca democratizar el desarrollo de software empoderando a todas las personas, particularmente a niños y jóvenes en edad escolar, y apoyando la transición desde el rol de consumidores de tecnología hacia el de creadores de la misma.
Este trabajo se enmarca en los proyectos desarrollados en el contexto del Grupo de Investigación en Lenguajes e Inteligencia Artificial(GILIA):
Esta línea de investigación se desarrolla en forma colaborativa con investigadores del IMDEA Software Institute6, Madrid, España. Asimismo, es parte de las iniciativas internacionales que se llevan adelante en el marco de las actividades del Prolog Education Committee7, del que autores de este trabajo forman parte.
1. Beux, S., Briola, D., Corradi, A., Delzanno, G., Ferrando, A., Frassetto, F., Guerrini, G., Mascardi, V., Oreggia, M., Pozzi, F., et al.: Computational thinking for beginners: A successful experience using Prolog. In: CILC. pp. 31–45 (2015)
2. Bocconi, S., Chioccariello, A., Kampylis, P., Dagienė, V., Wastiau, P., Engelhardt, K., Earp, J., Horvath, M.A., Jasutė, E., Malagoli, C., et al.: Reviewing Computational Thinking in Compulsory Education. Tech. rep., Joint Research Centre (Seville site) (2022)
3. Cecchi, L.A., Rodríguez, J.P., Dahl, V.: Logic programming at elementary school: Why, what and how should we teach logic programming to children? In: Warren, D.S., Dahl, V., Eiter, T., Hermenegildo, M., Kowalski, R., Rossi, F. (eds.) Prolog - The Next 50 Years. No. 13900 in LNCS, Springer (July 2023)
4. Laboratorio Kagawa: Homepage Blockly for Prolog , https://guppy.eng.kagawa-u.ac.jp/ kagawa/Members/Sano/prolog.html
5. Morales, J.F., Abreu, S., Hermenegildo, M.V.: Teaching Prolog with Active Logic Documents . In: Warren, D.S., Dahl, V., Eiter, T., Hermenegildo, M., Kowalski, R., Rossi, F. (eds.) Prolog - The Next 50 Years. No. 13900 in LNCS, Springer (July 2023)
6. Niklas Holtz: Homepage blockly prolog - universität oldenburg, http://www.programmierkurs-java.de/blocklyprolog/
7. Ottestad, G., Gudmundsdottir, G.B.: Information and communication technology policy in primary and secondary education in Europe. Second handbook of information technology in primary and secondary education pp. 1–21 (2018)
8. Wing, J.M.: Computational thinking. Communications of the ACM 49(3), 33–35 (2006)
9. Yuen, T.T., Reyes, M., Zhang, Y.: Introducing computer science to high school students through logic programming. Theory and Practice of Logic Programming 19(2), 204–228 (2019)
10. Zhang, Y., Wang, J., Bolduc, F., Murray, W.G.: LP based integration of computing and science education in middle schools. In: Proceedings of the ACM Conference on Global Computing Education. pp. 44–50 (2019)