Mientras la informática abarca cada día más ámbitos de nuestra vida, la enseñanza de la misma y de los conceptos básicos de programación no parece estar avanzando al mismo ritmo. Desde Genbeta Dev nos preguntamos qué medios y herramientas existen para integrar la informática en etapas más tempranas de la educación, y para ello contamos con la opinión de Juan Julián Merelo, profesor de la Universidad de Granada y miembro de la Oficina de Software Libre, desde la que promueven distintas iniciativas para la enseñanza de la programación a gente de todas las edades.
Genbeta Dev: ¿Es necesario que los niños aprendan programación en el colegio?
JJ Merelo: Más que programación, es necesario que aprendan lo que se conoce como pensamiento algorítmico o pensamiento computacional. La idea básica del pensamiento computacional es aprender a tomar un problema, dividirlo en varias partes y usar una serie de herramientas para resolverlo. Ésa es al final la base de todas las ingenierías, no sólo de la informática.
Parte de ese pensamiento computacional puede ser la programación. Pero no sólo se les debe enseñar esa forma de resolver problemas, que es al final algo general, tan básico como las matemáticas o la lectura; sino también enseñarles una visión no pasiva de la informática. Que no se vea a la informática como un producto de consumo en el que te sientas delante del ordenador y esperas que te entretenga, sino tener la visión de que puedes realizar tareas con el ordenador, cambiar configuraciones, en definitiva, que puedes ordenarle que haga algo que tú desees que haga.
Además, la experiencia que tenemos es que los niños aprenden muy rápido. Cuando organizamos campus y al finalizar el primer día ves que ya son capaces de hacer sus propios juegos te quedas asombrado. Se puede comprobar que tienen mucha creatividad, mucha capacidad de aprendizaje que, si no se les enseña nada de informática, se está desperdiciando.
Genbeta Dev: ¿A qué edad conviene empezar a enseñar nociones de programación o pensamiento algorítmico a los niños?
JJ: Las nociones de programación se les pueden enseñar prácticamente desde que aprenden a leer, ya que todas las herramientas de programación tienen letras o símbolos que tienen que saber interpretar. Hay algunas herramientas incluso para niños más pequeños, de 4 ó 5 años, pero a partir de 1º de Primaria, con 6 ó 7 años podrían ya aprender.
Y luego, a partir de esas herramientas y tomándolo para ellos como un juego, se les puede enseñar el pensamiento computacional desde los 9 ó 10 años.
Y el resto de ámbitos de la informática, como podría ser el uso de Internet o la ofimática, ¿desde qué edad se les puede enseñar?
JJ: Nosotros concretamente empezamos a enseñarles ofimática desde los 8 ó 9 años. Les enseñamos a trabajar con un teclado y ser capaz de escribir rápidamente, poder navegar por Internet y ser capaces de encontrar cosas, que son funciones que nos parecen obvias, y más cuando hablamos de nativos digitales, pero que si no se les enseña se le estaría haciendo un flaco favor a los niños.
Puede haber tareas muy obvias, como buscar un vídeo en YouTube, para las que no tengan problemas, pero cuando te vas a una un poco más compleja como puede ser comprar un billete de autobús, o encontrar tu casa en un mapa en Internet, o incluso cuestiones más pragmáticas, como qué comportamiento debe tener uno cuando se relaciona por Internet, hace falta enseñarles desde el mismo momento en que empiezan a usar el ordenador e Internet como herramienta.
Cosas tan simples como distinguir lo que es un anuncio de lo que no, o reconocer otro tipo de esquemas utilizados en Internet para engañarte, es algo que no se enseña. Lo único que se dice a los padres es “tenéis que tener mucho cuidado con vuestros hijos”, pero en ningún momento se les enseña en el colegio a reconocer esos patrones peligrosos o engañosos, a saber si un banner es arte o publicidad, o si un amigo te pide por Internet una clave, ¿es realmente tu amigo, o alguien haciéndose pasar por él?
En cuanto a la ofimática, nosotros a partir de los 8 años les enseñamos a dibujar con programas simples como TuxPaint o incluso Gimp, donde pueden realizar dibujos a mano alzada y que son una buena herramienta para introducirles en ese ámbito.
El sistema educativo actual español, ¿aprueba en cuestiones de nuevas tecnologías?
JJ: No puedo evaluar todo el sistema, pero por una de mis hijas te puedo decir que solamente al final de su etapa de educación obligatoria se les enseña a usar un poco PowerPoint, pero no hay nada de programación, ni tan siquiera funciones medianamente avanzadas como realizar gráficos o crear pequeños scripts de automatización de Internet.
Además, no hay un currículum educativo homogéneo, sino que cada colegio va a su aire, confiando en la buena fe y saber hacer de cada profesor. Y en general hay una carencia grande en la que no sé si los españoles seremos los únicos.
Y lo más triste es que hemos ido hacia atrás. A principios de los 80, cuando se empezaban a usar los ordenadores personales, realmente se empezó a enseñar a los chavales a programar. Pero en los años 90 eso desapareció, la informática empezó a ser un producto de consumo y se abandonó desde el punto de vista académico, dejando de enseñar a programar.
De hecho, aquí está mi hija que te puede contar lo que les enseñan de informática en el instituto:
Aprendemos a hacer presentaciones PowerPoint, a modificar las letras, insertar fotos y ya está. Y hay veces que surgen problemas y no saben solucionarlos, tenemos que ser algunos alumnos los que los resolvamos porque no saben controlar el ordenador.
JJ: Y además, todo en Windows, obviamente.
¿Quizá el problema pueda residir en que todavía no ha accedido a esos puestos de enseñanza gente que se haya formado inmersa en estas nuevas tecnologías?
JJ: No sólo eso, sino que tienen pocas horas lectivas. Hace falta que sea un instituto muy grande para que tengan suficientes horas para cubrirlas con un informático, así que es normal que haya un profesor de otra especialidad: un matemático, un físico (como soy yo), que no quiere decir que no sepa hacerlo, pero no ha tenido una preparación específica para enseñar informática.
Así es normal que iniciativas como la participación en la FIRST Lego League y similares sólo surjan en institutos muy particulares, donde sean llevadas a cabo por profesores muy particulares.
Nosotros por ejemplo participamos en el concurso universitario de software libre y hace 3 ó 4 años lo extendimos a institutos y módulos profesionales. Y nunca se ha matriculado nadie de un instituto. Preguntamos si no hay nadie en ningún instituto que sepa programar y si hay alguno suele ser una persona que ha aprendido por su cuenta.
De hecho, Google está lanzando una iniciativa a nivel mundial precisamente para eso, y en España está buscando contactos para conseguir llevar la informática a los institutos. Porque si no se aprende en esas etapas, se llega con carencias a la universidad y al final no se forman suficientes informáticos para desemplear los trabajos que van a ser necesarios dentro de pocos años.
¿Y es necesario que vengan empresas de fuera de España para promover esto?
JJ: En EEUU hay muchas empresas que se preocupan por esto. Grandes empresas como IBM, Facebook, etc. tienen muchos programas en los que acaban creando verdaderos institutos tecnológicos donde formar a los jóvenes.
Pero aquí el sistema educativo es mucho más rígido, y quizá la única empresa que tenga un alcance global y la capacidad para hacer este tipo de cosas es Google. Hay también alguna iniciativa puntual del IEEE en Extremadura, pero en verdad tenemos un problema serio de enseñanza tecnológica, y en general de todas las ciencias, ya que hay poca gente que elija los bachilleratos que tienen que ver con ingeniería y las plazas que se acaban cubriendo son escasas.
¿Crees que sería necesario que se impliquen más grandes empresas españolas, como Telefónica? ¿O un mensaje gubernamental como el protagonizado en EEUU por Obama entre otros, en el que se instaba a los jóvenes a aprender informática?
JJ: Conociendo el carácter español, no sé si el mensaje gubernamental conseguiría justo el efecto contrario, así que sería mejor que dijera “No estudiéis informática, ni se os ocurra, es una cosa mu chunga” (risas)
En cuanto a Telefónica, tienes razón. Parece mentira que una empresa tan grande, con tantas ganancias, no apueste por este tipo de cosas. Igual me equivoco, pero no conozco ningún programa que hayan realizado para impulsar las ingeniería elctrónica, informática o de comunicaciones en los institutos. Y es algo que estaría muy bien y que con una inversión no demasiado grande podría tener bastante influencia a largo plazo.
Google tiene el premio Computer Science for High School, que este año lo hemos ganado en la Universidad de Granada y en la Politécnica de Cataluña. En la UPC han realizado un programa dirigido exclusivamente a profesores de instituto, mientras que nosotros lo hemos hecho dirigido a chicas y profesores.
Pero aparte de esta iniciativa, no hay empuje a nivel nacional, ni de gobiernos autonómicos, ni de grandes empresas nacionales.
Del Scratch Day, que se realiza en todo el mundo, eres el organizador en Granada, ¿nos puedes contar en qué consiste este día?
JJ: Scratch es un programa que está basado en la programación visual. Se creó hace 7 años en el MIT y tiene un funcionamiento muy simple: te divide la pantalla en tres paneles. En el de la izquierda tienes piezas de puzzle, en el panel central tienes una zona de construcción donde puedes situar las piezas, y en el de la derecha tienes diversos personajes y un gato, que es la mascota de Scratch. La idea consiste en ir montando las piezas y al pulsar sobre el puzzle, el gato realiza acciones.
Es un funcionamiento muy simple, y además utiliza conceptos muy intuitivos para las diferentes estructuras de control. Por ejemplo, un bucle tiene forma de gancho, y todo lo que metas dentro de ese gancho, se va repitiendo. Además, algo que suelen hacer los niños, que no tienen todavía una idea constructivista, es utilizar piezas que a lo mejor no hacen nada y luego ir cambiándolas hasta encontrarse con un resultado que les guste.
Trabajar con él es muy fácil y se aprende en una mañana. Creo que en Extremadura lo estaban usando, y también está incluido por defecto en los portátiles que da la Junta de Andalucía a los centros educativos. Incluso en la Raspberry Pi se puede integrar de tal modo que nada más arrancar te permita usarlo, ya que es un lenguaje relativamente ligero y que te permite hacer cosas muy rápido. Está también integrado con el sitio del MIT de modo que puedes subir tus programas allí desde el propio entorno. Esto además enseña la filosofía del código de fuentes abiertas, ya que puedes descargártelo, estudiarlo, trabajar con él, hacer copias…
Y otros que han sacado recientemente son S4A (Scratch for Arduino) y App Inventor, que sirve para construir aplicaciones para móviles Android.
A nosotros los resultados que nos han dado son buenísimos. Los niños han aprendido muchísimo y sobre todo lo retienen. Porque cuando hemos eneseñado a chicos de 12 años lenguajes más complejos como Python o Ruby, hemos comprobado que a los 6 meses se les ha olvidado gran parte. Sin embargo Scratch puedes abandonarlo y si lo retomas 6 meses después, resulta muy fácil, ya que promueve ese pensamiento computacional que queremos que asuman.
En cuanto al Scratch Day, estos últimos años lo hemos celebrado en la Oficina de Software Libre y en centros Guadalinfo con muy buenos resultados, pero no es más que una de las muchas actividades que existen alrededor del software libre. Es un día en el que se promueve la enseñanza de Scratch a nivel internacional, organizando talleres por todo el mundo.
Y para los no tan niños, ¿es Scratch el mejor lenguaje para iniciarse, o habría alguno más indicado?
JJ: No hay ningún problema físico ni pedagógico en enseñar Scratch a gente más mayor. De hecho, nosotros estamos dando un curso virtual para profesores de enseñanza primaria. Cualquier persona que no tenga ni idea de programación lo puede usar, pero sí es verdad que las imágenes y animaciones usadas son muy infantiles.
Pero con una mínima adaptación sí que se podría usar, ya que la idea básica es que una persona que viene de un entorno en el que no tiene una preparación en matemáticas, física, ni programación, pueda aprender unos conceptos básicos y entender cómo se programa un ordenador. Hay otros entornos para personas mayores, como Alice o el ya mencionado Scratch 4 Arduino, y por supuesto también lenguajes de programación “normales”, ya que cuando una persona tiene una cierta madurez no es complicado enseñarle Python o Javascript.
Por ejemplo, hay un lenguaje de programación llamado Processing que lo usa mucho la gente de Bellas Artes, que desde mi punto de vista es algo complicado, ya que está basado en Java, pero tiene la ventaja de que no busca resultados de texto por consola, logs y similares, sino mucho más visuales, por lo que quizá están más predispuestos a aprenderlo.
También formas parte de UGRtech4girls, un campus tecnológico para chicas financiado por Google. ¿Por qué son necesarias este tipo de iniciativas? ¿Están las chicas realmente menos interesadas en la tecnología, o se enfrentan a un estereotipo alimentado durante años?
JJ: A las chicas les entusiasma la tecnología y tienen un talento enorme, pero el hecho es que no se plantean estudiar informática y la prueba es que lo hacen cada vez menos. Nosotros observamos que en los campus infantiles hay prácticamente un 60% de niñas; cuando te vas a una edad superior, de 9 a 11 años, ya hay un 50% o incluso un ligero porcentaje mayor de niños; a partir de los 12 años el porcentaje de niñas cae estrepitosamente; en 3º o 4º de ESO, las niñas no eligen mayoritariamente ciencias…
Entonces vemos que en cada uno de los distintos embudos, las mujeres van eligiendo otra opción. Las que en ESO optaron por ciencias, cuando en Bachillerato tienen que elegir entre la rama científico-técnica o la bio-sanitaria, de nuevo la mayoría opta por la otra. Por eso, cuando en Bachillerato científico-técnico se encuentran 3 chicas con 25 chicos en clase, empiezan a plantearse, quizá presionadas por el entorno, a derivar hacia física o matemáticas, que son carreras estupendas, pero dejando muy de lado la informática.
Por ejemplo, ahora mismo en Granada el porcentaje de chicas matriculadas en informática no llega al 9%, y este año han sido tan sólo 24 chicas las nuevas matriculadas, y 16 en telecomunicaciones.
Está claro que ahí hay algún problema, ya que no se debe llegar al estereotipo de que el informático es hombre, pero siguiendo esta línea, el mismo tópico se retroalimenta y podría llegarse a esa situación. Y esto fue lo que se propuso a Google: vamos a intentar que haya más chicas que decidan estudiar informática, creando específicamente un campus para ellas.
Google accedió a financiarlo y lo hemos orientado, sobre todo, a chicas de 3º ESO, que son las que tienen que elegir la opción ciencias o letras, o las de 4º que son las que optarán por el científico-técnico o el bio-sanitario. Y ahí es donde tenemos que convencerlas para que ellas mismas se puedan ver como ingenieras informáticas, ya que las capacidades, el talento y la pasión por el aprendizaje ya los tienen. Además, es una carrera con muchas salidas y no es justo que se cierren puertas por culpa de un estereotipo.
Pero el nuestro no es un caso aislado, ya que Google ha financiado proyectos similares en el Politécnico de Lausanne hace un par de años, en la Universidad de Birmingham el año pasado, etc. Pero no sólo Google, sino que también Microsoft o IBM tienen iniciativas para financiar anualmente campus para chicas. Todas las grandes empresas están remando en esa dirección, y eso que en EEUU el porcentaje de chicas en informática no es tan bajo como en España, sino que lo hacen para que no baje del 25%.
Nosotros confiamos, y haremos un seguimiento, en que de las chicas que vienen con 13 ó 14 años interesadas en la informática, acaben estudiando la carrera.
La enseñanza de Scratch a los más pequeños y los campus para chicas no son lo único novedoso que haces, sino que también has demostrado que es posible crear una novela (#slash: entre profesionales) con un sistema de control de versiones como git. ¿Aplicas estas mismas herramientas en la enseñanza? ¿Qué otro tipo de usos “sorprendentes” o inesperados como éste se puede dar a la informática en la educación?
JJ: En general, en todo lo que son Humanidades se podría usar mucho más, aunque nos encontramos con el hándicap de que en carreras como Literatura quizá la gente es un poco tecnófoba. Personalmente, yo lo recomiendo porque cada vez estoy más contento de las capacidades que da git para estas labores, ya que puedes medir tu progreso, puedes crear ramas con las distintas tramas, realizar integración continua…
Yo estoy usando varias ramas, algunas de ellas públicas y otras en proceso, con la ventaja de que pueden ser desechadas o retomadas en cualquier momento, que es una gran ventaja que hasta ahora no se tenía fácilmente en literatura. También con post commit hooks puedes generar automáticamente la página tras cada subida. Y con un rakefile y un template de Ruby, genera el HTML para poder enviarlo directamente al Kindle y leerlo de forma cómoda.
Y esto mismo se puede trasladar a la educación en general. Tengo repositorios de GitHub para asignaturas donde yo publico los materiales y los alumnos tienen que hacerse un fork y luego han de hacer un pull request para enviar sus ejercicios. Así, aparte de la materia en sí de la asignatura, se les puede enseñar buenas prácticas y que utilicen herramientas como GitHub que tiene que terminar siendo algo muy habitual para ellos. Mi idea es que dentro de 2 ó 3 años, todos los alumnos utilicen git y GitHub desde primero de carrera, y no tener que esperar a 4º de grado, al llegar a un máster, o incluso a la empresa.
Además, tiene ventajas para el docente, ya que ves cómo evoluciona cada alumno. Y al ser todo público, si alguien se copia va a quedar patente y todo el mundo lo va a ver. Pero más que por la parte represiva, es interesante porque se pueden ayudar unos a otros: ver el código de un compañero puede hacer que entiendas mejor el problema o que enfoques tu solución, además de fomentar el compañerismo y el tipo de pensamiento necesario en el pair programming.
Desde Genbeta Dev queremos agradecer a JJ Merelo por el tiempo que nos ha dedicado en esta apasionante charla y por sus iniciativas en la promoción del Software Libre y de la enseñanza de la informática.
Imagen de cabecera | Flickr - Arkangel
En Genbeta Dev | El Scratch Day se celebra por todo el mundo con eventos para que los más peques aprendan a programar