Está en la página 1de 7

INNOVACIÓN EN EDUCACIÓN USANDO PENSAMIENTO COMPUTACIONAL Y

ROBÓTICA

Jesús R. Campaña Gómez. jesus.campana@iespedrojimenezmontoya.es.


I.E.S. Pedro Jiménez Montoya. Baza. (Granada)
Ana E. Marín Jiménez. anamarin@ugr.es.
Dpto. de Métodos Cuantitativos para la Economía y la Empresa
Jesús Montejo Gámez. jmontejo@ugr.es.
Dpto. Didáctica de la Matemática
Calixto Gutiérrez-Braojos. calixtogb@ugr.es.
Depto. de Métodos de Investigación y Diagnóstico en Educación
Universidad de Granada.

1. INTRODUCCIÓN

En la sociedad actual la tecnología está presente en nuestro día a día. La idea de alfabetización digital
pasa por aprendizaje y uso de las tecnologías, pero va más allá, los ciudadanos deben evolucionar en
su rol de consumidores de tecnología y convertirse en productores de tecnología. Con esta idea en
mente, nace una corriente educativa que propone el paradigma del pensamiento computacional como
área de estudio transversal para todos los niveles educativos.

A través del aprendizaje de la programación, el pensamiento estructurado, y la robótica, podemos


acercar la tecnología a los ciudadanos desde una edad muy temprana. Desde el ámbito universitario
estamos proporcionando al alumnado de los diversos Grados de Educación, formación en las
principales herramientas utilizadas en pensamiento computacional, con la idea de que puedan formar
a las próximas generaciones. Adicionalmente, se está utilizando esta metodología para mejorar el
aprendizaje de las materias de programación en el Grado de Ingeniería Informática.

2. MARCO TEÓRICO

La necesidad de aprender programación como parte de la formación del individuo es una idea
afianzada desde hace mucho tiempo. En 1962 Perlis, manifestó su opinión acerca de la necesidad de
que todo el mundo aprendiese a programar como parte de su educación, Perlis (1962). Esta idea partía
de la comprensión de que en el futuro la mayor parte de las tareas estarían ejecutadas en forma de
procesos por máquinas. Esta idea visionaria está cada vez más cerca de la realidad gracias a un
movimiento educativo que intenta impulsar el aprendizaje del Pensamiento Computacional
(Computational Thinking - CT), desde los niveles más básicos del sistema educativo.

Jeannette M. Wing definió el pensamiento computacional como un acercamiento a la resolución de


problemas, diseño de sistemas y comprensión del comportamiento humano que usa los conceptos
fundamentales de la computación, Wing (2006). La idea principal tras este movimiento es realizar un
cambio de paradigma en el que se pase del ciudadano consumidor de tecnología al ciudadano
productor de tecnología.

