Guía de compras de kits para aprender a programar

¿Cómo aprender a programar? Hay muchos métodos, pero de todos ellos algunos destacan sobre los demás. Hoy en Xataka vamos a hablar sobre los kits para aprender a programar, un conjunto de herramientas que nos lo ponen muy fácil para recoger todos esos conceptos básicos con los que luego continuar caminando.

Pero un momento, ¿por qué aprender a programar? ¿Qué herramientas necesito? Estas dos preguntas vamos a responderlas hoy en este especial, en el que también hablaremos de los principales kits para aprender a programar, pieza clave en este aprendizaje tan a la orden del día.

¿Por qué aprender a programar?

La programación es un conocimiento cada vez más común en nuestro día a día. Muchos países integran esta materia en los currículos de sus respectivas escuelas, e incluso en España - no vamos a negar que, generalmente, estamos por detrás de otros países en educación... - ya es una materia implantada en algunas comunidades, como Madrid o Navarra, con la tendencia de llegar a muchas otras durante los próximos años.

Era verano cuando en Xataka publicamos dos artículos sobre la didáctica de la programación:

Los expertos opinan que al igual que aprendemos a escribir, a leer u operaciones matemáticas, en el siglo XXI la programación será asignatura clave en la educación

Su finalidad, sentar unas bases para aprender a programar. ¿Por qué deberíamos aprender a programar? Expertos como Jeannette M. Wing, directora del Departamento de Ciencias de la Computación de la Carnegie Mellon University de Pittsburgh (Pennsylvania, Estados Unidos) aseguran que es una materia clave para el siglo XXI por el valor de una de las principales características que promueve, el Pensamiento Computacional:

Computational thinking is a fundamental skill for everyone, not just for computer scientists. To reading, writing, and arithmetic, we should add computational thinking to every child’s analytical ability.

El pensamiento computacional es un término que empezó a ser nombrado en 1980 por Seymour Papert, quien lo nombró en una de sus primeras obras, Mindstorms - sí, está enlazado con los productos que a finales de los 90 LEGO lanzó al mercado -, definiéndolo como el método de resolución de problemas que generaliza la solución para poder aplicarla en diferentes entornos. Requiere de una serie de conceptos - descomposición, generalización de la información, abstracción, modelado del problema, étc. - que con la llegada de la computación tanto al entorno doméstico como al profesional todos deberemos manejar durante los próximos años.

Y es precisamente el contexto de la sociedad actual el que hace de la programación un elemento fundamental para cualquier trabajo. La tecnología nos rodea y debemos saber cómo tratar con ella, conocerla a fondo y aprovecharnos en la medida de lo posible. Ese aprovechamiento tiene como resultado el pensamiento computacional, aplicable a muchos ámbitos de la vida - no tecnológicos; analógicos, si se me permite al término - y, por ende, nos lleva a la programación como un elemento clave de la sociedad del s.XXI.

Comentábamos antes los dos artículos que a lo largo del verano habíamos publicado relacionados con la docencia y la formación de la programación. Proponían una serie de conceptos básicos de entrada, para introducirse en el mundo de una forma directa con la materia a través de lenguajes e interfaces adaptadas a dar los primeros pasos. Sin embargo, también existen kits que pueden ser interesantes para iniciarse en la programación.

El software

Hablar de kits de programación que sean tangibles es tratar sólo una parte del todo. Hablar de programación es hablar de software por un lado, y de una parte hardware optativa por otro. Existen algunas excepciones como Computer Science Unplugged, pero desde luego son las menos.

El software es fundamental y parte clave en la docencia y formación de la programación. Y aquí reconozco que para mi el lenguaje Scratch es un eje fundamental. Un software nacido en el MIT en el año 2002 y que desde entonces ha gestado una comunidad online que alcanza los 11.7 millones de proyectos compartidos, con millones de usuarios por todo el mundo.

