Introducción
Es evidente que la sociedad actual se encuentra sumergida en una cambiante era tecnológica, lo cual ha obligado a la creación de esquemas de enseñanza que promuevan el desarrollo de habilidades que se ajusten a las demandas actuales. Por eso, como señalan Espino y González (2015), se debe orientar a los niños y niñas para que cultiven ciertas capacidades digitales esenciales para la vida cotidiana y laboral.
En tal sentido, según un estudio realizado por Salesforce Economy, para el año 2024 se estima un aumento anual de 44 % en puestos especializados de inteligencia artificial y 38 % en los empleos relacionados con el internet de las cosas (Gantz, 2019), conceptos novedosos en el área tecnológica. Por ese motivo, resulta vital incorporar en edades tempranas el uso y el desarrollo de tecnología, como sucede en diversas naciones (p. ej., como EE. UU, Reino Unido, Nueva Zelanda, Corea del Sur e Israel), donde han incluido dentro de sus programas educativos la enseñanza de la programación de computadoras (Mannila et al., 2014).
Entre las competencias que los niños y niñas deben adquirir en la proliferación de las tecnologías de la información y comunicación (TIC) se encuentran el análisis de información, la representación de esta mediante abstracciones (tales como modelos y simulaciones), la automatización de soluciones empleando el pensamiento algorítmico, y la generalización y transferencia del proceso de resolución de problemas mediante una computadora. Estas competencias se engloban dentro de lo que Wing (2006) denomina pensamiento computacional (PC). Su desarrollo no solo aminora los costos y sus efectos son más duraderos que los iniciados en etapas tardías, sino que también ayudan a sortear muchos obstáculos al momento de ingresar a un campo de trabajo específico (González-González, 2019).
En el presente trabajo, por ende, se emplean diversas técnicas didácticas en un taller de programación de computadoras para fomentar climas de confianza y creatividad donde los participantes adquieran los contenidos del PC desde un rol construccionista. Al respecto, cabe destacar que el construccionismo entiende a la tecnología y particularmente a la computadora como unas estructuras ideales donde el niño puede genuinamente construir su conocimiento desde “un sentido de dominio sobre un elemento de la tecnología moderna y de las ideas más profundas de la ciencia, la matemática y el arte de construcción de modelos intelectuales” (Papert, 1987, pp. 17-18). Esta referencia a la filosofía constructivista se hace para abordar el desarrollo del pensamiento computacional utilizando recursos didácticos en la programación de computadora conectada y desconectada en alumnos de educación básica.
Trabajos relacionados
El PC está siendo ampliamente estudiado debido a la tendencia actual que aboga por la inclusión de la ciencia informática en instancias cada vez más tempranas de la educación formal. Para ello, los investigadores y maestros están empleando ejercicios de programación desde una computadora (es decir, actividades conectadas), así como estrategias didácticas que permitan entender conceptos del entorno de las ciencias de la computación sin la necesidad de usar una computadora (es decir, actividades desconectadas). El uso de actividades desconectadas como recurso didáctico para transmitir los conceptos de PC se justifica para tener un aprendizaje significativo a través de experiencias kinestésicas, lo cual tiene un menor costo y beneficia a los niños que carecen de equipos informáticos (Huang y Looi, 2021; Venkatesh, Das y Das, 2021). Esto, según Papert (1980), se puede aplicar mediante el uso de determinados juegos.
Otro de los precursores de la programación desconectada (PD) es Tim Bell (Bell, Alexander, Freeman y Grimley 2009), quien explica que este tipo de aprendizaje no solo simula los procesos que realiza una computadora, sino que también brinda a los estudiantes la posibilidad de explorar las ideas fundamentales de la CS. En concordancia con esta idea, la Universidad de Canterbury (25 de febrero de 2020) promueve un entorno constructivista donde los participantes reciben desafíos basados en reglas sencillas que permiten descubrir por propia cuenta poderosas ideas de CS. En pocas palabras, no solo constituye una forma más de aprendizaje significativo, pues también los empodera para darse cuenta de que son ideas que están a su alcance.
Asimismo, investigadores en el campo de la enseñanza de PC afirman que el uso de PD facilita el aprendizaje de conceptos relacionados con el CS, como lo señalan Hufad, Faturrohman y Rusdiyani (2021), quienes trabajaron con niños de entre 5 y 6 años de edad en la resolución de problemas mediante ejercicios de PD. En su investigación, identificaron que las habilidades de resolución de problemas mejoran si las actividades son lúdicas, pues esto mantiene motivados a los niños. Lógicamente, cada estrategia varía dependiendo de su naturaleza. Por ejemplo, Threekunprapa y Yasri (2021) se basaron en la realidad aumentada para enseñar diagramas de flujo a un grupo de jóvenes de una escuela secundaria.
Otro de los factores de estudio de la PD es identificar las variables que influyen en el aprendizaje de habilidades del PC, como lo explican Hsu, Chang y Hung (2018), quienes midieron la participación por género en la implementación de un taller de programación, pues -según Dagiene, Pelikis y Stupurienė (2015)- existen diferencias entre hombres y mujeres para desarrollar la habilidad de resolver un problema a través de los referidos recursos tecnológicos. De hecho, en el trabajo por Torres-Torres, Román-González y Pérez-González (2019) se describen algunas actividades no desconectadas usadas con un grupo de mujeres no sólo para acercarlas a temas de ciencia, tecnología, ingeniería y matemáticas, sino también con el fin de que pudieran crear códigos más complejos que los elaborados por los hombres. La motivación, por tanto, es otro factor de estudio para el logro de la adquisición de habilidades del PC cuando se emplean actividades PD (Brackmann et al., 2017; Del Olmo, Cózar-Gutierrez y González-Calero, 2020).
Método
Se realizó un taller de programación por bloques. Para ello, se usó el lenguaje de programación Scratch (Fagerlund, Häkkinen, Vesisenaho y Viiri, 2021) y se emplearon recursos didácticos aplicados a la programación conectada y desconectada con un grupo de 22 estudiantes de sexto grado de educación básica (11 niñas y 11 niños).
Asimismo, se utilizó un diseño experimental mixto para identificar la aceptación y el uso de la programación mediante bloques y para determinar el grado de adquisición de conceptos y habilidades del pensamiento computacional.
Para registrar las actividades finales efectuadas por los estudiantes se utilizaron grabaciones en video (Imler y Eichelberger, 2011), lo cual facilita la observación del desarrollo de las prácticas, especialmente en todo lo relacionado con uso correcto de las estructuras de control, procesos como la definición de variables, elementos de entrada de datos y visualización de los resultados.
Como punto inicial se aplicó una encuesta para identificar el uso de equipos de cómputo en casa. Los resultados demuestran que 73.68 % de los participantes en el taller carecen de equipos de cómputo. Por eso, se decidió efectuar un taller durante 10 semanas (dos horas por sesión) después de las horas de estudio. Para concretar este taller en dicho horario se solicitó la autorización a los padres.
La planeación de las actividades tuvo la estructura siguiente: objetivo por cumplir en cada sesión, desglose de los temas, materiales y estrategias para el desarrollo de actividades conectadas y desconectadas, las cuales se describen a continuación.
Primera sesión. Se explicó a los participantes los conceptos de algoritmo de computadora, instrucción, pasos o actividades. De este modo, el niño podía identificar la construcción de estos y describir un acontecer cotidiano mediante el uso de esta herramienta. Luego, el equipo de trabajo se encargó de jugar con el algoritmo en conjunto con los niños y niñas.
Segunda sesión. Los alumnos iniciaron con la interacción de la herramienta de programación. Esto permite conocer algunas sentencias elementales para mover objetos en el entorno de programación Scratch. Se trabajó previamente con actividades desconectadas a la computadora para adquirir o reforzar el concepto coordenada por medio de elementos para ubicar en un cuadrante (Figura 1).
Posteriormente, se usó el entorno de trabajo Scratch, y por medio de la programación se movió un objeto por diferentes puntos, lo que permitió involucrar el uso de la programación conectada. Se enseñaron instrucciones del entorno para mover imágenes mediante pequeños códigos con la finalidad de explicar elementos básicos que se podían usar durante el curso.
Tercera sesión. Nuevamente se presentaron actividades desconectadas, como el juego de dados, para explicar el proceso de sumatoria. Mediante esta actividad se inició el conocimiento del concepto de ciclo en una actividad conectada donde los alumnos identificaron las instrucciones y aprendieron a construir sentencias de repetición.
Cuarta sesión. Se trabajó el concepto variable en la actividad desconectada. Para ello, se usaron bolsas de papel para representar las fases de creación de una de ellas, es decir, nombrado e inicialización, dependiendo el contenido de la bolsa (galletas o dulces) (Figura 2).
Identificadas las fases de la creación de las variables, se pasó a la plataforma de programación para implementar desde la herramienta los pasos siguientes para el uso de variables.
Quinta sesión. Se trabajó con actividades conectadas para dar a conocer el concepto bloque si-entonces, mediante un programa propuesto por el instructor donde el alumno replica el mecanismo de la instrucción (Figura 3).
Sexta sesión. Se utilizaron actividades desconectadas para explicar la composición de expresiones aritméticas básicas, las cuales empezaron a construir los propios niños mediante operadores aritméticos (Figura 4).
Por otra parte, se usó la plataforma para identificar la sección donde se ubicaban los operadores aritméticos, y se explicó cómo se debían llevar a cabo la construcción de algunas expresiones aprendidas en la PD.
Séptima sesión. En esta se empezaron a conjuntar los conocimientos adquiridos en las actividades vistas para introducirlos al concepto de pseudocódigo y construcción de la solución en el entorno de Scratch. Además, se inició el proceso de verificación y validación como parte del desarrollo de software (Figura 5).
Las actividades anteriores reforzaron los conceptos de pensamiento computacional desde las competencias de abstracción, pensamiento algorítmico y verificación, mediante las estrategias que fueron explicadas por medio de bloques en la plataforma de programación.
En la siguiente sección se describen los hallazgos recabados a lo largo del taller de programación.
Resultados
Como parte del estudio de los resultados, se elaboró un cuestionario para evaluar el grado de aceptación de las actividades conectadas y desconectadas desarrolladas (Tabla 1).
# | Pregunta | Totalmente en desacuerdo | En desacuerdo | Ni de acuerdo ni en desacuerdo | De acuerdo | Totalmente de acuerdo |
1 | Aprendo varios conceptos nuevos de programación en cada sesión que tenemos. | 4.55 % | 0.00 | 4.55 % | 64 % | 27.26 % |
2 | Aprendo en este curso de Scratch por qué me puede servir en el futuro | 0.00 | 4.55 % | 0.00 | 3 % | 81.82 % |
3 | Entiendo los pasos que debemos usar para hacer un programa en Scratch | 4.55 % | 0 % | 9.08 % | 54.55 % | 31.82 % |
4 | Si hay algo que no comprendo durante el curso, lo pregunto a mis amigos | 9.09 % | 4.55 % | 22.73 % | 18.18 % | 40.91 % |
5 | Prefiero que los profesores me expliquen todo lo relacionado a la actividad | 9.09 % | 0.00 % | 18.18 % | 18.18 % | 54.55 % |
6 | Podría realizar yo solo, sin ayuda de los demás, un programa en Scratch | 4.55 % | 4.55 % | 22.73 % | 54.55 % | 13.64 % |
7 | Encuentro relación de las actividades previas con lo que hicimos en la computadora | 9.09 % | 0.00 % | 4.55 % | 59.09 % | 27.27 % |
8 | Me gustan las actividades previas al uso de la computadora en el curso | 0.00 % | 0.00 % | 0.00 % | 18.18 % | 59.09 % |
9 | Se me hacen aburridas las actividades previas al uso de la computadora | 36.36 % | 0.00 % | 9.09 % | 31.82 % | 18.18 % |
10 | Se me hace difícil el desarrollar un programa en Scratch | 18.18 % | 0.00 % | 9.09 % | 31.82 % | 22.73 % |
11 | Me gusta buscar información de Scratch | 0.00 % | 0.00 % | 4.55 % | 18.18 % | 54.55 % |
12 | Me gusta aprender programación con Scratch | 0.00 % | 0.00 % | 0.00 % | 9.09 % | 86.36 % |
13 | Me interesa aprender más sobre el tema de Scratch | 0.00 % | 0.00 % | 0.00 % | 13.64 % | 72.73 % |
14 | Quiero seguir aprendiendo más del tema de programación de computadoras | 0.00 % | 0.00 % | 4.55 % | 13.64 % | 81.82 % |
15 | Me agradaría estudiar una carrera en sistemas computacionales | 13.64 % | 0.00 % | 9.09 % | 31.82 % | 45.45 % |
Fuente: Elaboración propia
Como elemento de validación del instrumento de medición, se calculó el alfa de Cronbach de 0.717, resultado que se obtuvo con el software de SPSS. Para realizar una mejor lectura de los resultados se propusieron los segmentos (ver Tabla 2) para agrupar las preguntas.
Segmento | Pregunta |
I | 1, 2, 3, 4, 5 y 6 |
II | 7, 8 y 9 |
III | 10, 11, 12, 13 |
IV | 14 y 15 |
Fuente: Elaboración propia
En el segmento 1 se agruparon las preguntas 1, 2, 3, 4, 5 y 6, las cuales hacen referencia al aprendizaje y al desarrollo de los conceptos de PC. En la Figura 6 se visualiza que la mayoría de los participantes están de acuerdo o totalmente de acuerdo, lo que permite establecer la existencia de conceptos de este tipo de pensamiento en los participantes del curso.
En las preguntas del segmento 2 -referente a la programación desconectada- solamente un porcentaje pequeño aún está totalmente en desacuerdo con su uso para adquirir los conceptos del PC (Figura 7).
El tercer hace referencia a las actividades que se llevaron a cabo en la fase de programación conectada como puede verse en la Figura 8. Donde se observa el interés hacia el uso de la plataforma y además les causa curiosidad lo cual resuelven indagando más sobre la misma.
Por otra parte, el análisis de la información por género se enseña en la Figura 9. Véase la aceptación del taller por parte de las niñas.
Las participantes al taller muestran una independencia en el manejo de los conceptos del PC, así como una autonomía en la creación de programas en la plataforma. De hecho, se presentan con mayor confianza elaborando de manera independiente las actividades desconectadas, así como mayor aceptación en comparación con los varones.
En el taller de programación se utilizaron ejercicios de diversos tipos con animaciones (p. ej., movimientos de los objetos de manera aleatoria y otros controlados por parte del usuario). Además, programas que permiten una interacción entre el usuario y la computadora mediante la entrada de datos y la visualización de los resultados de un proceso.
Para evaluar el logro de las competencias esperadas en el taller de programación se usó la taxonomía de SOLO (Structure of the Observed Learning Outcome), es decir, estructura del resultado observado de aprendizaje (Biggs y Collis, 1982). La taxonomía define jerárquicamente las categorías del aprendizaje, esto es, clasifica los resultados de programación de computadoras en preestructural, uniestructural, multiestructural, relacional y abstracto, lo que permite analizar la calidad del aprendizaje desde los niveles más concretos hasta los más abstractos y complejos.
Los niveles de SOLO se adaptan para dar una contextualización de los rubros evaluados en cada una de las actividades realizadas en la fase final del taller de la siguiente manera.
Prestructural (N1). Los programas contienen solamente pocos bloques y el estudiante no entiende su significado.
Uniestructural (N2). Los programas tienen secuencias de acción de una manera simple. No se encuentran relaciones entre las estructuras de control.
Multiestructural (N3). El programa cumple con todos los requisitos dados e incluye una variedad de diferentes tipos de bloques. El código puede haber sido reorganizado para hacer una solución más integrada.
Relacional (N4). Se proporciona un programa bien estructurado que elimina toda redundancia y tiene una estructura clara y lógica.
Abstracto (N5). El programa utiliza conceptos y bloques más allá de los ejercicios para proporcionar mejoras a la solución.
En el taller de programación por bloques se cuenta con un total de 11 Scripts (forma como se conoce a un programa en el entorno de Scratch) con un promedio de 14.09 bloques por proyecto, es decir, sentencias de programación que se usan para el logro de un objetivo. Los 16 bloques con mayor frecuencia de uso por parte de los participantes en la programación conectada se muestran en la Tabla 3.
Bloque | Número de ocasiones | Porcentaje de todos los bloques usados |
cambiar y en _ | 20 | 12.90 % |
cambiar x en _ | 15 | 9.68 % |
decir_ por _ seg. | 15 | 9.68 % |
si _ entonces | 15 | 9.68 % |
mover _ pasos | 13 | 8.39 % |
por siempre | 12 | 7.74 % |
ir a x_ y_ | 10 | 6.45 % |
rebotar si toca un borde | 10 | 6.45 % |
Variable | 10 | 6.45 % |
al presionar | 7 | 4.52 % |
preguntar _ y esperar | 5 | 3.23 % |
Respuesta | 5 | 3.23 % |
repetir _ | 5 | 3.23 % |
operadores | 5 | 3.23 % |
fijar estilo de rotación | 4 | 2.58 % |
al presionar la tecla | 4 | 2.58 % |
Fuente: Elaboración propia
Con esta información se puede obtener la frecuencia de ocasiones que son usadas las categorías de instrucciones (Tabla 4). La información demuestra que los alumnos centran más su interés en el movimiento de los objetos y aplican de manera esporádica la construcción de expresiones aritméticas.
Categoría | Frecuencia | Porcentaje |
Movimiento | 72 | 46.45 % |
Control | 32 | 20.64 % |
Apariencia | 15 | 9.67 % |
Eventos | 11 | 7.09 % |
Sensores | 10 | 6.45 % |
Variables | 10 | 6.45 % |
Operadores | 5 | 3.22 % |
Fuente: Elaboración propia
Por otra parte, para identificar aún más el comportamiento de cada uno de los participantes se grabaron algunas actividades según estas tres categorías: a) conceptos de programación, b) operatividad y c) niveles de comprensión (Funke, Geldreich y Hubwieser, 2017).
Conceptos de programación. Todos los estudiantes participaron en el desarrollo de las actividades con diferentes grados de complejidad. Algunos de ellos realizaron actividades diferentes a las esperadas por el instructor, es decir, existía una autonomía y curiosidad por involucrar bloques, principalmente de movimiento.
Con respecto al uso de las variables, la mayoría cumplió con el proceso indicado de declarar, inicializar y mostrar el valor de las variables. Así pues, 17 % de los participantes implementó algún concepto visto en el taller en sus actividades finales.
Operatividad. 85 % de los estudiantes cumplieron con actividades donde el usuario debía ingresar datos por medio del teclado. La mayoría identificó el proceso para que su programa permitiera ingresar datos y mostrara un resultado.
Nivel de comprensión. Para evaluar este nivel se empleó la clasificación de la taxonomía de SOLO. En la Tabla 5 se identifican los porcentajes de los niveles de aprendizaje de los participantes.
Nivel | Porcentaje |
N1: Preestructural | 25 % |
N2: Uniestructural | 35 % |
N3: Multiestructural | 21 % |
N4: Relacional | 8 % |
N5: Abstracto | 11 % |
Fuente: Elaboración propia
En la clasificación se observa que 25 % de los participantes deben integrar más elementos para que entiendan el significado de los bloques y desarrollar un PC de manera que les permita desarrollar mayor capacidades.
En cuanto a los siguientes niveles, 35 % de los alumnos incorporan secuencias de instrucciones simples; esto significa que se debe realizar mayor trabajo en estructuras de control de repetición y decisión.
Sobre los dos últimos niveles, se identifica que los alumnos adquieren habilidades en el PC, como la abstracción y el pensamiento algorítmico.
Discusión
Este primer acercamiento al desarrollo de las habilidades del PC es alentador, aunque falta por detallar algunas actividades que permitan incrementar el nivel de aprendizaje en el taller de programación. Además, debido a que los alumnos prefieren el uso de instrucciones de movimiento, se debe resaltar más la parte de abstracción. Asimismo, a partir de este conocimiento que adquieren los alumnos de programación en bloques, se pueden incorporar elementos de trabajo en el paradigma de construcción de código textual. Es decir, nuevas formas de aplicar las estructuras de control desde perspectivas conocidas para luego efectuar una migración natural a otros entornos de programación
Igualmente, se observa una clara participación y agrado por parte de los niños en este tipo de aprendizajes. Este dato es muy importante y se puede aprovechar para fomentar una cultura de creación tecnológica, y no solo de consumidor de ella.
Sin embargo, para conseguir tal propósito se deben establecer estrategias a nivel global, como las expuestas por la Secretaría de Educación Pública del Gobierno de México, a través de la Coordinación General @prende.mx, y su Programa de Inclusión Digital (PID). De esa forma se puede robustecer el marco referencial de PC para la educación básica, cuyo objetivo principal es cultivar en la comunidad educativa mexicana los saberes asociados al mundo digital.
Conclusión
Como conclusión se puede indicar que los estudiantes pueden participar de manera activa en la implementación de proyectos de pensamiento computacional mediante diversas estrategias pedagógicas en la llamada computación conectada y desconectada. De hecho, se puede asegurar que el uso de ambas variantes aporta diversos aprendizajes a través de una dinámica que se diferencia de los talleres tradicionales.
Además, el desarrollo del PC no se relaciona solamente con programar en un entorno como Scratch, sino que involucra una serie de mecanismos del pensamiento, como el abstracto-matemático y el pragmático-ingenieril, los cuales son aplicados a lo largo de la vida.
Asimismo, se comprueba que el pensamiento computacional se puede desarrollar usando un lápiz y un papel, con didácticas dinámicas como elemento alternativo para la transferencia de las competencias de este tipo de pensamiento. Además, el concepto de programación desconectada se convierte en elemento clave cuando se tienen carencias en equipos de cómputo.
En definitiva, los resultados muestran una poco o nula resistencia en la adquisición de los conocimientos experimentados en el taller. Por tanto, establecen mecanismos de confianza para la resolución de problemas basados en computadora o bien en la interpretación y uso de estructuras de control.
Futuras líneas de investigación
A pesar de que este fue un primer acercamiento, se percibe un avance considerable en el desarrollo de materiales para el seguimiento de impartición de talleres. Sin embargo, estos deben ser adaptados a una nueva realidad que combina lo virtual y lo presencial.
Asimismo, se pueden implementar otras estrategias diferentes a las usadas en este trabajo para incrementar las habilidades del pensamiento computacional y para lograr un mayor porcentaje en los niveles de lo relacional y lo abstracto.
Por otro lado, es necesario desarrollar líneas de acción para que todos los alumnos de educación básica tengan acceso a materias que incluyan la programación de computadoras.