¿Debería enseñarse la programación en la educación de la primera infancia junto con la lectura, la escritura y la aritmética?

Soy de la opinión de que la educación temprana debería dar prioridad a los temas que son más sensibles al tiempo y que se aprenden mucho más eficientemente a una edad temprana. Estos son idiomas (¡no solo uno!), Música y educación física . Las matemáticas, la ciencia y la programación no necesitan ser completamente descuidadas, pero es mucho más fácil “ponerse al día” con estas materias a una edad un poco más tardía.

En cuanto a qué conceptos de programación aprender primero, creo que la cantidad (es decir, el tiempo con una computadora, realmente la programación), la variedad (diferentes lenguajes, algoritmos, gráficos, etc.) y especialmente la motivación (tener algo que parece divertido, como codificar un video juego, o lo que sea), todo es más importante que los temas que enseñas primero. A diferencia de muchas disciplinas (una vez más, digamos, músicos profesionales o atletas), si observa a los mejores ingenieros de software, verá que la correlación se relaciona con el interés general, la exposición a las computadoras y la capacidad, y no con la educación formal temprana. Dicho esto, un poco de introducción al razonamiento matemáticamente riguroso y los aspectos formales de la CS desde una etapa temprana podría ser útil, y podría alentar más direcciones académicas o matemáticas en CS u otros campos técnicos.

¡Sí, absolutamente, si lo haces de la manera correcta!

¿Deberías tratar de enseñar C o LISP o Ruby a niños de 5 años? ¡Por supuesto no! ¡Aburrido, tedioso y demasiado complicado!

Pero Seymour Papert y muchos otros han diseñado lenguajes (como Logo y especialmente Lego Mindstorms) que son accesibles y divertidos para los niños. ¡Es arte, música, matemáticas, ciencia, diseño de juegos y robótica, todo en un solo paquete con una lógica clara y simple!

Tuve la suerte de aprender el logotipo de la tortuga en la escuela primaria, ¡y eso fue hace un cuarto de siglo! – y he visto a niños de kindergarten realmente divirtiéndose con Lego Mindstorms. No sé si eso es técnicamente educación de la primera infancia (que tiene entre 0 y 4 años, si no recuerdo mal), ¡pero es bastante temprano!

Enseñar a programar de esta manera en K-3 es una excelente idea por varias razones:

  • Pone a los niños a cargo, les permite ser creativos y hace que el aprendizaje sea divertido.
  • Enseña pensamiento algorítmico / procesal, programación orientada a objetos e ideas como la iteración a una edad muy temprana, antes de que los niños se vean tan atrapados en la lógica académica que este tipo de pensamiento les resulte difícil.
  • Es una herramienta que los maestros pueden usar para facilitar el aprendizaje de muchas otras materias.
  • Los niños de primaria mayores pueden graduarse a StarLogo o NetLogo, que son lenguajes realmente poderosos para hacer modelado basado en agentes (ABM) y modelado de sistemas de estilo SD.
  • ¡HAGA Y PROGRAME SUS PROPIOS ROBOTS LEGO! (‘¡Nuff dijo! 🙂

Recursos:
Tormentas mentales: niños, computadoras e ideas poderosas, por Seymour Papert.

Lego Mindstorms EV3

Amazon.com: LEGO Mindstorms EV3 31313: Juguetes y juegos

Creo que debería enseñarse por defecto, pero no necesariamente tan temprano como la educación infantil.

La programación debe ser introducida poco después de que un alumno sea introducido a las variables en matemáticas (álgebra).

A mi modo de ver, la programación, especialmente la programación funcional con Scheme, sin duda complementaría los currículos de álgebra como una clase de laboratorio complementaria. Puede presentar más rápidamente a los estudiantes el concepto de comenzar con primitivas y pasar a funciones de nivel superior a través de la composición y la abstracción.

Para aquellos interesados ​​en el tema, les recomiendo leer el prefacio de Cómo diseñar programas, que fue desarrollado con este objetivo exacto en mente:

http://www.htdp.org/2003-09-26/B