Revista de
Educación
a++
a--
Tendencias

Francisco Vico, académico de Inteligencia Artificial de la Universidad de Málaga: ¿Cómo enseñar programación y pensamiento computacional?

“Tengo clarísimo que no en el futuro, sino ahora, una persona que programa tiene una ventaja profesional significativa sobre una persona que no sabe hacerlo. Debiera ser como una herramienta básica, tal como leer y escribir”, recalca Francisco Vico, académico de Inteligencia Artificial de la Universidad de Málaga.

“Tengo clarísimo que no en el futuro, sino ahora, una persona que programa tiene una ventaja profesional significativa sobre una persona que no sabe hacerlo. Debiera ser como una herramienta básica, tal como leer y escribir (…) Hoy existe una enorme oferta laboral en el sector TICs que no se está cubriendo, empleos desafiantes y bien remunerados, que requieren mano de obra calificada”, recalca Francisco Vico, académico de Inteligencia Artificial de la Universidad de Málaga, luego de participar en un encuentro online organizado por la Facultad de Educación de la Pontificia Universidad Católica, OPED y Ceppe UC, en el que se reunió con Martín Cáceres, director del Centro de Innovación del Mineduc, con el fin de compartir acerca de proyectos tecnológicos educativos. Para profundizar más en esta acuciante materia, conversó en forma exclusiva con Revista de Educación, oportunidad en la que resaltó la necesidad de superar la brecha de género que existe actualmente en la carrera de Ingeniería Informática y cómo ésta puede transformar el mundo.

El Pensamiento Computacional y la Programación, ¿son dos cosas distintas o son lo mismo?

La mejor forma de explicarlo es con el ajedrez, es un juego del cual se pueden aprender muchas cosas: estrategia, abstracción, uno tiene que imaginar cómo será el tablero después de varias jugadas, se comprende que sacrificando una pieza se puede conseguir un objetivo mayor, la lista es innumerable. Por eso, el ajedrez ha sobrevivido siglos y se sigue jugando. Podríamos hacer una teoría del pensamiento ajedrecístico y eso quiere decir que estaríamos extrayendo la esencia de lo que es el ajedrez, pero sin el ajedrez, sin las piezas, sin el movimiento, sin las aperturas y entonces estaríamos transmitiendo lo que realmente puede valer para otras facetas de la vida.

Pues bien, la Programación es un lenguaje con el cual nosotros nos comunicamos con esas máquinas tan especiales, que son los ordenadores o computadores, y que sirven para cualquier cosa: un frigorífico sirve para enfriar, una cafetera sirve para hacer café, pero el ordenador no está hecho para una función concreta, sino que está pensado para muchas funciones diferentes de acuerdo a cómo se le programe, de lo que se le diga que debe hacer. Entonces, ese acto de programar, de expresarnos en ese lenguaje para vincularse con los ordenadores, obliga a la persona a plantearse los problemas que quiere resolver de una manera muy particular. Y eso es lo que los pedagogos extraen, la esencia de esa acción de programar es el Pensamiento Computacional.

El Pensamiento Computacional nace entonces de la Programación…

Eso es. Los ingenieros tenemos una manera distinta de enfocar la vida. Es curioso, yo no me había dado cuenta nunca hasta que un profesor de un instituto en España me lo dijo: “Tú crees que todo el mundo piensa como tú, los ingenieros tienen una forma distinta de abordar las situaciones, de enfrentar las cosas, dividen el problema en problemas más pequeños para poderlo resolver, abstraen situaciones”, entonces me quedé pensando, eso debe ser el Pensamiento Computacional. Es una forma de pensar que adquirimos nosotros por el hecho de estudiar y trabajar en una carrera determinada.

Lo interesante es que lo que aprendemos en la Programación se puede trasladar a otras áreas de conocimiento: a la Matemática, a la Física, al Lenguaje, a cualquiera.

En la metáfora que mencionaba: el ajedrez sería el ordenador y el juego del ajedrez equivaldría a programar el ordenador.

¿Lo que importa es que los niños y jóvenes aprendan Pensamiento Computacional, Programación o ambos?