En los últimos años se han desarrollado grandes cantidades de herramientas de apoyo al pensamiento
computacional Guzdial (2008). Google y el Instituto Tecnológico de Massachusetts (MIT) han
apostado por acercar el aprendizaje de la programación a todas las edades. A través de cursos de
formación (https://computationalthinkingcourse.withgoogle.com/) y herramientas de programación
para jóvenes, Resnick et al. (2009) – https://scratch.mit.edu/, han abierto la puerta a multitud de
iniciativas que no dejan de aportar nuevas herramientas que usar en la práctica docente. La marcada
orientación pedagógica de algunas de estas herramientas, y su orientación “para todos los públicos”
son tremendamente útiles para la iniciación a la programación.

Estas herramientas son apropiadas para comprender las estructuras de un lenguaje de programación, y
para ejercitar la capacidad de resolución de problemas abstrayéndonos del lenguaje concreto en que se
programa.

A través de sencillos ejercicios como los presentados en la Hora de Código (https://code.org/) se


aprenden los elementos básicos comunes a todo lenguaje, los cuales están representados de forma
visual como piezas de un puzle que encajan entre sí para formar programas. Una vez el alumnado está
familiarizado con esta forma de crear programas, se puede pasar a trabajar la resolución de problemas
con otros recursos como por ejemplo Blockly Games, Fraser (2013) - https://blockly-
games.appspot.com/.

Pero, ¿qué tipo de habilidades se ejercitan al crear un programa?. El proceso de creación de programa
incluye las siguientes etapas, Posada (2016):

1. Reformulación del problema. Es necesario adaptar el problema que se desea resolver a una
formulación que se pueda resolver a través de computación.

2. Organización y análisis de los datos. Esto permite al alumnado identificar patrones y extraer
conclusiones iniciales.

3. Representación de los datos. Implica tareas de descomposición y abstracción.

4. Automatización de la solución. Permite el diseño creativo de algoritmos, encontrar


soluciones imaginativas, eficaces y eficientes a problemas reales.

5. Codificación. A través de la creación del programa, se diseña una representación estructurada


del algoritmo diseñado para la resolución del problema.

6. Depuración. Una vez creado el programa, es necesario revisarlo en busca de errores. Esta es
una parte muy importante del proceso de programación y que requiere de mucho tiempo.
Permite al alumnado validar la solución y el programa planteados, y puede darse el caso en
que sea necesario replantearse la solución propuesta.

7. Analizar soluciones alternativas. Una vez el programa es correcto, nos podemos plantear si
se puede resolver de manera más eficiente, de tal forma que sea más rápido, use menos
memoria o que ofrezca mejores resultados. Esta etapa es muy importante, ya que el alumnado
tomará conciencia de que los programas no sólo han de funcionar, sino hacerlo de la mejor
manera posible.

8. Generalización. Transferir la solución alcanzada a otros casos más generales. Habitualmente


en sus primeros programas el alumnado tiende a crear algoritmos específicos que solucionan
unas necesidades concretas, pero con el tiempo y la guía adecuada, aprenderán a realizar
programas genéricos que sirvan para multitud de casos diferentes.

Esto permite además trabajar una serie de actitudes, confianza en el manejo de la complejidad,
persistencia (ya que se trabaja con problemas difíciles), tolerancia a la ambigüedad, habilidad para
enfrentarse a problemas no estructurados, habilidad para comunicarse y trabajar con otros para
alcanzar una solución común.

En este punto podría parecer que el pensamiento computacional trata básicamente del aprendizaje de la
programación. Esto no es así, ya que aunque la programación como herramienta es una parte
fundamental, en realidad el pensamiento computacional implica la resolución de problemas con una
metodología propia que incorpora creatividad, razonamiento lógico y pensamiento crítico. Buena
prueba de esto es, que es posible aplicar la metodología del pensamiento computacional sin el uso de
un ordenador, mediante puzles, manualidades, juegos, etc.

Actualmente existen juguetes tecnológicos basados en robótica, como los robots Lego Mindstorms
(http://mindstorms.lego.com/), que se pueden programar con entornos visuales que siguen los
preceptos del pensamiento computacional. La aplicación directa de programas a la robótica es de gran
utilidad para el alumnado, que puede observar de forma directa el efecto que tienen los programas que
ha desarrollado en el mundo físico, en este caso a través del robot. Por no mencionar el gran atractivo
que supone el manejar un robot, que ha diseñado y construido el propio alumnado.

El principal reto para la incorporación del pensamiento computacional y la robótica al aula es el diseño
y puesta en práctica de proyectos en los que se integre de forma transversal con todas las áreas,
favoreciendo un aprendizaje con base tecnológica, constructivo, que conecte diversas disciplinas y que
permita alcanzar las competencias establecidas en el currículo.

3. DESARROLLO DE LA EXPERIENCIA

Desde nuestra posición como docentes universitarios, nos resulta compleja la aplicación de
metodologías basadas en el aprendizaje del pensamiento computacional directamente con los grupos
escolares a los que van dirigidas (Preescolar hasta Bachillerato). Sin embargo, como formadores de
futuros profesionales de la educación a través de las titulaciones de Grado en Educación Infantil,
Grado en Educación Primaria, y Máster Universitario en Profesorado de Enseñanza Secundaria
Obligatoria y Bachillerato, Formación Profesional y Enseñanzas de Idiomas, transmitimos la
importancia del pensamiento computacional, y proporcionamos al alumnado conocimientos básicos,
para que ellos puedan ponerlos en práctica en el futuro con sus estudiantes.

A continuación describiremos brevemente las herramientas en las que les damos formación. Al
alumnado de primer curso de Ingeniería Informática, se les propuso una sesión inicial de introducción
a la programación. Primero se les dio tiempo para realizar el tutorial de introducción de la página
https://code.org/ de una hora de duración aproximadamente. El tutorial consiste en la realización de
una actividad introductoria (https://studio.code.org/hoc/1) en la que se deben resolver 20 puzles
usando las principales estructuras de programación. En la Figura 1 se puede observar la fase inicial.

Cada uno de los puzles se explicaba brevemente en la pizarra digital y alumnado los resolvía en sus
ordenadores, se comentaba brevemente el resultado y se avanzaba al siguiente puzle.
Figura 1. Iniciación a la programación con la Hora de Código

Una vez terminada la introducción se procedía a realizar algunos ejercicios más complejos de la
página https://blockly-games.appspot.com/, que seguían el mismo patrón de seguir un camino o
recorrer un laberinto. Al finalizar la sesión se le dejaba planteado como trabajo autónomo la resolución
del último ejercicio, el cual se muestra en la Figura 2.

Figura 2. Ejercicios de trabajo autónomo de dificultad avanzada

Con esta actividad pretendíamos que ejercitasen todas las estructuras aprendidas, y sobretodo que se
familiarizasen con el proceso de depuración de un programa, por el cual una vez desarrollado un
programa se prueba hasta que funciona correctamente. Este ejercicio estaba particularmente indicado
para este objetivo, ya que la solución es compleja y es difícil de conseguir en el primer intento.
Para iniciarse en la programación de robots Lego Mindstorms, se organizó un seminario que se
impartió al alumnado del Campus de Ceuta de la Universidad de Granada, en las titulaciones de Grado
en Ingeniería en Informática y Máster Universitario en Profesorado de Enseñanza Secundaria
Obligatoria y Bachillerato, Formación Profesional y Enseñanzas de Idiomas. El seminario consistió en
una breve exposición de los fundamentos de programación de los robots, y el uso del interfaz de
programación.

El kit básico de Lego Mindstorms incluye un Brick (ladrillo), que es el corazón del robot, en el se
encuentran todos los puertos que se conectan con los sensores y motores a través de cables, y es donde
se cargan los programas para su ejecución. La programación del robot se puede hacer desde del mismo
Brick, ya que incluye un sencillo interfaz de programación que permite realizar programas básicos. Si
se desea realizar programas más complejos, se puede descargar un entorno de programación gratuito
tanto para PC como para Tablet. También se incluyen motores, para mover el robot, y sensores de
color, táctiles, de distancia por infrarrojos, y un giroscopio. Adicionalmente se incluye una gran
variedad de piezas de Lego para construir el cuerpo de los robots.

La construcción del robot es sencilla, se crea un armazón con piezas de Lego en el que se integra el
Brick y los sensores que se vayan a utilizar, y se conectan los sensores al brick mediante cables. Desde
la interfaz de programación se crea el programa, y se carga en el Brick mediante un cable USB. Una
vez está cargado el programa en el Brick se puede ejecutar desde la interfaz gráfica, o desde el propio
Brick usando los controles que tiene integrados.

A través del entorno se crean programas conectando distintas piezas. Existen diversos conjuntos de
piezas agrupados por colores, tal como se muestra en la Figura 3:

1. Bloques de acción (verdes): Sirven para mover los motores, emitir sonidos, mostrar mensajes
en la pantalla del Brick o cambiar su luz de estado.

2. Bloques de flujo (naranjas): Permiten establecer el flujo de control del programa, iniciando y
parando acciones, repitiendo acciones, o permitiendo elegir acciones a realizar en base a una
condición.

3. Bloques de sensores (amarillos): Permiten obtener la lectura de los valores tomados por los
sensores. En combinación con los otros bloques nos permiten realizar acciones según los
valores recibidos por los sensores, por ejemplo, dar marcha atrás si el sensor de presión detecta
que se choca con una pared.

4. Bloques de datos (rojos): Permiten almacenar datos en memoria y realizar operaciones sobre
ellos.

5. Bloques avanzados (azules): Permiten acceder a archivos, mandar mensajes, detener el


programa, etc.

6. Bloques personalizados (celestes): Están definidos por el usuario, son conjuntos de bloques
de uso común, que pueden reutilizarse definiéndolos como bloques personalizados. De esta
forma, cuando queramos volver a usarlos, en lugar de tener que crearlos desde cero, podemos
usar los creados previamente. Por ejemplo, girar a un lado cuando nos acerquemos a un
obstáculo.
Figura 3. Conjunto de bloques básico disponible para Lego Mindstorms.

Para dejar que el alumnado se familiarizase con el entorno de programación y la interacción con el
robot, se les propuso realizar programas de temática libre. Posteriormente se les mostró un robot ya
montado que seguía una línea dibujada en el suelo, y se les propuso que formularan un algoritmo para
realizar dicha acción, a través de la observación directa del comportamiento del robot. Tras una sesión
de brainstorming, se les mostró la solución empleada y se explicó con detalle.

Pese a que las actividades realizadas han sido puntuales, han tenido un gran calado en el alumnado y
esperamos que las empleen en su futuro como docentes.

4. DISCUSIÓN

En este trabajo se ha presentado la experiencia realizada con alumnos de nivel universitario a los que
se introducía en la metodología del pensamiento computacional con dos objetivos diferenciados.

En el primer caso se trataba de alumnos del Grado en Ingeniería Informática de Ceuta, que iban a
comenzar a aprender programación. En este caso pudimos observar como si bien el rendimiento
académico comparado con el del año anterior mejoraba, aunque no de forma sustancial (se pasaba de
una tasa de éxito del 38% a una del 46%), sí que la motivación del alumnado aumentaba
considerablemente tal como pusieron de manifiesto tanto en clase como en las sesiones de tutoría
individuales y grupales.

En el segundo caso, se introdujo a futuros formadores en los conceptos básicos del pensamiento
computacional, con el objetivo de que puedan incorporarlo como una herramienta más en su práctica
docente. En este caso no ha sido posible obtener una valoración de tipo numérico, pero de nuevo la
motivación ha sido muy alta, y han demostrado un interés especial por la realización de actividades
que impliquen el uso de las nuevas herramientas, y en particular el de los robots Lego Mindstorms.

5. CONCLUSIONES

La utilización de la metodología del pensamiento computacional y de sus herramientas asociadas, ha


supuesto un nuevo enfoque que el alumnado ha aceptado de forma muy positiva.

Es particularmente interesante el que el alumnado del Máster Universitario en Profesorado de


Enseñanza Secundaria Obligatoria y Bachillerato, Formación Profesional y Enseñanzas de Idiomas, ha
visto posibles aplicaciones a cada una de sus diversas disciplinas. Es muy importante la difusión de
estas herramientas entre los futuros docentes, para que puedan ser parte activa de su implantación en el
sistema educativo.

El uso de interfaces visuales, robots, y elementos interactivos permite captar la atención del alumnado
al tiempo que se trabajan habilidades tan importantes como la abstracción y el pensamiento
estructurado.

En cursos futuros diseñaremos actividades basadas en estos principios para que el alumnado pueda
llevarlas a cabo en el prácticum de las respectivas titulaciones, llevando así de forma real este
conocimiento al aula.

Agradecimientos

Los autores desean agradecer su colaboración al Equipo Directivo y al Departamento de Informática del I.E.S.
Pedro Jiménez Montoya de Baza (Granada), y al Equipo Decanal de la Facultad de Educación, Economía y
Tecnología de Ceuta (Universidad de Granada).

6. REFERENCIAS

Fraser, N. (2013). Blockly: A visual programming editor. Recuperado el 24 de Mayo de 2018, de


https://developers.google.com/blockly/

Guzdial, M. (2008). Education Paving the way for computational thinking. Communications of the
ACM, 51(8), 25-27.

Perlis, A. (1962) The computer in the university. In M. Greenberger, Ed., Computers and the World
of the Future, MIT Press, Cambridge, MA, pp. 180–219.

Posada, F., (2016). Modelo CSTA para el Pensamiento Computacional. Recuperado el 24 de Mayo de
2018, de https://canaltic.com/blog/?p=2565

Resnick, M., Maloney, J., Monroy-Hernández, A., Rusk, N., Eastmond, E., Brennan, K., Millner, A.,
Rosenbaum, E., Silver J., Solverman, B. y Kafai, Y. (2009). Scratch: programming for all.
Communications of the ACM, 52(11), 60-67.

Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33-35.

También podría gustarte