jueves, 10 de septiembre de 2020

TODOS DEBERIAMOS SABER PROGRAMAR

 

Oscar Ferrada Castro

Introducción

“aprender a programar es programar para aprender”

 Mitch Resnick, profesor del MIT Media Lab, creador de Scratch

En el 2006 la teórica informática, Jeannette Wing definió el pensamiento computacional como: “Procesos del pensamiento humano implicados en la formulación de problemas y su resolución, aplicando un agente de procesamiento de información, como un ser humano y/o una máquina.” (Wing). Actualmente no solo tenemos a mano el aparato que calcularía fácilmente todos los cálculos de trayectoria del Apolo 11, si no que muchos infantes nacen con uno ya en sus manos. Sin embargo, estos nativos digitales que aprovechan el potencial del internet y las Tecnologías de la Información y la Comunicación (TIC) desde que nacen, no les dan un uso mas que recreacional y de consumo de contenido. Entonces ¿cómo hacemos para que jóvenes se conviertan no solo en lectores ávidos de la tecnología, sino que también buenos escritores?

Desarrollo

Si volvemos a nuestras infancias lo único que queríamos, luego de llegar a la casa, era jugar, no habían responsabilidades mas allá de una tarea aburrida que, de hacerla, lográbamos el deseado permiso de distraernos en lo que quisiéramos, algunos de nosotros tenían la suerte usar una consola como lo era el “PlayStation” o una “GameCube”, y es aquí donde a más de alguno de nosotros se nos cruzó por la cabeza la idea de ser uno quien creara esos paisajes, batallas contra jefes imposibles o esas pistas de carreras; Y hubo un tiempo en que esa idea era popular, más atrás en el tiempo, en la década de los ’80, nace el Sinclair ZX Spectrum, un ordenador que solo consistía en el teclado de comandos, que se conectaba a una televisión de ese entonces y a punta de código, podías crear tus propios juegos y eso era lo más emocionante, hacer con tus propias manos tus propias realidades.

 

Mas allá de lo mágico e interesante que pueda sonar eso, Lo importante de esto es que, en base a querer jugar, se aprendía y se desarrollaban habilidades como el pensamiento lógico y razonamiento, habilidades no solo para desarrollar aplicaciones informáticas, sino que también útiles para cualquier ámbito intelectual.

Inevitablemente la tecnología con los años progresó, la tecnología se masificó, mientras que otras quedaban obsoletas y todo se volvió inmediato, y por el contrario de lo que uno supondría, provoco que naciera una generación muy hábil en la lectura de la tecnología, pero analfabeta al momento de escribirla. Aquí estamos, rodeados de computadoras y celulares que nos podrían llevar ida y vuelta a la luna, pero le muestras esto a alguien por la calle:

#include <iostream>

Int main(){

Int suma = 5 + 9;

Cout<<”hola Mundo”<<endl;

Cout<<suma<<;

}

Y pocos sabrán decirte que es un programa que devuelve el texto “hola mundo” y el resultado de una suma.

De modo que, viendo la situación actual, que jóvenes saben cómo ocupar el computador o el celular para consumo multimedia y unos pocos conocen como estos aparatos funcionan e incluso saben cómo manipularlo para hacer aplicaciones o juegos (Eltit, 2018); En este marco nace la pregunta ¿no es mejor que pudieran aprender mientras juegan?

Desde un punto de vista práctico el aprender a programar es una ventaja clara, no solo por sus beneficios a futuro, sino porque “La computación no solo ayuda a los más jóvenes en su carrera profesional, sino que les facilita el desarrollo de lo que los expertos llaman “pensamiento computacional”, que incluye habilidades como el razonamiento crítico y lógico, fomenta la curiosidad y la confianza, promueve la creatividad, ayuda a la resolución de problemas complejos y mejora la proactividad a la hora de tomar decisiones” (FECYT, 2016). Además de estos beneficios que presenta la implementación de asignaturas relacionadas con la programación, existen otros más que se destacan como:

·       el desarrollo de habilidades sociales, dado que la programación no se hace de a uno, existe una comunidad internacional que siempre escucha dudas y están interesados en nuevos proyectos.

·       la creatividad, como un problema puede tener muchas aristas, también puede tener cientos de soluciones, de modo que no hay respuestas cerradas.

·       Desarrollo de habilidades se encuentran las de orden superior como la lógica y el pensamiento crítico, las cuales se pueden favorecer a dar soluciones generales aplicables a distintos problemas, resaltando la creatividad, interesa principalmente el pensamiento algorítmico.

Pero ¿Cómo enseñarles a jóvenes a programar de manera que no pierdan el gusto por aprender?

Si bien todo suena muy poético y genial cuando uno dice que quiere implementar la programación en las escuelas desde la básica esto es más complicado de lo que parece, y que esto no se preste para una contradicción- porque se debería-, pero la enseñanza de estas ciencias requiere una planificación y una forma de abordarlas específica para mantener la motivación de los estudiantes y sus ganas por aprender.

Si partimos desde la enseñanza básica, encontraremos el problema de que, como cualquier asignatura de ciencias, como matemáticas, si la alumna o el alumno se dan de lleno con la teoría y ejercicios repetitivos, lo muy probable es que pierdan la motivación y las ganas de aprender bastante pronto.

