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.

YouTube video

### 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.

YouTube video

### 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.

YouTube video

### 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.

YouTube video

### 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.

YouTube video

Fotografía: [mytoenailcameoff](http://www.flickr.com/photos/damianathegirl/5102903812/)

También en Hipertextual:

La actualidad tecnológica y científica en 2 minutos

Recibe todas las mañanas en tu email nuestra newsletter. Una guía para entender en dos minutos las claves de lo realmente importante en relación con la tecnología, la ciencia y la cultura digital.

Procesando...
¡Listo! Ya estás suscrito

Participa en la conversación

25 Comentarios

Participa en la conversación, deja tu comentario

  1. 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!

  2. ¡Y que hay del viejo y amado LOGO????
    _
    / \
    ) (
    _ .»»». _
    //_\ /\\
    «|_> _ <_|»
    |
    /\ /\_|
    /\_-‘-/\
    /
    / ) \_\
    «» «»

  3. 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.

  4. 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

  5. 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.

  6. 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?

  7. 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

  8. 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.

  9. 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

  10. 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.

  11. 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.