¿Porqué enseñar programación en las escuelas?

Escrito por  , Publicado en Noticias

¿Porqué enseñar programación en las escuelas?

Apareció hace unos años en la vida escolar pero hoy se ha convertido en un elemento importante del proyecto educativo. Nos referimos a la enseñanza de la programación de un sistema informático, ya sea un odernador, dispositivo móvil, tecnología ponible (wearable) o una placa Arduino.

"Todo el mundo en el país tendrá que aprender a programar un ordenador ... porque te enseña a pensar"

Estas fueron las palabras de Steve Jobs (Apple) que ha visto el futuro y la extensión de esta área que se imparte en todo el mundo. No fue tan sólo el fundador de Apple que mencionó y habló de ello. La BBC, por ejemplo, el año pasado lanzó una campaña para la enseñanza de la programación (la BBC comienza una campaña para la codificación y la creatividad 2015). 

En España, la Comunidad Autónoma de Madrid  (Programar para aprender), así como la Comunidad Autónoma de Navarra (90 centros educativos de Navarra participan en un proyecto para enseñar programación de software en Primaria) decidió introducir la programación y la robótica como objetivo en sus currículums educativos.

Múltiples fuerzas políticas estadounidenses se ha unido para promover La Hora del Código (Obama and Republicans unite for 'Hour of Code' computer literacy campaign), un proyecto en el que han participado 33.000 escuelas en más de 150 países. En Europa cada año se celebra la semana de programación. En esta promoción han participado personalidades del mundo de la moda como Karlie Kloss animando a niñas a aprender código (#codewithkarlie) mientras que Microsoft recientemente ha colaborado con CoderDojo para el mismo propósito.

Pero qué habilidades se desarrollan mediante la enseñanza de la programación? Algunos podríamos decir que son:

  • El pensamiento computacional
  • La Creatividad
  • La excelencia
  • Las habilidades de la lógica
  • Los estudiantes con NEE
  • Nuevos puestos de trabajo
  • Compromiso
  • Transversalidad
  • Profesionalismo
  • Gamificación
  • Juegos


¿Qué significa el pensamiento computacional?

Programar significa hablar el mismo idioma con la máquina. Esto se llama pensamiento computacional y requiere múltiples habilidades.

Por un lado, es muy útil aprender a analizar los problemas, la descomposición y buscar soluciones compatibles para cada parte de un problema. No es lo mismo diseñar un programa para un teléfono móvil, para un robot o para un ordenador, que tienen características diferentes. Durante el análisis se identifican, entre otras cosas, las relaciones entre los datos, los flujos de datos y se ulitiza para esto herramientas y gráficos que representan las entidades. Este proceso requiere la capacidad de análisis y de abstracción, una capacidad que no es sólo de la informática pero de otras materias.

Por otra parte, se aprenden las estrategias de resolución de un problema (problem solving). Si, por ejemplo, un ejercicio pide el desarrollo de un juego como el tres en raya, tras el análisis de los datos y de las reglas, se realiza el diseño de las mejores estrategias para ganar. Estas estrategias se expresan con una forma algorítmica, que son una combinación de secuencias, repeticiones y condiciones. Los algoritmos se pueden identificar como parte de la informática, sin embargo, se utilizan para resolver problemas cotidianos, lo que significa que el crecimiento de la capacidad de reconocimiento (metacognición) puede mejorar de la vida académica y personal.

Después de la fase del análisis y del diseño, tenemos la fase de codificación, programación. Es un acto de creación en la que se invita al alumno a interactuar con su trabajo. Así, el alumno puede ver el movimiento y si se está moviendo adecuadamente el héroe que ha diseñado para un juego y cómo cambia el resultado final de los diferentes parámetros del juego.

Para diseñar un programa tienes que ser específico y organizado, así como funciona el ordenador. Algunos lenguajes de programación, tales como Scratch, simplifican estos requisitos, ya que utilizan una interfaz gráfica con bloques de código en lugar de líneas de código, y por lo tanto son más adecuados para la enseñanza en la educación primaria.


La creatividad

La resolución de problemas (problem solving) requiere muchas veces la creatividad, sobre todo, cuando se habla de diseño de juegos y multimedia.
Para crear objetos en la programación orientada a objetos (Java) debes pensar en un ecosistema de objetos, gráficos (Logo) datos geométricos, las condiciones y las repeticiones (Scratch).


La excelencia

Sin duda, en la programación hay miles de soluciones a un problema, desde la mejor hasta la peor. Así que hay que tener en cuenta el uso adecuado de cada repetición, la velocidad de ejecución, el número de líneas de código, la reutilización, la escalabilidad y la claridad. Como profesor puedes ir más allá de lo "muy bien chico, funciona" y utilizar instrumentos para medir los parámetros mencionados. Esto se llama programación competitiva. A través de la competitividad puedes animar a sus estudiantes a participar en retos para ganar un premio de una manera lúdica (gamificación).


Las habilidades de la lógica

Un programador tiene que ver claramente qué variables son necesarias en un programa, cuál rango puede obtener y cómo se combinan entre sí y, por tanto, cómo se puede simplificar un programa. El álgebra de Boole es la clave en este punto. El pensamiento lógico se desarrolla la mente de los alumnos. "Si A y B. Si NO o C" no los sueña raro cuando ya habrán aprendido a colocar las variables en tablas, analizar los resultados y encontrar la manera de simplificar algo complejo.

 

Los estudiantes con necesidades educativas especiales (NEE)

Hay estudiantes que no pueden seguir el ritmo de un curso, creando desequilibrios en el aula. En programación, no es un problema. Pueder crear fácilmente muchos niveles distintos para dar a los estudiantes para que todo el mundo pueda participar en su propio ritmo. Por ejemplo, si en un ejercicio se pide calcular los 10 primeros números impares, se pueden crear los siguientes niveles:

1.    Sólo el impreso de estos
2.    Imprimir utilizando la estructura de repetición
3.    Calcularlos
4.    Actualizar el código para hacer que se ejecute más rápido, que se use menos memoria o menos líneas de código, etc.


Nuevos puestos de trabajo

Según las estimaciones, para el año 2020 habrá más de 1,4 millones de puestos de trabajo disponibles para los programadores de EEUU, pero menos de 400.000 estudiantes de las ciencias de computación para llenar estas posiciones.


Compromiso

Scratch y otros entornos de programación similares son ideales para involucrar a los estudiantes. El desarrollo de juegos es el trabajo favorito de los estudiantes en la materia de las TIC. Si no te gusta Scratch, prueba CodingGame  o CodeCombat

 

Transversalidad

Lo bueno de la programación es que puede ser un objeto de diseño interdisciplinario. Una vez que los estudiantes aprendan los conceptos básicos y empiecen a escribir líneas de código, pueden resolver una serie de problemas en otras materias. Algunas ideas:

Matemáticas: resolver y planificar una ecuación para calcular superficies, para investigar los fractales
Física: el uso de fórmulas y simulaciones
Química: ajustar reacciones químicas
Ciencias Sociales: hacer un análisis estadístico de los datos
Idioma: hacer las pruebas de vocabulario.
Tecnología: establecer un sistema de inteligencia artificial, juegos.
Biología: simular las células


Profesionalismo

La programación se abre un abanico de usos de la tecnología en actividades más serias de lo que los estudiantes consideran tradicionalmente.  Por ellos es una máquina de juego o dispositivo para conectarse a redes sociales.

 

El texto es una traducción del artículo original publicado por Andoni Sanz, profesor STEM que imparte clases de matemáticas y tecnología en secundaria, en la página edtechreview

 

Modificado por última vez enLunes, 08 Febrero 2016 17:56

Deja un comentario

Asegúrate de llenar la información requerida marcada con (*). No está permitido el código HTML. Tu dirección de correo NO será publicada.