La Programación lleva en sí misma el Pensamiento Computacional. Es imposible programar si no se piensa computacionalmente. Si no aprenden a programar, al menos que se queden con la esencia de eso: el Pensamiento Computacional. Si no vamos a organizar torneos de ajedrez, al menos aprendamos lo que ese juego nos ha enseñado. Desde mi punto de vista, la Programación es esencial. En el webinar al que asistí recientemente en Chile, se planteó la pregunta: ¿enseñamos a programar de verdad o solo nos quedamos en el pensamiento computacional? Y mi apuesta es: ¡enseñemos a programar!

La cuestión es que es un problema difícil de abordar. Porque hay muchos asuntos técnicos alrededor de la Programación que intimidan. Profesores y alumnos piensan que no van a poder abordar cosas tan complejas como hacer una página web, una aplicación móvil, programar un dron o un robot. Sin embargo, los lenguajes de programación son tremendamente sencillos. Si nosotros nos quedamos en la esencia, en lo que es una comunicación mínima, mínima de verdad, con un ordenador para resolver problemas planteados ex profeso para adquirir esas habilidades de programación, pues tendríamos las dos cosas: un lenguaje de programación y el Pensamiento Computacional que va asociado al aprendizaje de ese lenguaje.

¿Es factible entonces entrar en el camino del Pensamiento Computacional y la Programación de manera sencilla, pero concreta?

Desde mi punto de vista, sí.

“A partir de 6° básico ya tienen la capacidad de adquirir los elementos básicos de la Programación”

¿Y cómo se hace eso con los docentes y con los estudiantes? ¿Se empieza en básica o en enseñanza media?

Esas son las preguntas que normalmente se hacen los sistemas educativos. Si lo vamos a abordar en básica o en media, si va a ser como matemática que es una asignatura que se imparte en todos los niveles o solamente haremos intervenciones puntuales. Es como el idioma extranjero: ¿cuál elegimos?, ¿inglés o chino? No está claro.

Y en la programación no son dos, sino una infinidad de lenguajes, entonces ¿cuál escogemos?, ¿cuál es el mejor para enseñar a programar? Porque el más utilizado a nivel mundial, no es necesariamente el mejor para enseñar a programar y si usamos ese lo que estaríamos haciendo podría ser perjudicial porque estaríamos tratando de enseñarles una cosa demasiado compleja.

Esas son cuestiones que tiene que resolver un sistema educativo antes de dar el paso de implantarlo en el currículum. Por eso vamos a reunirnos con la Dirección de Innovación de Mineduc para ver de qué manera podemos intercambiar y colaborarles en esa toma de decisiones.

¿Qué gana hoy en día un niño con saber Pensamiento Computacional y Programación?

¿Qué gana un niño cuando se le enseña un idioma extranjero? ¿Qué gana un niño cuando se le enseña lenguaje musical? ¿Qué gana un niño cuando se le enseña el lenguaje de las matemáticas o de la poesía? Yo no hice una carrera de letras, pero a mí la poesía me ha dado mucho. A una persona que haga una carrera de abogado, por ejemplo, ¿qué le puede aportar el lenguaje musical? Muchísimo: poder entender una partitura, disfrutar de otra manera la música que está escuchando, a expresarse mejor, etc. Los lenguajes son algo totalmente transversal.

¿Qué puede aportar la Programación? Pues, a mí me ha dado muchísimo. Desde los 16 años estoy programando y he pasado momentos maravillosos expresando en un lenguaje computacional ideas que estaban en mi mente y que no hubiera podido manifestar de no conocer esos lenguajes. Entonces, lo que gana es una manera nueva de expresar las cosas, pero con una incidencia particular, es decir, muy especial en el sentido que nos permite transformar el mundo.

Y es que eso que el ordenador ha entendido se puede convertir en una aplicación para, por ejemplo, montar una red social y cambiar los hábitos de las personas. O una aplicación móvil que permite comprar de una determinada manera. Son aplicaciones o programas que no se quedan en el aire sino que inciden de forma directa en la sociedad y por eso tiene tanta relevancia que los niños sepan programar.

¿Es mejor empezar a enseñar Programación en básica, media o en preescolar?

Desde que tienen sentido de lo que es un ordenador. Desde el momento que conciben que la máquina responde a unas instrucciones que se le dan, o sea, desde los primeros años.

¿Y usted ha conocido en España experiencias en esa línea?

