“Más que aprender a programar se trata de programar para aprender.” Mitch Resnick, director del grupo Lifelong Kindergarten del Instituto Tecnológico de Massachussets, MIT.
La Habana, Cuba. – La tecnología ha cambiado muchos aspectos de la vida cotidiana: la forma en que las personas se relacionan, la manera de trabajar y, también la manera de aprender. El uso de la tecnología en las aulas no es extraño; sin embargo, la tecnología se utiliza como una especie de “instrumento pasivo” que convierte al alumno en un usuario de distintas aplicaciones y servicios; ese es el problema.
Aunque hace tiempo que las computadoras llegaron a las aulas, y en varios países se les ha entregado a los alumnos un dispositivo computacional como parte de sus “materiales escolares”; el uso que se le da a esos equipos es el de ser un complemento a los libros de texto y cuadernos de trabajo. En el caso específico de Cuba los laboratorios de computación están muy deprimidos debido a las dificultades existentes para reponer los equipos, pero en las escuelas que aún existen no se les aprovecha en todas sus posibilidades pese a existir muchísimos contenidos digitales elaborados específicamente para la escuela cubana disponibles tanto en la nube, como en soportes digitales.
Hoy los estudiantes de cualquier nivel saben buscar información en Internet o manejar aplicaciones; la tecnología que hay detrás de los dispositivos se les hace invisible pero los programas de estudio actuales muchas veces les son aburridos y no les establecen nuevos retos para su desarrollo. Una forma de desarrollar ese potencial es a través de la enseñanza de programación y ciencias de la computación en las aulas. Comento algunas razones por las cuales soy del criterio de que se debe aprender a programar en la escuela.
1. Para aprender más que sólo código
Las tecnologías digitales forman parte integral de la vida cotidiana de los niños y adolescentes, y es una certeza que ocuparán un lugar protagónico también en su futuro. La programación es un conocimiento esencial para comprender un mundo regido cada vez más por lo digital. Para llevar adelante las tareas de la vida cotidiana como revisar un vuelto o calcular los ingredientes para una receta es necesario tener ciertos conocimientos de matemáticas. Al enseñar esa materia, en la escuela no se pretende que los estudiantes logren demostrar el último teorema de Fermat, sino que puedan valerse de herramientas necesarias para afrontar problemas de su día a día.
De la misma manera, cuando se habla de enseñar programación no se pretende que niños de seis años conozcan conceptos avanzados como polimorfismo. Tampoco se procura que sean expertos escribiendo código. Se quiere que entiendan, fundamentalmente, que somos nosotros quienes damos las órdenes, y que las máquinas solamente las ejecutan. No se habla de formar un conocimiento meramente técnico, más bien lo que se busca es que las nuevas generaciones puedan participar en el mundo digital de manera segura y responsable. Se aspira a que puedan apropiarse de esas tecnologías y utilizarlas para resolver problemas de su vida diaria. El objetivo principal al enseñar programación no es formar programadores , sino darle a cada estudiante las herramientas necesarias para que puedan desenvolverse y desarrollarse en un mundo digital.
2. Para educar a los “nativos digitales”
Es sorprendente ver que niños de dos o tres años muestran una gran destreza motriz para usar dispositivos móviles. Se da por sentado que los jóvenes tienen habilidades para todo lo digital, porque nacieron con esas tecnologías. Se tiene tan internalizada esa creencia que se le dio un nombre: a diferencia de los adultos, los jóvenes son considerados “nativos digitales”. Esa categoría esconde algunos problemas. En primer lugar, oculta las diferencias existentes en el nivel de acceso y las competencias tecnológicas de los jóvenes. Generalizar una característica a todos los individuos de una franja etaria significa ignorar las desigualdades socioeconómicas, culturales, y de género, entre otras.
Pero, suponer que por el mero hecho de haber nacido con las tecnologías es sinónimo de saber utilizarlas, implica que esos “nativos digitales” no necesitan ser educados al respecto. La consecuencia es que, por ser intuitivos, sus conocimientos suelen ser rudimentarios. El desafío para los docentes es cómo integrar esas tecnologías en las propuestas educativas, pero no simplemente con la intención de fomentar su uso, sino para lograr que los estudiantes puedan apropiarse de ellas, integrándolas como herramientas eficaces para resolver problemas reales.
3. Para incentivar el estudio de carreras relacionadas
Según un estudio realizado por la Fundación Sadosky de Argentina, un 48% de los varones y un 63% de las mujeres declararon no saber qué es un programa de software. Además, alrededor de un 60% no conoce a ninguna persona que programe, y las mujeres tienden a conocer menos que los varones. En Argentina, la demanda de ese tipo de perfiles va en aumento. El desarrollo de software es una de las ramas que más crece en materia de empleo. Durante 2018, la Industria del software registró más de 5300 nuevos puestos de trabajo. Existen cada vez más puestos de trabajo para personas que saben programar, pero más de la mitad de los y estudiantes de secundaria ni siquiera saben lo que es un programa de software. La Comisión Europea calculaba que en el año 2020 existirían alrededor de 900 000 puestos vacantes en el ámbito de las Tecnologías de la Información y las Comunicaciones en Europa; una demanda que se esperaba cubrir, precisamente, introduciendo en los planes de estudios la enseñanza de programación. Pero, desgraciadamente, el interés de los alumnos por carreras de ese tipo se ha reducido de una forma alarmante. Una posible solución es el inculcar desde temprana edad el pensamiento lógico y algorítmico en los niños. Para revertir esa situación se necesita que los estudiantes vean al desarrollo de software como una posibilidad efectiva de trabajo y de formación profesional. Pero va a ser muy difícil que eso suceda si no se les enseña de qué se trata. Es muy difícil que una persona que nunca miró el cielo sueñe con ser cosmonauta.
4. Para combatir estereotipos
Intente visualizar una persona que programa. ¿Cómo la imagina? ¿Es un hombre, muy inteligente y con problemas para socializar? No es casualidad que se le asocien al programador esas características. Los medios de comunicación se han encargado por décadas de retratar a las personas que programan como genios inadaptados. Esos estereotipos determinan lo que se espera de cada persona y de cada profesión. A partir de esas imágenes se define cómo se percibe a las personas, e incluso predispone a adoptar ciertas actitudes y a tomar ciertas decisiones. Si se cree que programar es cosa de genios y la persona no se considera extraordinariamente inteligentes, probablemente ni siquiera lo intente.
Enseñar programación en las escuelas es una gran oportunidad para combatir esos estereotipos y los mitos que rodean a la programación. Por ejemplo, aunque se piense que programar es un arte reservado para seres de una inteligencia superior, la verdad es que no hace falta tener una mente brillante. Aprender algo nuevo es difícil, pero aprender a programar no es más difícil que aprender un nuevo idioma o una nueva disciplina. Quienes se dedican a la programación son personas comunes y corrientes.
Aunque en las series los que programan suelen ser hombres, la programación no está restringida a un sólo género. De hecho, hay muchas mujeres que fueron y son personalidades claves en la historia de la informática. Los estereotipos de género difundidos en las industrias culturales son la principal causa de la baja participación de mujeres en ciencia y tecnología. Ya a los seis años, nueve de cada diez niñas asocian la ingeniería con los hombres y la mayoría de ellas entiende que la inteligencia es una característica masculina. Las representaciones que alejan a las mujeres de la informática ya se hallan en buena medida estabilizadas en la adolescencia. Por eso es necesario derribar estos estereotipos desde la escuela.
5. Para enseñar a pensar
Cuando se aprende a programar no se está solamente escribiendo líneas de código en una pantalla negra, se está, al mismo tiempo ejercitando otras habilidades como, por ejemplo, la creatividad, la resolución de problemas, la abstracción, la recursividad, la iteración, el ensayo-error, los métodos colaborativos, entre otros. Todas esas habilidades, propiciadas por la práctica de la programación, comprenden lo que se conoce como “pensamiento computacional”, lo que es útil para todas las personas.
Enseñar programación les proporciona a los niños una manera de pensar acerca de su propio pensamiento y aprender sobre su propio aprendizaje. En 1980, Seymour Papert escribía en su libro Mindstorms: “La presencia de la computadora podría contribuir a los procesos mentales no sólo de manera instrumental sino también de formas más esenciales y conceptuales, influyendo en cómo las personas piensan, incluso cuando están lejos del contacto físico con una computadora. No importa si el día de mañana esos niños eligen otra profesión. Al haber aprendido programación habrán desarrollado estrategias para resolver los problemas de su vida cotidiana de forma más ordenada, crítica y eficiente”.
Este proceso ha tenido altas y bajas, los lenguajes de programación como Basic o Logo ya se empleaban a final de los años 60 y se convirtieron en un potente tractor para esos “jóvenes programadores” que se sentaban por primera vez delante de una computadora. Pero ¿Y qué aporta la enseñanza de programación a los escolares? Más allá de prepararlos para un entorno laboral cada vez más tecnológico, la programación permite a los alumnos encarar procesos de autocorrección y búsqueda de errores (depurar un programa que no funciona adecuadamente), los enfrenta a retos de resolución de problemas complejos (introduciendo al alumno en la algoritmia) o les presenta conceptos que pueden llegar a ser complejos para un alumno de primer curso de ingeniería como, por ejemplo, la recursividad.
Si un alumno de ingeniería llega a la universidad con conocimientos básicos de física, ¿por qué no llega también con conocimientos básicos de programación? ¿Tiene sentido que su primera experiencia en el campo de la programación sea, directamente, en la universidad? Cuando se habla de “enseñanza de programación en las escuelas” se tiende a pensar en formar, desde la base, a las nuevas generaciones de desarrolladores que trabajarán en la industria del software. Evidentemente, la preparación para el entorno laboral es un factor importante a tener en cuenta; los escolares desempeñarán trabajos que ni siquiera se han inventado y la enseñanza de ciencias de la computación es una medida para encarar esos nuevos desafíos.
Más allá de formar a los profesionales del futuro y adaptarlos a las nuevas exigencias del mercado laboral, la enseñanza de la programación en las escuelas tiene otras muchas ventajas para el desarrollo de los alumnos, permite que los estudiantes estén más capacitados para resolver problemas complejos. El aprendizaje de lenguajes de programación orientados a niños puede cumplir un doble papel; por un lado, permite a los alumnos entender la lógica que se esconde tras la programación y, por otro lado, les serviría como pilar para aprender lenguajes de programación utilizados en el mundo profesional. Los niños que trabajan con computadoras buscan la ayuda y los consejos de otros compañeros, por tanto, socializan más entre ellos y trabajan de forma colaborativa. Desde la perspectiva de la inclusión y la igualdad de género, existen evidencias que apuntan a que los alumnos que aprenden a programar en edades tempranas tienen menos estereotipos de género ante carreras técnicas (Ciencias, Tecnología, Ingeniería y Matemáticas) y menos reticencias a continuar sus estudios en esas carreras.
Estonia fue el primer país europeo que llevó la programación a la educación primaria. Defienden que la programación debe ser un recurso para el aprendizaje de otras materias., la acogida ha sido masiva. Reconocen la extraordinaria mejora que su país experimentó en las pruebas PISA (Programa para la Evaluación Internacional de Alumnos de la OCDE. El objetivo del programa es medir la capacidad de los alumnos de 15 años para utilizar sus conocimientos y habilidades de lectura, matemáticas y ciencias para afrontar los retos de la vida real) debido en gran medida, al uso de la programación. Los Países Bajos y Alemania ya tienen la robótica en la totalidad de las escuelas públicas. Reino Unido, Italia, España, Canadá y los Estados Unidos van en la misma dirección. En España, la programación y la robótica son asignaturas curriculares en algunas Comunidades Autónomas. En Finlandia la programación entró en el currículo en septiembre de 2016.
Entendidos los fundamentos de la programación, es el momento de que el alumnado cree sus primeros proyectos. ¿Cuáles son los lenguajes de programación sugeridos para los estudiantes de Primaria? Al igual que en Educación Infantil, lo ideal son los que trabajan mediante bloques como Scratch. Ese lenguaje facilita el desarrollo de ejercicios relacionados con prácticamente todas las asignaturas de manera atractiva y motivadora: es posible preparar juegos, canciones e historias animadas. En el caso de los alumnos de Primaria, un enfoque plantea que antes de explorar un lenguaje de programación complejo, se programen pequeños juegos manipulativos. Lo más difícil para los niños es comprender que el robot o la computadora hacen lo que le programe. Es decir, entender lo que realmente es un algoritmo. También existen experiencias en otros lenguajes y entornos tipo Java, HTML o Python.
Los alumnos muestran mejoras en los resultados académicos en asignaturas tan diferentes, en principio como matemática, idiomas o ciencias sociales. Se ha detectado mejoras en otro tipo de habilidades que son fundamentales para la vida en el siglo XXI, como la capacidad de resolución de problemas, la comunicación de ideas, el trabajo en equipo y la creatividad al enfrentarse a situaciones desconocidas. Un enfoque, no es hablar de otra asignatura, no parcelar el conocimiento en asignaturas en esas etapas. Se hablaría de proyectos en los que sería necesario crear cosas programando algo, un robot, un videojuego, la solución a un problema, una app móvil. La programación debe ser una herramienta, un recurso no un fin en sí mismo, por lo que sería más conveniente su uso de forma transversal relacionado con el resto de áreas del conocimiento.
Los cambios más importantes propuestos en el tercer perfeccionamiento del Sistema Nacional de Educación referidos a la disciplina Informática y al uso de las TIC son los siguientes: Se mantiene la concepción de la existencia de tres modalidades en el empleo de la informática: como objeto de estudio, como herramienta de trabajo y como medio de enseñanza, por lo que todas las asignaturas del currículo incorporarán el uso de las TIC; La utilización de software educativo no debe ocupar horas de la asignatura Informática, sino de las diferentes asignaturas, pues hacia ellas tributan; Los temas de la asignatura Informática en cada grado deben velar por el desarrollo de una actitud responsable y ética en el empleo de los recursos tecnológicos existentes, en el manejo y uso de la información disponible y en elementos de seguridad informática.
Los contenidos relativos a la asignatura Informática se impartirán en todos los grados de la educación general, es decir, de 1 a 12 grados, sin que se produzcan rupturas en su sistematicidad; El currículo de Informática deberá tributar entre otras formas del pensamiento, al algorítmico y al heurístico, como sus formas primordiales, para lo cual es necesario iniciar el estudio de programación; El currículo de Informática en la educación primaria deberá estar orientado a la familiarización consciente con los dispositivos informáticos previstos y sus posibilidades; Deberá prevalecer un enfoque lúdico, particularmente en los primeros grados; El currículo de Informática de la secundaria básica tributará a la adquisición de una cultura tecnológica, mediática e informacional básica, proveer herramientas para el procesamiento de información de diversa naturaleza; El currículo de Informática del preuniversitario se concibe como momento para sistematizar los contenidos tratados en los niveles anteriores y completar la cultura tecnológica, mediática e informacional en correspondencia con las necesidades del momento en que se implemente dicho currículo y garantizar los elementos básicos del conocimiento necesarios para la continuidad de estudio en el nivel superior; La sistemática aparición de nuevos conocimientos y herramientas propios de la Informática, impone a la asignatura una alta flexibilidad.
Cuba no está de espaldas a las tendencias que se van imponiendo a nivel internacional, la clave estará en la forma de implementarlo, como ocurre en todo proceso. El gran reto en criterio de este redactor está en la preparación y superación del claustro de profesores para que lleven a buen puerto esta idea; imprescindible para el desarrollo del país. La idea está planteada, solo falta ponerle manos a la obra, soy del criterio de que se puede hacer mucho, aun sin equipamiento, esa falta no puede ser la traba. Con esto termino y recuerden, si me ven por ahí, me saludan.