Scratch es, desde mi punto de vista, el mejor lenguaje para introducirse en el mercado. Lo utilizamos a diario en el Club de Jóvenes Programadores de la Universidad de Valladolid y los resultados están siendo excelentes. Su interfaz, basada en bloques y no en texto, ayuda entender la programación y facilita el proceso de entender cómo funcionan los ordenadores, ese proceso iterativo y secuencial de los algoritmos al que todos los informáticos y programadores estamos acostumbrados, pero que resulta raro para los más alejados de la materia.

Pero como Scratch reconozco que hay muchas opciones basadas en ese concepto de programación por bloques. Sin ir más lejos Code.org y sus excelentes tutoriales de iniciación, o la española bq con bitBloq, una especie de clon de Scratch muy enfocado a sus propios productos y con un espíritu más comercial.

Scratch o Code.org son las opciones más representativas de la programación por bloques. Pero también bitBloq, App Inventor o Alice pueden ser interesantes propuestas.

También tenemos por ahí App Inventor que nos permitirá crear apps de Android con programación con bloques (y que tiene una historia bastante curiosa), Alice para crear entornos 3D o el lenguaje propio de LEGO con los Mindstorms.

Para los que crean que la era post-PC ha llegado (eso es otro debate) también hay algunas opciones para tablets, aunque suelen estar muy limitadas frente a las de las plataformas PC. Tenemos Scratch Jr. como un hermano pequeño del Scratch original, pero que también ha sido desarrollado por el Lifelong Kindergarten del MIT; o Hopscotch como propuesta interesante y nativa en iOS.

¿Podemos aprender a programar con lenguajes de texto, más 'tradicionales'? Por supuesto que sí, y elegir un lenguaje por bloques o uno textual dependerá en gran medida de nuestra edad. Es cierto que los lenguajes por bloques están orientados a un público más joven, infantil incluso (4-5 años hasta los 16-18), y que tras estas edades muchos recomiendan acudir directamente a lenguajes como Python, que para muchos ha de ser el primer paso. Ayudarán algunas webs/tutoriales como CodeCombat, que pone gran empeño en la gamificación para promover el aprendizaje.

Sin embargo, como estamos hablando de kits para aprender a programar al final hay una máxima: cada kit incorpora su rango de lenguajes compatibles, y raramente podremos salirnos de ellos. Algunos son más versátiles y otros más cerrados, y por tanto lo ideal será documentarse para ver qué podemos utilizar. Personalmente recomiendo empezar por los lenguajes con bloques y, una vez los dominemos, dar el salto a los textuales. Ahora bien, por supuesto cada uno es libre de empezar por donde quiera.

Kits para aprender a programar

A continuación exponemos cuatro kits para empezar a programar, y que te serán de gran ayuda a la hora de dar los primeros pasos en esta nueva materia.

Makey Makey

Un juguete que parece trivial de realizar, pero que ha tardado años en llegar. Con el nombre de Makey Makey: An Invention Kit for Everyone se presentó en Kickstarter un conjunto de cables, pinzas y un USB para conectar al ordenador. Permite crear productos sencillos como un piano con unos cuantos plátanos:

El funcionamiento es sencillo y se basa en la conductividad eléctrica y en tocar diferentes objetos, todos ellos conectados al ordenador a través del Makey Makey. Muy sencillo de entender y con la capacidad de dar resultados muy sorprendentes - como lo de los plátanos -, aunque con la desventaja de ser algo limitado y, por tanto, dar un relativo poco juego, aunque a veces surgan ideas geniales.

Si quieres hacerte con uno te costará 49,95 dólares en la tienda oficial, aunque podemos encontrarlo en Amazon España por 67 euros. Si te parece muy caro puedes hacerte tu propio Makey Makey, llamado Shrimpkey, siguiendo estas instrucciones de Instructables.

Arduino

Si hablamos de programación es necesario hablar de Arduino, que en los últimos años ha pasado de ser una plataforma de electrónica para geeks a ser pieza clave en la docencia de la programación.

Mientras Makey Makey es un producto diseñado para que cualquier chaval pueda usarlo, es cierto que Arduino es para perfiles de mayor edad, típicamente por encima de los 8 o 10 años. Arduino es un producto solvente y con posibilidades infinitas, y entre estas muchas posibilidades... empezar a programar es una de ellas. Por ejemplo, crear un programa que encienda luces cada cierto tiempo o cada vez que pulsamos un botón es algo trivial.