Una directora de un colegio de primaria nos animó a probarlo con niños y niñas de Infantil, lo que sería preescolar, 5 años. Yo era reacio en principio porque se trata de personitas que no saben ni lo que son las letras. Sin embargo, con ayuda de estudiantes de 6° básico, es decir, mediadores, vimos que eran capaces de aprender lo más básico, es decir, darle instrucciones a un robot para que se moviera en un entorno simulado en la pantalla. Me sorprendí de ver cómo, sin saber lo que era una “u” y una “p”, los alumnos de 6° les decían: “cuando quieras que vaya para arriba, le das a la u y a la p” y “luego le pulsas aquí y hace esto”. Ellos aprendieron las secuencias que tenían que pulsar. Entonces, desde esa corta edad ya estaban disfrutando al ver cómo podían provocar un efecto en la pantalla, con un robot moviéndose en un escenario.

Pero, según los estudios que hemos hecho con nuestras propias herramientas en centros educativos de Andalucía y de toda España, a partir de 6° básico ya tienen la madurez cognitiva para adquirir los elementos básicos de un lenguaje de Programación.

Sin perjuicio que en Preescolar…

Claro, pueden empezar con niveles más elementales de programación, no llegando a lo que nosotros consideramos que serían todos los elementos fundamentales de ese lenguaje.

En el caso de la programación, a diferencia de lo que ocurre con el Inglés, se puede empezar más tarde sin temor a que se pierda esa plasticidad para el aprendizaje, porque un lenguaje de programación es muchísimo más sencillo que un lenguaje humano, con una gramática de decenas de reglas, frente a las 3.500 del inglés, y sin fonética, pues sólo tiene forma escrita.

“El gobierno español anunció un nuevo programa: Código Escuela 4.0”

¿Es muy distinta la realidad de España y de Chile en términos de la incorporación de la Programación en las aulas a nivel escolar?

No, no es muy distinta. Recientemente, el gobierno español anunció un nuevo programa: Código Escuela 4.0, que pretende enseñar Programación desde infantil hasta los últimos niveles de secundaria. Eso denota la preocupación que hay desde los gobiernos de empezar a impartir esta materia en la enseñanza obligatoria.

Me da la impresión que los países que están más o menos en un mismo nivel de desarrollo están mirándose unos a otros, a ver si alguno de ellos da el paso en la dirección correcta para los demás seguirle.

Creo que Chile está en una situación muy similar a la del resto de países desarrollados en cuanto a que quiere dar ese paso y se está haciendo una serie de preguntas: cuál sería la mejor estrategia, la más económica, la más efectiva, la menos traumática desde el punto de vista que transformar un currículo evidentemente es complicado, entonces se trata de buscar cuál es la vía de acceso más favorable para hacer esto sin tener luego que retroceder.

¿España con su Programa Escuela 4.0 tiene resueltas algunas de esas dudas?

Bueno, hay una estrategia de incorporar personal técnico, con conocimiento en Programación, para acompañar al profesorado, capacitarlo y que a partir de ahí los docentes puedan asumir las tareas de formación. Y, por supuesto, dotar de equipamiento, tanto hardware como software, a los colegios.

Hoy en día encontrar un informático no es fácil. A las empresas les cuesta reclutar personal capacitado. Esta es una profesión muy especial, ya que una persona puede trabajar desde España o Santiago para una compañía japonesa o canadiense. Y eso plantea una pregunta decisiva a todos los gobiernos: cómo vamos a retener ese conocimiento y talento que se puede ir tan fácil. ¡Basta con publicar un perfil en una página para que alguien me contrate! La situación está en que no tenemos suficiente oferta profesional para la demanda laboral que existe actualmente. Va a costar que los colegios se nutran de personal informático en España. Y, por otra parte, no basta con personal informático, hay que saber enseñar.

Lo que pienso es que, de alguna manera, al final vamos a acabar reconociendo que quien tiene que “enseñar a programar” son los ordenadores. Entonces, el papel del docente aquí sería evidentemente el de orientador, guía o acompañante. Él o ella lleva una guía didáctica, controla el progreso del alumnado, motiva, hace que no el 50% sino que el 90% de los alumnos aprendan de verdad, pero la figura del ordenador me parece ineludible.

“Hay una brecha de género tremenda que tenemos que salvar”

Entiendo que Ud. y su equipo de la Universidad de Málaga implementaron un programa para enseñar Programación a escolares.

