RIDE. Revista Iberoamericana para la Investigación y el Desarrollo Educativo
Resolución de problemas algorítmicos y objetos de aprendizaje: una revisión de la literatura
Apr 30 2020
Resumen
El proceso de resolución de problemas algorítmicos ha sido identificado como conflictivo entre los estudiantes universitarios del área de ciencias de la computación e informática. Para tratar de entender cuáles son las dificultades que aparecen reiteradamente en la resolución de dichos problemas, así como si los objetos de aprendizaje se han utilizado como estrategia tecnopedagógica para disminuirlas, y en caso de que así sea identificar cuáles, se realizó un mapeo sistemático de literatura especializada en el tema. A partir de las preguntas de investigación definidas, inicialmente se realizó una búsqueda en bases de datos como la Education Resources Information Center (ERIC) y la del Institute of Electrical and Electronics Engineers (IEEE), y se seleccionaron 35 estudios publicados en los últimos 10 años; en una segunda fase, siguiendo los criterios de calidad definidos, se redujo la cifra a 26. La revisión arrojó la necesidad de desarrollar en los estudiantes la capacidad de abstracción y análisis para identificar y comprender el problema. También se observó el interés en la definición y manipulación de estrategias que fomenten el pensamiento algorítmico como habilidad en la resolución de problemas, distinguiendo a los objetos de aprendizaje como una alternativa para su desarrollo.
Introducción
Los problemas computacionales constituyen uno de los principales objetos de estudio de la ciencia de la computación. El mayor obstáculo al que se enfrentan los estudiantes es la falta de capacidad y flexibilidad en la resolución de problemas (Babori, Fihri, Hariri y Bideq, 2016; Luza, 2017). Es decir, la capacidad de formular problemas, pensar de forma creativa sobre las soluciones y expresar una solución de manera clara y precisa.
El nivel abstracto del tema y la falta de vinculación con problemas prácticos y significativos evidencian la necesidad de lograr una mayor motivación y estimular el desarrollo de habilidades para la solución de problemas (Chezzi et al., 2017).
La manera en que la computación está inmiscuida en varios aspectos de la vida moderna provoca ventajas en las nuevas generaciones de estudiantes, lo que impulsa la necesidad de cursos de introducción a la programación centrados en el enfoque de resolución de problemas algorítmicos que introduzcan el pensamiento crítico, el razonamiento lógico y las habilidades de resolución de problemas en los estudiantes como habilidades indispensables para aprender a programar.
En la última década se ha visto un gran interés por la transición de un entorno de aprendizaje basado en clases presenciales en aulas a un sistema integrado y tecnológico eficiente a través de estrategias tecnopedagógicas que faciliten el proceso de enseñanza-aprendizaje.
Chun (2004, citado en Raspopovic, Cvetanovic y Jankulovic, 2016) señala que una manera de lograrlo es a través de la segmentación de materiales didácticos en pequeñas unidades, con el objetivo de ensamblar lecciones basadas en materiales ya existentes. Los objetos de aprendizaje se consideran herramientas que mejoran la eficacia, rendimiento y la experiencia de los estudiantes (AlMegren y Yassin, 2013).
El objetivo de la presente investigación es mostrar el resultado de un mapeo sistemático de literatura (SLM, por sus siglas en inglés) sobre la resolución de problemas algorítmicos y las estrategias tecnopedagógicas para facilitar su desarrollo. Cabe señalar que, a modo de guía para el mapeo, se utilizaron las pautas sugeridas por Petersen, Vakkalanka y Kuzniarz (2015).
Fundamentación teórica
Uno de los pilares de la ciencia informática es el algoritmo. La palabra algoritmo viene de Al-Jwarizmi, sobrenombre del célebre matemático Mohammed Ibn Musa al-Jwarizmi (780-850) (Fundación de Cultura Islámica [Funci], 7 de agosto de 2014). Desde la primera traducción de sus libros en el siglo IX por Adelardo de Bath y Roberto de Chester se ha venido deformando el término hasta llegar a su forma actual. La Real Academia Española [RAE] (2018) lo define como un grupo finito de operaciones organizadas de manera lógica y ordenada que permite solucionar un determinado problema.
Otros conceptos importantes de definir son pensamiento algorítmico, pensamiento computacional y pensamiento lógico, habilidades necesarias en la resolución de problemas computacionales.
El pensamiento algorítmico es la capacidad para realizar el proceso de abstracción, modelización de un problema, deducciones lógicas y síntesis de la solución que conduzca a escribir el algoritmo correcto (Cátedra de Conceptos de Algoritmos y Programa. UNLP, 2016). Por su parte, Lamagna (2015) lo define como la capacidad de ejecutar, evaluar, entender y crear procedimientos computacionales.
El pensamiento computacional se basa en la potencia y los límites de los procesos informáticos, ya sea que se ejecuten por un humano o por una máquina; implica el uso de la abstracción y segmentación cuando se trata de resolver una tarea compleja o se diseña un sistema complicado, utilizando el razonamiento heurístico para descubrir una solución (Wing, 2006). Otra definición es la ofrecida por Aho (2012), quien lo caracteriza como el proceso de pensamiento involucrado en la formulación de problemas de tal manera que sus soluciones puedan ser representadas como pasos computacionales discretos y algoritmos.
El pensamiento lógico es una importante habilidad fundamental. Albrecht (1984) dice que la base de todo pensamiento lógico es el pensamiento secuencial. Este proceso implica tomar las ideas importantes, los hechos y las conclusiones involucradas en un problema y organizarlas en una progresión en forma de cadena que asume un significado en sí mismo. Pensar lógicamente es pensar en pasos.
No podemos olvidar que una forma de resolver problemas consiste en recurrir a la heurística. Anderson (1990, citado en Schunk, 2012) indica que esta “consiste en métodos generales para resolver problemas que utilizan principios (reglas generales) que suelen conducir a la solución” (p. 302).
En la Tabla 1 se describen algunos modelos heurísticos para la resolución de problemas.
Mac Gaul de Jorge, López y Del Olmo (2008) coinciden con Polya (1945, 1957, citado en en Schunk, 2012) en que los problemas computacionales son análogos a los problemas matemáticos bajo la categoría “Problemas por resolver”.
En la Tabla 2 se muestran dos métodos adaptados a partir del método de Polya (1945, 1957, citado en en Schunk, 2012).
Mapeo sistemático sobre resolución de problemas algorítmicos
El objetivo del SLM es resumir la evidencia existente respecto a cómo se ha abordado la resolución de problemas algorítmicos, y algunas estrategias tecnopedagógicas utilizadas para facilitarla.
Los recursos para utilizar son:
- Revistas electrónicas y libros disponibles en la biblioteca de la Universidad Veracruzana o en bases de datos como Education Resources Information Center (ERIC) y la del Institute of Electrical and Electronics Engineers (IEEE).
- Bibliotecas digitales, entre ellas la de la Universidad Veracruzana.
- Trabajos de investigación y tesis relacionadas con el tema aquí en cuestión.
- Internet, a través del uso de motores de búsqueda como Google Scholar y SemanticScholar.
Método
El método de revisión empleado en esta revisión se resume en la Figura 1.
Planificación
La planificación se basa en un protocolo para realizar el SLM que permita definir el alcance de la revisión y las actividades para alcanzar los objetivos. En nuestro caso, se especificaron las siguientes preguntas de interés:
- RQ1. ¿En qué revistas y en qué eventos se publican artículos sobre resolución de problemas computacionales?
- RQ2. ¿Qué grupos de investigación y desarrollo (I+D) trabajan actualmente en resolución de problemas computacionales?
- RQ3. ¿Qué tópicos se abordan en resolución de problemas computacionales?
- RQ4. ¿Cuáles son los tópicos más investigados?
- RQ5. ¿Se han utilizado los objetos de aprendizaje como estrategia didáctica en la resolución de problemas computacionales?
Búsqueda
Para la fase de búsqueda se utilizó la estrategia de búsqueda población/intervención/comparación/resultados (PICO, por sus siglas en inglés), la cual fue desarrollada para identificar palabras clave y formular cadenas de búsqueda a partir de preguntas de investigación.
En nuestro SLM se definió de la siguiente manera:
- Población: los estudios sobre resolución de problemas algorítmicos.
- Intervención: las herramientas tecnopedagógicas utilizadas para favorecer la resolución de problemas computacionales.
- Comparación: en este estudio se pretende analizar las habilidades con las que deben contar los estudiantes para la resolución de problemas y las estrategias utilizadas para favorecerla.
Hablar de resolución de problemas significa tomar en cuenta el pensamiento algorítmico, el pensamiento computacional, el lógico y el matemático. Se consideraron también las estrategias tecnopedagógicas, tal y como los de objetos de aprendizaje, para facilitar la resolución de problemas. Por lo tanto, las palabras claves identificadas fueron las siguientes: solving computer problems, learning objects, computational thinking y algorithmic thinking.
Las cadenas de búsqueda utilizadas fueron: solving computer problems, learning objects in programming, techno-pedagogical strategies in solving computer problems, learning objects like programming strategy, learning objects like solving computer problems strategy, development of algorithmic thinking with the support of learning objects y the use of learning objects for solving computer problems.
La búsqueda se realizó en español y en inglés en las bases de datos ERIC e IEEE; posteriormente a través de Internet y el explorador Google Scholar y Semantic Scholar.
Los artículos se excluyeron con base en los criterios puestos a continuación:
- Título y resumen en los que no se hiciera mención explícita de la resolución de problemas algorítmicos.
- Lectura de texto completo; su revisión rápida se enfocó en identificar si se mencionaba los elementos de interés en esta investigación.
- Evaluación de la calidad de acuerdo con la relevancia del contenido para dar respuesta a las preguntas de investigación.
Otros criterios tomados en cuenta para la exclusión de un artículo fueron:
- El año de la publicación, con una antigüedad mayor a 10 años.
- Estudios publicados en idiomas diferentes al inglés y al español.
- Estudios no accesibles en texto completo.
Selección
La primera fase consistió en la selección preliminar de los artículos a partir de la revisión del título del documento, al igual que del resumen, con el objetivo de seleccionar aquellos que hicieran referencia explícita a la resolución de problemas algorítmicos; posteriormente, se eligieron aquellos artículos que mencionan a las habilidades algorítmicas, el pensamiento algorítmico o computacional y el pensamiento lógico. Se incluyeron también los documentos que contienen estrategias para la resolución de problemas o para el desarrollo de habilidades en programación, así como el uso de objetos de aprendizaje. En esta primera selección se obtuvieron 35 registros bibliográficos.
En una segunda fase se realizó una valoración con base en la exploración del texto completo, poniendo especial interés en los puntos de interés referentes a la resolución de problemas computacionales. En esta fase se llegó a la cifra final de 26 documentos.
En la Tabla 3 se enlista el número de artículos por año. Aunque preferentemente se sugiere la selección de artículos de cinco años a la fecha, en esta revisión se consideró desde el año 2009 por estar dentro del límite de 10 años.
Evaluación de la calidad
Los criterios de calidad considerados al evaluar los artículos seleccionados fueron: lugar de publicación (base de datos, revista), el tipo de publicación, es decir, tesis, artículo o conferencia, la importancia del contenido para contestar las preguntas de la investigación y el diseño metodológico de la investigación y del análisis de los datos.
En la Tabla 4 se presenta un resumen cuantitativo de los tipos de publicación seleccionados.
Extracción de datos y síntesis
En esta etapa se realizó una extracción de datos en una hoja de cálculo con el objetivo de contestar las preguntas de investigación.
En cuanto a la pregunta RQ1. ¿En qué revistas y en qué eventos se publican artículos sobre resolución de problemas computacionales?, se obtuvieron las revistas listadas en la Tabla 5.
De los artículos seleccionados se incluyó a) uno presentado en la XIV Conferencia Internacional sobre Aprendizaje Cognitivo y Exploratorio en la Era Digital perteneciente al Servicio de Información Comunitario sobre Investigación y Desarrollo (Cordis) de la Comisión Europea; b) cuatro artículos del Congreso sobre Tecnología en Educación y Educación en Tecnología de la Universidad Nacional de la Plata en Argentina, y c) uno en publicado en las actas de la Innovation and Technology in Computer Science Education (ITiCSE) de 2009.
En cuanto a la pregunta RQ2. ¿Qué grupos de I+D trabajan actualmente en resolución de problemas algorítmicos?, el análisis de los artículos seleccionados permitió identificar a investigadores en el área de resolución de problemas algorítmicos. Se tomó en cuenta su trayectoria profesional y su interés en las dificultades que encuentran los estudiantes en el proceso de resolución de problemas algorítmicos y el desarrollo de estrategias que permitan favorecer la competencia del pensamiento algorítmico.
Marcia Mac Gaul de Jorge, docente investigadora de la Universidad de Salta, Argentina, trabaja principalmente en las asignaturas básicas de programación de la licenciatura de Análisis de Sistemas; dirige junto con sus colegas proyectos de investigación y desarrollo acreditados por el consejo de investigación de Proyectos de Investigación Científica y Tecnológica Orientados (Picto) y la Agencia Nacional de Promoción Científica y Tecnológica (Anpcyt). Es la primera autora de cuatro publicaciones entre los años 2008 y 2015 sobre la resolución de problemas, los procesos cognitivos, el pensamiento algorítmico, el lógico y sobre el desarrollo de una herramienta de desarrollo para motivar el aprendizaje de programación en un ambiente lúdico.
Eva Milková, profesora del departamento de Informática de la Universidad de Hradec Králové, de la República Checa; realizó investigaciones sobre el desarrollo del pensamiento algorítmico, así como de herramientas para favorecerlo. Entre el año 2005 y 2017 publicó artículos sobre el desarrollo del pensamiento algorítmico, incluyendo el uso de aplicaciones multimedia y tareas prácticas y entretenidas para favorecerlo.
Benjamin A. Burton, licenciado en Ciencias y doctor por la Universidad de Melbourne, fue director de capacitación para el programa olímpico de informática australiano desde 1999 hasta 2008, y ahora forma parte del Comité Científico de la Olimpiada Internacional de Informática (IOI, por sus siglas en inglés), principal competencia mundial para estudiantes de secundaria en programación de computadoras y diseño de algoritmos. Ha estado involucrado en la Competencia de Informática Australiana (AIC) desde su inicio en 2005, y editó los documentos de la AIC durante los primeros tres años. Actualmente es miembro investigador del QEII Centre en la Universidad de Queensland, donde trabaja en geometría computacional y topología en tres y cuatro dimensiones.
Respecto a la pregunta RQ3. ¿Qué tópicos se abordan en resolución de problemas computacionales?, en la Tabla 6 se enumeran los autores, tópico y tipo de estudio.
En relación con la pregunta RQ4. ¿Cuáles son los tópicos más investigados?, los siguientes temas fueron los más recurrentes:
- La adopción de una manera de pensar creativamente denominada pensamiento algorítmico para la resolución de problemas computacionales.
- Estrategias para el aprendizaje de programación.
- Estrategias para el desarrollo del pensamiento algorítmico.
- Cómo medir el pensamiento algorítmico
Finalmente, en cuanto al cuestionamiento RQ5. ¿Se han utilizado los objetos de aprendizaje como estrategia didáctica en la resolución de problemas computacionales?, a través del SLM realizado se observa que los objetos de aprendizaje se han utilizado para favorecer el aprendizaje de programación desde hace más de una década y recientemente para desarrollar el pensamiento algorítmico y computacional.
Discusión
El objetivo principal de los cursos de programación inicial es el diseño de algoritmos. Los estudiantes deben entender cómo funciona uno y, después de eso, comenzar a describirlo en algún lenguaje de programación.
Sin embargo, estos cursos han experimentado las tasas de fracaso más altas el área de informática, como lo manifiestan Begosso et al. (2015)Mac Gaul de Jorge et al. (2015), Tuparov et al. (2012), entre otros. Es por ello por lo que diversas investigaciones han intentado la adopción de nuevas herramientas y enfoques pedagógicos, con el objetivo de apoyar el aprendizaje de los estudiantes de una manera más agradable y eficiente. Una herramienta de instrucción que ha sido utilizada en los últimos años han sido los objetos de aprendizaje.
Los objetos de aprendizaje se han utilizado para favorecer la comprensión de los conceptos abstractos de programación tanto en universidades como en escuelas secundarias; especialmente han servido de soporte en el aprendizaje de los estudiantes que inician sus estudios en programación, tal y como lo manifiesta Matthews (2014). Asimismo, Guerrero y García (2016) señalaron el éxito del uso de los objetos de aprendizaje para desarrollar el pensamiento algorítmico; este par de autores resaltó que las características visuales y de fácil navegación promueven entre los estudiantes su uso, el de los objetos de aprendizaje, y motivan al estudiante a desarrollar un mayor compromiso con su formación.
La respuesta obtenida durante el uso de objetos de aprendizaje por parte de los estudiantes fue positiva en diversas investigaciones, como lo exponen Guerrero y García (2016) y Tuparov et al. (2012).
Conclusiones
El área de desarrollo de software ha experimentado una rápida expansión y esta tendencia no se detiene. Los estudiantes deben ser capaces de crear varios algoritmos para resolver problemas específicos, comenzando con los más sencillos, aumentando de forma consecutiva su conocimiento algorítmico hasta lograr el nivel en el que comprendan grupos de operaciones mucho más complejos.
Enseñar algoritmos y conceptos de programación para estudiantes de primer año ha sido un gran desafío para las universidades. Los nuevos estudiantes de ciencias de la computación generalmente tienen dificultades para entender y abstraer la comprensión del problema a resolver. Una de las grandes dificultades de aprender durante los semestres iniciales es el desarrollo del pensamiento algorítmico, lo que aumenta el nivel de fracaso de los estudiantes y también la tasa de deserción de dichos cursos.
A modo de recapitulación, el SLM se comenzó con el análisis de 35 artículos; se prosiguió con un análisis más crítico, donde se tomaron en cuenta los criterios de exclusión definidos líneas arriba; consecuentemente, se descartaron nueve artículos. A partir de los 26 artículos restantes se contestaron las preguntas de investigación. Luego de todo esto se puede concluir que la resolución de problemas computacionales representa una dificultad para los estudiantes en una etapa introductoria en la programación. Es de resaltar la necesidad de la capacidad de abstracción y análisis para identificar y comprender el problema. Y también se observa que existe el interés en la definición y manipulación de estrategias que fomenten el pensamiento algorítmico como habilidad en la resolución de problemas. Por último, se distinguen los objetos de aprendizaje como una alternativa para mejorar el proceso de enseñanza-aprendizaje en cursos de programación y en el desarrollo del pensamiento algorítmico.
El mapeo constituye una estrategia de búsqueda y selección de la literatura. En ese sentido, una primera limitante de este estudio la constituyó la elección preliminar de los artículos, a partir de la revisión del título del documento y el resumen de la investigación, lo que no permitió profundizar en los hallazgos de las investigaciones; una segunda limitante fue no identificar el tipo de estudio en el resumen: algunos artículos seleccionados no lo incluían.
Por otro lado, el SLM constituye una base para realizar una revisión sistemática de la literatura, lo que en futuras investigaciones permitirá responder a preguntas de investigación específicas relacionadas con resultados de estudios empíricos.
Resolver problemas es un aspecto recurrente en programación que requiere de la capacidad de integrar y aplicar una serie de conceptos fundamentales, habilidades cognitivas y estilos de pensamiento. Desarrollar habilidades para resolver problemas de manera metodológica es crucial para el desarrollo de algoritmos como un paso anterior a la creación de programas de computadora, por lo que, como otra futura línea de investigación, se propone el desarrollo de una estrategia tecnopedagógica con el objetivo de favorecer la competencia de resolución de problemas algorítmicos.
Resumen
Introducción
Fundamentación teórica
Mapeo sistemático sobre resolución de problemas algorítmicos
Método
Planificación
Búsqueda
Selección
Evaluación de la calidad
Extracción de datos y síntesis
Discusión
Conclusiones