Participa en el blog, comenta, conoce a otros autores...

Ya somos 60660 usuarios registrados!

20 Ene

STEM: ¿Por qué enseñar programación en la escuela? (I) (@AndoniSanz)

0
Tu voto: Ninguno

Lo que empezó siendo un tímido fenómeno hace algunos años se está convirtiendo en una parte importante del curriculum educativo. Estamos hablando de enseñar a programar un sistema informático, sea éste un ordenador, un dispositivo móvil, un wearable o una placa Arduino, en edades cada vez más tempranas.

El difunto Steve Jobs (Apple) ya profetizó la expansión de esta disciplina a nivel mundial y apuntó muy acertadamente: “toda persona debería aprender a programar porque también enseña a pensar”. Pero no sólo el fundador de Apple ha tenido voz al respecto; fas de este fenómeno crecen sin cesar. La BBC, por ejemplo, lanzó el año pasado una campaña en favor de aprender programación (http://goo.gl/AHvVpV @Wired). De la misma manera, muchos gobiernos, como la Comunidad de Madrid (http://goo.gl/Jp3qg6 @elpais_espana) o la Comunidad Foral de Navarra (http://goo.gl/et8UCD ), han decidido apostar fuerte y han incluido una asignatura de programación y robótica en sus currículums educativos. En EEUU varias fuerzas políticas se unieron en el 2014 para promocionar The Hour of Code (http://goo.gl/THaKfi @theverge), proyecto que involucra a 33.000 escuelas de más de 150 países; y en Europa se celebra anualmente la semana de la programación. Incluso el mundo de la moda ha tenido representación de la mano de top models como Karlie Kloss, animando a niñas a aprender (#codewithkarlie). Y recientemente el gigante Microsoft se ha aliado con CoderDojo para también promocionar la enseñanza de la programación.

Pero, ¿cuáles son las virtudes de esta nueva asignatura?:

  • Pensamiento computacional
  • Creatividad
  • Excelencia
  • Autonomía
  • Habilidades lógicas
  • Alumnos con necesidades educativas especiales
  • Oportunidades de trabajo
  • Empoderamiento y personalización
  • Gamificación
  • Transversalidad
  • Alumnado femenino
  • Lenguajes de programación
  • Plataformas de desarrollo
  • Juguetes
  • Diseño de unidades didácticas sobre programación
  • Docentes

Esta semana iremos descubriendo cada una de estas virtudes, en lo que vamos a llamar la "Trilogía de la programación en la escuela".

Comencemos.

Pensamiento computacional

Programar supone hablar el mismo idioma que la máquina. A esto se le llama pensamiento computacional y requiere de múltiples habilidades.

Por un lado, es necesario aprender a analizar problemas, descomponerlos y buscar soluciones compatibles: no es lo mismo diseñar software para un móvil, un robot o un PC, que tienen características y dispositivos distintos. Durante la fase de análisis se identifican los elementos, sus relaciones o los flujos de datos, entre otros, y para ello se utilizan una serie de herramientas, como diagramas que representan las entidades del sistema. El proceso en sí exige una capacidad analítica y de abstracción importante. Este análisis no es tanto informático, sino que puede extenderse a otras disciplinas.

Por otro lado, se trabajan las estrategias de resolución de problemas. Por ejemplo, si se quiere desarrollar un juego como el tres en raya, una vez hecho el análisis de sus elementos y reglas, se pasará al diseño de las mejores estrategias para ganar. Éstas últimas se expresarán de forma algorítmica, esto es, a modo de conjuntos de pasos basados en secuencias, repeticiones y condiciones.

Aunque parezca estrictamente informático, usamos algoritmos todo el rato para resolver problemas cotidianos, lo cual significa que desarrollar la habilidad de identificarlos (metacognición) y refinarlos puede llegar a mejorar la propia vida personal y académica. Es más, muchos alumnos no alcanzan su máximo potencial porque, simplemente, o utilizan incorrectamente o no saben usar sus propios recursos mentales. Volverse consciente de ellos, analizarlos y reconstruirlos puede suponer una gran diferencia, y en ello también ayuda la programación.

Un ejercicio de análisis y diseño interesante consiste en plantear un escenario doméstico diario: el desayuno. Se introducen los actores (los propios alumnos en sus casas), y los elementos compartidos (utensilios, microondas…) y se les pide que analicen la situación para después hacer un diseño algorítmico en donde el uso de los recursos esté optimizado; o dicho de otra forma, cómo organizar el desayuno para que nadie tenga que esperar a que quede libre el microondas o el exprimidor. Estos ejercicios no requieren de elementos tecnológicos y juegan con la transversalidad al tratar temas de otras asignaturas, como una dieta sana o la importancia del desayuno.

Después de todos esos pasos previos de análisis y diseño, la última fase consiste en la programación o codificación propiamente dicha. Es un acto de creación en sí mismo, en donde el alumno va a poder ver e interactuar en vivo con su trabajo, y que generalmente supone un momento de regocijo para su creador, especialmente cuando se programan videojuegos. Conseguir que el personaje se mueva correctamente, introducir la gravedad para que caiga desde una altura, o que interactúe con el medio son retos que provocan gran satisfacción.

Hay que aclarar que los requerimientos y exigencias que supone la programación son mayores que los que pueden encontrarse en otras asignaturas. Programar líneas de código exige ser estricto y ordenado, ya que el propio ordenador también lo es a lo hora de interpretar el programa, y no se da pie a indeterminaciones o interpretaciones subjetivas. Algunos lenguajes, como Scratch, suavizan estas condiciones añadiendo una capa gráfica que permite desarrollar rápidamente de forma visual encajando bloques de código, y que es más adecuado para primaria. A medida que los alumnos desarrollan sus capacidades de programación también se desarrollan a su vez otras de gran interés, como la identificación de patrones o la extrapolación de soluciones.

Creatividad

La programación y la creatividad van de la mano. Si la resolución de problemas necesita una buena dosis de ella, el diseño de interfaces, videojuegos o elementos multimedia necesitan aún más.

La plataforma de programación que se elija también impondrá sus propias necesidades creativas. La informática ha evolucionado en pocos años y a lo largo de su vida ha ido creando nuevas formas de entender la creación de programas, dando lugar a las generaciones de los lenguajes. Por ejemplo, elegir Java implica saber programar pensando en objetos, por lo que el diseño de la solución se verá condicionado a tal característica. Otros lenguajes, como Logo, requieren de inteligencia espacial y geométrica para su uso; o con Scratch la programación estructurada por bloques tendrá todo el protagonismo. Sin olvidar los lenguajes de recuperación de datos como SQL o las funciones Google Sheets o Microsoft Excel.

¿Quieres concer el resto de virtudes?, ..., mañana más.

---------------------------------

Andoni Sanz. Ingeniero informático y profesor STEM en secundaria, imparte informática, matemáticas, tecnología y programación. Además es un Educador Certificado de Google y un experto en Moodle. Combina las técnicas pedagógicas de la Universidad de Hardvard (Proyecto Cero) con la tecnología y la gamificación, dentro del marco de trabajo Haidei que él mismo ha creado. Investigador constante de EdTech, da charlas sobre cómo diseñar soluciones efectivas de blended learning. Puede seguirse su actividad y trabajos en andonisanz.com

Valoración media
0
Tu voto: Ninguno

Deja un comentario

El contenido de este campo no será publicado.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <p> <b> <br>

CAPTCHA
Esta pregunta se realiza para comprobar que eres una persona.
Image CAPTCHA
Enter the characters shown in the image.
To prevent automated spam submissions leave this field empty.

archivo del blog

Escúchanos

enlázanos

Comunidad en Procomún