Nosotros hemos desarrollado una plataforma intentando contribuir a ese software, a esa interfaz didáctica, que se llama Toolbox.Academy. Es como una caja de herramientas. Está muy maduro, lo hemos trabajado durante los últimos 7 años y medio, refinándolo continuamente, simplificándolo, resolviendo pequeñas barreras de entrada, mejorando sitios donde no estaba suficientemente clara cuál era la siguiente tarea, la misma evidencia nos ha ido diciendo cómo tenemos que montar esa enseñanza en un lenguaje de Programación.

Ha sido validado por la Consejería de Educación de la Junta de Andalucía y ahora el País Vasco también ha apostado por su uso. Va a hacer un pilotaje este año en este curso que empieza en niveles de primaria. Incluso en la ciudad en que yo vivo, en Málaga, el Ayuntamiento va a firmar un convenio con la Universidad de Málaga para que todos los colegios de Málaga tengan acceso a la plataforma, que es gratuita.

¿Es gratuita solo en España o a nivel mundial?

En todo el mundo. No puede haber barreras de tipo económico. Lo que se persigue aquí es acortar la brecha tecnológica, dar equidad.

Ahora estamos en un escenario en que la capacidad que tienen nuestros sistemas educativos de generar habilidades de programación es realmente escasa. El índice de alfabetización computacional, es decir, de personas que saben programar, es de apenas un 1% de la población.

Además, hay una brecha de género tremenda en Ingeniería que tenemos que salvar. Cuando yo era estudiante, el 40% de la clase eran mujeres. Y desde entonces, en los años 80, esa cifra se ha reducido hasta llegar al 10%, incluso menos. Las razones no se saben, si es porque pasó a formar parte de la Escuela de Ingeniería o por los modelos sociales imperantes. Quizá haya una tendencia a pensar que es algo de chicos o de nerds. Pienso que las razones son multifactoriales. Pero la cuestión es que esto está perjudicando a las mujeres, pues eso incide directamente en la brecha salarial y laboral, es decir, si consiguiéramos reducir esa brecha estaríamos ayudando en otros problemas de género que tenemos actualmente. A mí me encantaría que hubiera 50/50 porque las mujeres, lo hemos demostrado en nuestra experimentación y no podía ser de otra manera, programan igual de bien que los hombres. Y este es un problema en todo el mundo, que hay que subsanar.

“Leer, escribir y programar son competencias básicas”

¿La Programación en base a un ordenador se debería impartir como una asignatura?

Sí, yo creo que debe convertirse en alguna asignatura obligatoria, de hecho. Debería ser algo que acabe siendo una habilidad o competencia esencial. Leer, escribir y programar son competencias básicas, eso debería de ser así para que después uno lo utilice en lo que le guste más. Saber programar permite incluso simular procesos físicos o biológicos, es que se puede hacer virtualmente de todo.

La programación hay que entenderla no como una cosa divertida, sino como una competencia. Yo tengo clarísimo que no en el futuro, sino ahora, una persona que programa tiene una ventaja profesional innegable sobre una persona que no sabe hacerlo.

¿De qué herramientas disponemos para incorporar el Pensamiento Computacional y la Programación en las aulas a nivel escolar? “Existen muchas opciones gratuitas, otras que no lo son. Lo importante es que sean de fácil implementación en el aula”, señaló en su ponencia. ¿Podría darnos ejemplos de algunas de esas herramientas?

Además de Toolbox.Academy, hay bastantes ofertas gratuitas en el mercado.

Básicamente, hay dos tipos de ofertas: unas que son basadas en bloques y otras que son basadas en texto. Las primeras permiten que mediante un lenguaje gráfico uno construya un programa como armando bloques, mientras que en las otras uno escribe igual como lo hace en un texto. Toolbox está en esa segunda línea, basada en texto, porque partimos de la premisa de que una persona para aprender un lenguaje lo que hace es basarse en constructos mentales que ya tiene, es decir, su lengua materna, entonces cuanto más se parezca la programación al lenguaje propio más sencillo va a ser de adquirir. El lenguaje que se usa en Toolbox es ToyScript.

¿Ese sería el lenguaje más adecuado para enseñar a programar?

Nosotros lo diseñamos porque vimos que había una carencia, no había un lenguaje tan simple como fuera posible para interactuar con un mundo tan simple como fuera posible. Ese mundo es el que recreamos en la pantalla, un robot que se mueve en un escenario: recoge objetos, se comunica con otros robots, encuentra cosas.

