¿Qué idiomas funcionan mejor para enseñar programación a niños de 8 a 9 años?

Hay muchas buenas opciones:

Python Está diseñado para ser simple, pero no de una manera debilitante. Puede elegir fácilmente un subconjunto del lenguaje que sea lo suficientemente potente como para que los niños hagan cosas interesantes sin ser abrumadores.

Smalltalk Squeak es un entorno diseñado específicamente para enseñar a los niños, y Smalltalk es un lenguaje divertido.

RealBasic o Visual Basic . A pesar de lo feos que son estos idiomas, un niño de 9 años no está interesado en la estética del lenguaje tanto como en construir cosas geniales. La gratificación instantánea de armar una GUI con el mouse es bastante genial para un niño de 9 años, y hay mucho tiempo para rescatarlos de las profundidades de .NET antes de que entren en la fuerza laboral.

JavaScript Un subconjunto de JavaScript es bastante simple de entender, y todo lo que necesitan es el Bloc de notas y un navegador para comenzar.

QBasic . Un poco de la vieja escuela, pero pocos idiomas modernos le brindan los mismos gráficos y funciones de sonido con un código repetitivo absolutamente cero. Tengo buenos recuerdos de hacer melodías con el sonido que funciona como un niño de 9 años.

Esquema / Raqueta . Puede ser un poco avanzado para un niño de 9 años, pero DrRacket está diseñado para enseñar y tiene algunas primitivas gráficas geniales.

También voto Scratch ( http://scratch.mit.edu ): es excelente debido a la enseñanza natural de la mensajería / sincronización, pero también porque enseña lógica, control de flujo y variables de forma visual en lugar de de manera abstracta o sintáctica: simplemente agarra la lógica bits y arrastrarlos y colocarlos en su lugar También es excelente porque les permite a los niños crear aplicaciones, animaciones y juegos interactivos similares a Flash: estas son las cosas con las que juegan en las computadoras y, naturalmente, quieren crear las suyas, por lo que satisface su deseo de crear lo que están viendo. . Desearía que las funciones para compartir y descubrir / categorizar proyectos fueran un poco más fuertes: Scratch viene con muchos proyectos de muestra que puedes desarmar y ajustar, lo cual es increíble (mi hijo ha aprendido mucho de esto) pero no es suficiente. Casi desea una red social solo para niños para que el intercambio sea mejor y más parecido a cómo los profesionales comparten fragmentos y código abierto, incluso la “red social” mucho más avanzada de Spore para compartir criaturas, planetas y misiones no es muy útil, por lo que cree que se necesita algo de trabajo en estas herramientas para ayudar a los niños a encontrar mejores ejemplos que puedan separar y modificar.

Actualización de 2012 con algunas herramientas más que mi hijo de 11-12 años ha probado y le ha gustado, y que espero que mi hija de 9 años trabaje, son apropiadas para la edad:

  • BYOB / Snap! ( http://byob.berkeley.edu/ ) que se basa en Scratch pero tiene más y mejores bloques, cosas como listas (matrices).
  • Scratch 2.0 saldrá pronto, lo que también repara los bordes ásperos de BYOB / Snap. Intenté arreglarlo. Las características sociales / de intercambio de Scratch creo que son mucho mejores en estos días que cuando escribí mi respuesta por primera vez.
  • Stencyl ( http://www.stencyl.com/ ) que es como Scratch de gran tamaño para crear juegos en iOS / etc. Creo que la herramienta es un poco demasiado complicada para los niños pequeños, pero si realmente están interesados ​​en la programación, están comenzando a haber muchos proyectos y tutoriales gratuitos / de ejemplo que pueden desgarrar para aprender cómo construir los suyos.
  • Procesamiento ( http://processing.org/ ) que tiene un enfoque más de línea de comandos, que por un lado es extraño pero por otro lado se siente un poco más poderoso. Utiliza Java, por lo que a veces puede ser una sensación un poco lenta y menos interactiva.
  • Corona ( http://www.coronalabs.com/ ) para el desarrollo de aplicaciones de iPhone. También tiene una comunidad OK de muestras y tutoriales.

Aquí hay un breve video sobre cómo enseñar Scratch, Alice, Python y Pygame a los niños: http://briccetti.blogspot.com/20

La comunidad Scratch, donde los niños pueden hacer amigos y compartir sus proyectos, es un gran motivador para muchos. http://scratch.mit.edu/

Alice tiene gráficos bastante anticuados y muchos errores, pero puede ser un buen camino para aprender Java. Es una herramienta divertida para crear juegos e historias en un mundo 3D.

Aquí hay una razón por la que enseño Python en lugar de Java: http://briccetti.blogspot.com/20