A favor de Arduino tenemos su extensa lista de lenguajes de programación compatibles, más allá del oficial basado en C/C++, y que abarca decenas de diferentes posibilidades. Entre todas ellas destaca la posibilidad de utilizarlo a través de algunos lenguajes de bloques como el bitBloq de bq o, con mayor relevancia, también con Scratch (ya sea a través de S4A, un proyecto español, o de ScratchX).

Otro de los puntos clave de aprender a programar con Arduino es la ingente comunidad que existe en Internet, desde los recursos y ejemplos oficiales hasta guías de todo tipo. Y por supuesto, como estamos hablando de kits, el Starter Kit oficial de Arduino será pieza clave, estando disponible por 85 euros en Amazon España o 79,90 en tienda oficial. Otra opción es Makeblock, que también dispone kits de iniciación sobre que hace un tiempo analizaron en Xataka Home.

LEGO Mindstorms EV3

Hablábamos en el primer apartado de esta entrada de Papert y su obra Mindstorms, que tras unos cuantos años - y muchas colaboraciones entre el propio Papert, su pupilo Resnick, el MIT y los daneses LEGO - dieron lugar, en 1998, al primer LEGO Mindstorms, el denominado RCX.

Éste evolucionó en una segunda generación en 2006 llamada NXT, y más reciente (año 2013) en la tercera y actual Mindstorms EV3: robots programables para los que LEGO tiene su propio lenguaje - también basado en, sí, en bloques - y que son tremendamente atractivos tanto por la introducción en el mundo de la robótica, como por algunas competiciones a nivel local y nacional como las First Lego League.

Si compramos un Mindstorms EV3 lo tendremos todo, desde el hardware (el bloque principal, los sensores, otras piezas) hasta el software (originalmente se programan con su propio lenguaje, aunque también permiten muchos otros). Lo malo es el precio: LEGO Mindstorms EV3 es un juguete 'caro' que sale a la nada desdeñable cifra de 340 euros en Amazon España, sin duda un producto alejado de muchos bolsillos.

LittleBits

Reconozco que me enamoré de Littlebits cuando lo vi por primera vez, y me sigue enamorando. Una serie de kits que se definen como "The ultimate invention toolbox", y que proponen una plataforma de electrónica que permite utilizar diferentes bloques físicos para crear inventos de lo más dispar. Por ejemplo, una lámpara que se enciende desde le móvil:

LittleBits es tremendamente sencillo de utilizar, pues las piezas se conectan a través de imanes de una forma tremendamente sencilla e intuitiva, con un código de colores que será de gran ayuda para entender el conjunto. La infinidad de posibilidades y la comunidad son sus puntos a favor, con extensos tutoriales y guías que promueven desde la página oficial.

Luego tenemos la amplia variedad existente de LittleBits, con kits para todo tipo de usos y que pueden adaptarse a múltiples precios. En la tienda oficial están todas las opciones con kits entre 99 y 1.599 dólares y diferentes objetivos: Makey Makey, Arduino, Smart Home, música o Gizmos&Gadgets. En Amazon España también hay algunos disponibles (el básico por 91 euros o el súper por 137) aunque desde luego la oferta es mejor a la propuesta por la web oficial.

Y si necesitas algo más de ayuda...

... en Internet encontrarás absolutamente todo lo que necesitas para prosperar en lo referente a la programación. Se dice que cualquier duda ha sido ya resuelta en comunidades generalistas como la de Stack Overflown, o en las decenas de páginas y foros especializados en los diferentes lenguajes o entornos.

Cada uno de los kits de los que hemos hablado aquí tiene su respectiva comunidad de usuarios que incluyen foros y preguntas y respuestas. Si con los tutoriales de iniciación no has tenido suficiente, o si te has atragantado en algún paso, busca en Internet o pregunta por ahí. En Internet están las respuestas a (casi) todas tus dudas.

Ver todos los comentarios en https://www.xataka.com

VER 22 Comentarios

Portada de Xataka