Estamos hablando del lenguaje mínimo necesario, un subconjunto pequeñito del español en su significado. Se podría enseñar a programar en español perfectamente y sin ordenador, si decimos, por ejemplo, vamos a dar una serie de órdenes para mover las sillas o recoger unos libros y para eso diremos “repite tres veces recoger un libro”. Y la persona entonces recoge tres libros. Podríamos enseñar perfectamente así, limitando el español. No vale cualquier cosa, vale repetir algunos verbos y partículas y con eso vamos a programar. Y se podría. Pues ToyScript es un intento similar.

¿Y en el mundo en general cuál es el lenguaje más usado?

Tenemos varios lenguajes, por ejemplo: JavaScript, C++, Python, Objective-C. Este último se utiliza para aplicaciones móviles nativas. Todos tienen las mismas bases computacionales, es decir, que comparten con ToyScript a pesar de que ToyScript no sirve para programar aplicaciones móviles.

Pero, pese a que ToyScript es más simple, ¿igual podríamos llegar a diseñar un sitio web?

La programación nos da la base y podríamos escribir la lógica de una página web dinámica, pero para crear y publicar una página es necesaria mucha tecnología que no tiene que ver con la programación: reserva de dominio, alojamiento en nube, HTML y CSS, quizás un gestor de bases de datos… Para hacer que las cosas funcionen, hay que aprender otras cosas.

¿Esto donde sirve? En nuestro mundo, en nuestro pequeño mundo simulado, nada más. Y entonces el niño lo ve como un juego y está ayudando al robot a hacer las tareas que le mandan, pero está aprendiendo los fundamentos. Eso es. Y esos fundamentos son iguales para todos los lenguajes.

¿Y en educación media se sigue profundizando en ToyScript o en algún momento cambian de lenguaje?

Pasamos a Javascript. La plataforma contiene los dos lenguajes: ToyScript y Javascript. Con Javascript nosotros hacemos lo mismo, controlamos el mismo mundo, pero ahora con un lenguaje diferente. Una vez que han adquirido una forma más compleja de expresarse y metodologías como el diseño orientado a objetos y el diseño orientado a eventos, una vez que tienen todo eso ya les resulta fácil moverse al diseño de páginas web. Eso ocurre a los 11, 12 o 13 años, a partir de ahí podrían estar perfectamente desarrollando páginas, aplicaciones móviles, cualquier cosa, sobre todo teniendo en cuenta la creatividad que tienen a esas edades.

Mi misión aquí, el objetivo que me he planteado estos tres meses, es primero entender en qué punto estaba Chile, tanto a nivel de universidades, respecto de la formación del profesorado, como a nivel de colegios. Y por otro lado, ver de qué manera nuestra experiencia podía aportar en alguna dirección. Porque pensemos que al final todo esto tiene que ser un esfuerzo múltiple, no hay una solución mágica. Yo trataré de ayudar a la Dirección de Innovación del Mineduc para que utilicen en la medida de lo posible nuestra experiencia.

El mensaje que debe de calar en todo esto: si no enseñamos a programar, el mundo que estamos dejando a nuestros hijos va a ser muy difícil.

Se van a quedar atrás…

O quizá ni siquiera se queden. Nuestra especie está en peligro. Hay un mundo que se está literalmente descomponiendo por la acción humana y las nuevas generaciones no van a vivir la época dorada que vivimos nosotros, necesitan herramientas para encontrar soluciones a problemas medioambientales, geopolíticos, sociológicos, alimentarios, sanitarios. Si se desarrollaron vacunas para la COVID-19 tan rápido es porque hay una tecnología enormemente desarrollada. Y si todo el mundo fuera capaz de implementar soluciones de forma rápida a situaciones diversas, estaremos mejor preparados para el futuro. Por lo tanto, hoy programar no es una opción, sino una necesidad que tienen las nuevas generaciones. O, mejor dicho, nuestra obligación es prepararlos porque les estamos dejando un planeta muy distinto del que encontramos nosotros.

Reportaje completo en: Revista de Educación N° 400. Descargar aquí.

Buscador - Encuentra aquí las noticias, crónicas y reportajes publicados por Revista de Educación.
¡Escríbenos!
Si tienes dudas o consultas respecto de los contenidos de la Revista de Educación, no dudes en contactarnos.