Como nos pasaba a nosotros de pequeños, cuando no queríamos leer un libro que nos daba el colegio porque muchas veces, si bien es muy enriquecedor, culturalmente hablando, leer “El quijote de la mancha” o el “Mio Cid” ciertamente pueden parecer tediosos para un joven quinto básico, por decir un curso. Generalmente a esa edad lo niños buscan distraerse de las responsabilidades muy estrictas, entonces las técnicas didácticas tienen un rol fundamental en esta parte del proceso ya sea en la forma no computacional como juegos de lógica o en la forma de programas de computación por bloques y una de las herramientas más conocidas para esta tarea es Scratch, un software gratuito desarrollado por el MIT que utiliza el lenguaje visual, basado en bloques que se unen a modo de rompecabezas. Pero el dejarse engañar por la simpleza y lo colorido de su aspecto es un error, es un leguaje potente que admite proyectos grandes. La sencillez de Scratch permite que los jóvenes desarrollen un pensamiento lógico a través de la búsqueda de diferentes soluciones a un problema. Programando el niño es capaz de desarrollar su capacidad para ser más estructurado y organizado (Penalva, 2020).

Aplicando las mismas técnicas en cursos más avanzados ahondando un poco más, pero no demasiado, en lo técnico de la programación hay otra solución donde Arduino una plataforma de desarrollo basada en una placa electrónica de hardware libre, que nació el año 2005 en el Instituto de Diseño Interactivo de Ibera (Italia) permite a los estudiantes conectar cualquier componente electrónicos a la placa y a través de un sencillo lenguaje de programación los puedan controlar; hoy por hoy casi todas las impresoras 3d caseras o drones caseros poseen un Arduino como cerebro. Con el cual niños o cualquiera, pueda aprender los fundamentos de programación y la electrónica jugando.

También cabe destacar otra herramienta muy útil al momento de enseñar la programación ya sea en jóvenes como en niños, las cuales son las competiciones de nivel medio que dan como contribución, en materias como la enseñanza de la programación, la necesidad por desarrollar soluciones a problemas con creatividad, intentando explotar habilidades informáticas, relegando a un segundo puesto el aspecto más técnico del lenguaje y escritura. No frustrando así su sed de aprender al no requerir un conocimiento acabado de la programación, sino que un pensamiento creativo y algorítmico.

El empleo de metodologías que favorezcan el trabajo grupal como el cooperativo puede ayudar a promover no sólo el conocimiento del tipo conceptual sino además habilidad del tipo social, afectivo y profesional. Es claro que un grupo de estudiantes no va a cooperar adecuadamente si tan solo se le sienta en el mismo espacio o se les dice que deben cooperar juntos, es necesario construir relaciones y crear confianza entre ellos.

 

Conclusión:

Finalmente, aunque parezca desalentadora la situación se han hecho esfuerzos importantes de parte de organizaciones para que jóvenes vayan creando una base sólida en los conocimientos de las ciencias computacionales, tales como  HORNERO: aplicación Multi-Paradigma, Multi-Plataforma, Multi-Lenguaje para la gestión de torneos de programación (Claudia Carina Fracchia, 2016), una aplicación creada por la Facultad de Informática de la Universidad Nacional del Comahue que sirve como juez on-line de competencias de programación, que si tal competencia resulta bien organizada, Entonces la instancia será una más de aprendizaje donde él resultado y la puntuación se tomasen como una cuestión secundaria. Y los resultados obtenidos en los distintos proyectos han posibilitado la adquisición de materiales y recursos, el establecimiento de alianzas y la extensión de la nueva propuesta al currículo

También en estudios se sugiere que “se debe ver a la programación practicada como un ejercicio educativo, libre de la preocupación utilitaria es mejor aprendida en un ambiente de juego, diseñada para ilustrar los conceptos seleccionados en la configuración más simple” (Hartman, (2001), pág. 1). Que dicho esto se propone establecer un contexto de juego para que el aprendizaje sea fuera de las preocupaciones de si el programa que están haciendo sirve para algo en la vida real, reforzando la absorción del conocimiento mediante la lúdica y motivación, induciendo además un concepto de pertenencia en los estudiantes.

Aun así, es decepcionante lo lento que avanzan las estrategias de enseñanzas y fomento del aprendizaje, que se han visto estancadas por un tiempo largo donde iniciativas como el “Plan Nacional de Lenguajes Digitales” aparecen recien el año 2018 junto con el “ministerio de ciencias”, además de que por otro lado existe la indiferencia en la utilización de herramientas fuera del aula de clases y laboratorios. Pero lo importante es que se crearon organismos así, que permiten la creación de un “repositorio de experiencias positivas” donde casos de éxito de estas técnicas puedan apoyarse y enriquecerse, además de ser aquí una oportunidad donde las ciencias computacionales y las educacionales, podrían explorar en pro de mejorar las condiciones de la enseñanza y del aprendizaje.

Después de todo no necesitamos nativos digitales, sino que creativos digitales.

Bibliografía

Claudia Carina Fracchia, P. K. (2016). Competir + Motivar + Hornero = aprender programación. Revista Iberoamericana de Tecnología en Educación y Educación en Tecnología.

Eltit, C. (21 de Julio de 2018). Agricultura 92.1FM - Opinión de verdad. Niño programador se luce con aplicación móvil en Simposio de Tendencias Digitales.

FECYT, G. E. (2016). Educación de las Ciencias de la Computación en España.

Hartman, N. R. ((2001)). finite state machines,and the case for programming as part of general education. IEEE Computer Society Digital Library.

Lluis Toyos, T. (2014). De por qué la programación debe entrar en la educación.

Penalva, J. (2020). enseñar programacion a niño scratch desde cero:consejos,tutoriales y videos. Xataka.

Wing, J. (s.f.). 2006.

 

 


No hay comentarios:

Publicar un comentario