Programar es, según la RAE, ***elaborar programas para la resolución de problemas mediante ordenadores***. Donde programas son una serie de instrucciones debidamente elaboradas para dicho ordenador. Visto de otra manera, el programador escribe un mensaje, el código fuente, que el ordenador recibe, entiende y ejecuta luego de una serie de traducciones. Así se establece un tipo muy especial de interacción hombre-máquina, que comienza en la mente del programador y termina en los registros del CPU.
La programación es ciencia y arte. Por un lado, como programadores, tenemos que hacernos de una buena colección de **algoritmos y estructuras de datos** para resolver problemas con cierta eficiencia. Aquí está la ciencia. Por el otro lado, debemos adquirir **el oficio de programar** con alguna herramienta, que va desde el [lenguaje de programación](http://bitelia.com/2010/07/lenguajes-de-programacion-emergentes-1a-parte) hasta el entorno de desarrollo, sin mencionar técnicas de ingeniería de software para gestionar proyectos complejos y donde las preferencias-obsesiones personales entran en juego, incluso podemos hablar de estilos de programación. Aquí está el arte. Un programador experimentado sabe equilibrar esas dos fuerzas.
**¿Cómo enseñar programación a un niño?** Digamos a alguien entre 8 y 15 años de edad. No creo tener la mejor respuesta en términos pedagógicos, sin embargo, sí puedo recomendar alguna de las siguientes herramientas diseñadas especialmente para que los niños aprendan a programar, sin las complejidades teórico-prácticas de la programación profesional, con diferentes paradigmas a escoger.
No soy padre, pero si lo fuera creo que la experiencia de enseñarle a tu hijo a programar será la próxima versión de enseñarle a andar en bicicleta. Si tú lo has hecho, por favor cuentanos tu experiencia en los comentarios.
### 1. [Alice](http://www.alice.org/)
Código abierto. Inglés.
Ambiente de programación creado en Carnegie Mellon University, donde los niños pueden contar historias animadas con bloques 3D: «para la próxima generación de científicos de la programación.

### 2. [Doma de Serpientes para Niños](http://code.google.com/p/swfk-es/)
Código abierto. Inglés y español.
Basado en el famoso «Snake Wrangling for Kids», es un libro electrónico para enseñar programación a niños mayores de 8 años mediante el lenguaje de programación Python, disponible en cualquier sistemas operativo. Éste lenguaje, cabe mencionar, es sencillo, flexible y poderoso: soy un acérrimo fan.
### 3. [Kids with Ruby](http://kidsruby.com/)
Código abierto. Inglés.
Es un software interactivo para aprender programación con el lenguaje Ruby: unos de los más bellos lenguajes, si me permiten decirlo, que podrán encontrar. Como dijo Yukihiro Matsumoto, creador de Ruby, «espero ayudar a que cada programador en el mundo sea productivo, disfrute y sea feliz programando. Este es el principal propósito del lenguaje Ruby».
### 4. [Kodu](http://www.kodugamelab.com/)
Comercial. Inglés.
Con Kodu lo niños pueden crear juegos de manera visual desde la PC y XBox. Fue diseñado para enseñar a programar con tres conceptos eje: creatividad, resolución de problemas y narrativa.

### 5. [LEGO MindStorms NXT](http://mindstorms.lego.com)
Comercial. Inglés, español.
Son robots programables, ya sea con el **NXT Intelligent Brick** para programas relativamente sencillos, o con alguno de entre cincuenta lenguajes de programación disponibles.

### 6. [Hackety Hack](http://hackety.com/)
Código abierto. Inglés.
Sin experiencia previa en programación, por supuesto, Hackety Hack es un software ya clásico para enseñar a programar con Ruby, una lección a la vez. Creado por el no menos famoso hacker **_why**, Hackety Hack incluso obedece a un manifesto que en una de sus últimas líneas dice que «es libre y se mantendrá así en adelante».
### 7. [Petit Computer](http://www.petitcomputer.com/)
Comercial. Inglés.
Si sentarse a programar no es opción, tal vez sí lo sea usar un Nintendo 3DS o DSi con Petit Computer, que permite crear programas en BASIC. No es que BASIC sea la mejor opción, sin embargo puede ser atractivo hacerlo desde la consola portátil.

### 8. [Raspberry Pi](http://alt1040.com/2012/03/raspberry-pi-otro-triunfo-de-la-cultura-libre)
Comercial/Código abierto. Inglés.
Este ha sido uno de los mayores éxitos de la comunidad del software y hardware libres en los últimos años. Se trata de una pequeña placa que puede costar entre 25 y 35 dólares, donde cabe Linux, y está diseñado expresamente para la enseñanza de programación básica. Además de ser un gadget fabuloso para un hacker, su portabilidad y precio permiten montar talleres móviles de programación para niños con poco acceso a la tecnología.
### 9. [RoboMind](http://www.robomind.net)
Gratuito. Inglés.
Tenemos ante nosotros un proyecto similar a LEGO Mindstorms, pero en software: un ambiente de programación básica aplicada a un robot virtual, con la posibilidad de profundizar en temas de robótica e inteligencia artificial. Utiliza su propio lenguaje, ROBO, diseñado con una sintaxis simple.
### 10. [Scratch](http://scratch.mit.edu/)
Código abierto (salvo algunas partes). Inglés.
Este proyecto ya es un clásico. Comenzó en el MIT en 2006 y hoy en día tiene una comunidad vibrante de usuarios que comparten proyectos y experiencias. Scratch se conforma de un entorno de programación visual orientada a la creación de juegos y animaciones para iniciar a los niños en los bloques básicos de la programación.

Fotografía: [mytoenailcameoff](http://www.flickr.com/photos/damianathegirl/5102903812/)
Un libro en español escrito especificamente para que niños aprendan programacion – https://leanpub.com/programmingforkidsspanish
Me gustó mucho este artícula, soy docente y mamá, mi hijo tiene 10 y quiero ayudarlo con su pasión y sueño de programar juegos, me resulta muy valiosa la nformación!
¡Y que hay del viejo y amado LOGO????
_
/ \
) (
_ .»»». _
/
/
_\ /\
\«
|_> _ <_|
»|/\ /\_|
/\_-‘-/\
//
)
\_\«» «»
No salió la tortuga en ASCII, ¡qué mala pata!
:(
Se me olvidó mencionar que para niños más mayores y aprovechando el tirón de los teléfonos android esta el AppInventor anteriormente de Google y ahora del MIT.
http://appinventor.mit.edu/
Scartch no esta en inglés, o más correctamente, puede ser configurado en muchos idiomas entre ellos español.
De todos es mi opción para niños de 8 a 14. Incluso de 6.
Hace tiempo filme un curso de 10 capítulos para enseñar Scratch a niños. Es licencia Creative Commons y puede encontrarse aquí:
http://tejedor1967.blogspot.com.es/2011/05/curso-de-scratch-videos-en-hd.html
Ha sido seguido por mucha gente, mucha de Colombia y el resto de America y lo impartí también de forma presencial dentro del Scratch Day 2011 en Madrid.
me caeria bien un LEGO MindStorms NXT… lastima que no habia en mi epoca de niñez
me caeria bien un LEGO MindStorms NXT… lastima que no habia en mi epoca de chibolo
Excelente artículo, muy interesante, genial
http://www.kalcos.es
Excelente artículo, muy interesante
http://www.kalcos.es
y… y… y squeak?
Esta muy bien el articulo, pero veo que pones a Raspberry Pi y te olvidas de Arduino, el cual lleva muchisimo mas tiempo en el mercado y ya tienen miles de desarrollos y aplicaciones en funcionamiento
¿Me permitis un poco de publicidad?
Estamos organizando dos jornadas para que los niños puedan iniciarse con la programacion con Scratch. Una en Palencia y otra en Segovia. Serán en Octubre y ya hemos abierto las inscripciones:
http://formacion.funge.uva.es/cursos/i-dia-del-scratch-en-segovia/
https://formacion.funge.uva.es/cursos/i-dia-del-scratch-en-palencia/
Un saludo y gracias Alan por el recopilatorio!
Ojala en las escuelas primarias y secundarias enseñaran programacion e informatica aqui en venezuela. Uno tiene que estar en 4to semestre de cualquier carrera tecnologica universitaria para poder saber que es programacion.
Por lo que he visto esto son programas que en cierto modo «programan» por ti, no te enseñan a programar como tal sino que con estos puedes programar sin saber nada en cierto modo, ¿Tengo razon?
no tienes razon
En la escuela nseñan muxas estupidecs, y hoy en día lo pragmático d verdad es enseñarle a los chavales que pueden crear y construir aquello q se les ocurra. El resto lo aprenderán bajo la necesdad
si te enseñaron a escribir así, deberías demandarlos
Escribiendo así, seguro harás porquerías intentando programar. Jala para otro lado.
Cuando asistia a la secundaria nos enseñaron a programar con visual basic, hicimos varios programitas sencillos pero bien hechos. Tenia unos 12-13 años y era algo interesante.
Pues si funciona bienvenido, pero creo que en el ambiente educativo publico demandaria muchos recursos y personal muy calificado para atender algun problema.pero creo que es simple evolucion, lo que hoy nos parece dificultuoso en el mañana sera anecdotico
andres636
….Donde se ponga un Spectrum con su Basic….
Solo para que se pueda actualizar, el software para Mindstorms NXT también está en español :)
Los manuales para armar el robot no vienen en ningún idioma para que cualquiera lo pueda armar.
Actualizado!, gracias Memo.
Me parece excelente este artículo, mi hermano tiene 11 años y por fin encuentro una manera de «impulsar» el uso de la lógica con estas herramientas.
Repito, excelente artículo.