Cómo empezar a aprender programación: consejos y recursos para hacerlo de adulto

Cómo empezar a aprender programación: consejos y recursos para hacerlo de adulto

68 comentarios Facebook Twitter Flipboard E-mail
Cómo empezar a aprender programación: consejos y recursos para hacerlo de adulto

Si en alguna ocasión hemos hablado de cómo introducir a los niños en el mundo de la programación, hoy vamos a plantear un artículo similar pero con un enfoque diferente. Como aprender programación en verano siendo adultos.

La programación, una vez más, como herramienta que ayuda a estructurar la mente, a plantear nuevas formas de solucionar problemas de la vida diaria o, por qué no, a enseñar a tu hijo/a a dar sus primeros pasos en este mundo. La programación también puede ser un excelente tema que aprender durante este verano, y hoy te vamos a dar algunas pistas y trucos para ponerte con ello.

No queremos que te conviertas en profesional

En primer lugar debemos hacer un pequeño disclaimer: no buscamos convertirnos en programadores profesionales, nunca, bajo ningún concepto. El que quiera encontrar su camino laboral como programador no encontrará aquí el post definitivo.

Hoy ahondaremos en cómo dar los primeros pasos en la programación como afición, aprovechando el punto divertido que tiene y las consecuencias de la fase de aprendizaje que son compartidas con las que ya mencionamos cuando hablábamos de la programación educativa. Se mejoran ciertas aptitudes tales como la resolución de problemas, el pensamiento lógico-matemático y, más en general, todo lo relacionado con el pensamiento computacional.

Daremos por hecho que un adulto no necesita socializar, compartir y dialogar con otros iguales, aunque por supuesto esto puede ser interesante en ciertos casos puntuales. Un adulto puede aprender de forma más individual e independiente del grupo, y éste será el enfoque que plantearemos con los siguientes consejos.

Puedes empezar igual que los niños

Nos referimos a los programas y la metodología. Scratch como herramienta principal y que te proporcionará una base sobre lo que es un algoritmo y la forma como "piensan" los ordenadores. Si no tienes conocimiento alguno sobre programación, debes empezar primero en los tutoriales de Code.org, para así aprender las nociones básicas.

Una vez las hayas obtenido Scratch es una muy buena segunda-opción, dada la variedad de programas y proyectos que nos permitirá crear. Aquí debemos activar nuestra mente para iniciar nuevas ideas que tengamos en la cabeza y, si es posible, añadir incrementos iterativos. Por ejemplo, a un simple Pong podemos añadirle marcadores, tiempos de duración de la partida, ranking, estadísticas, nuevos movimientos especiales, objetos de bonus... y será un Pong con esteroides, perfecto para aprender.

Si ya dominas Scratch con cierta soltura podrás abandonar los lenguajes 'de juguete' y pisar a fondo hacia lenguajes más serios y formales, de tipo texto. Opciones como Python que es para muchos el gran entorno 'real' después de los lenguajes visuales y de colores, o Arduino, sobre el que hablaremos específicamente más adelante al ser una opción genial.

Arduino: buscando la utilidad 'real' con robótica

Estamos acostumbrados a programar frente a una pantalla, y a que los resultados de esta programación aparezcan en el terminal. Con Arduino las cosas cambian, y precisamente uno de sus grandes atractivos es poder sacar resultados 'reales' a partir de la programación en pantalla.

Crear robots con Arduino es algo más complejo que hacerlo con LEGO MindStorms (si tuviese que recomendar un kit de robótica que no estuviese relacionado con Arduino ese sería, sin duda, MindStorms), pero también mucho más económico y en el camino aprenderemos mucho más. En Arduino deberemos reiniciar nuestra cabeza y poner el contador a cero, ya que es un mundo separado que requerirá que nos informemos sobre el mundo de la electrónica, motores, sensores y posibilidades.

Arduino puede ser la mejor opción en la que pasar varios meses aprendiendo, tirando del hilo y evolucionando nuestras ideas. De un sencillo robot con ruedas podemos pasar a robots rastreadores, y luego a arañas. A medida que vayamos avanzando se irá abriendo el camino con el siguiente paso a realizar.

El horizonte, más lejano

Es algo obvio pero que muchas veces puede pasar inadvertido. Márcate metas, y estas metas deberán estar mucho más lejos que las que un niño/a se pone cuando aprende este campo.

Por ejemplo crear una impresora 3D con Arduino puede ser un interesante proyecto a largo plazo, y con él puedes tanto aprender cuestiones de hardware (componentes, drivers, compatibilidad) como software (toda la programación necesaria que rodea al hardware). Igualmente en Arduino hay robots extraordinariamente complejos:

Obviamente antes de llegar a tener un robot araña que interprete nuestras órdenes de voz es necesario 'aprobar' todas las fases anteriores: los robots rastreadores pueden ser un primer paso interesante, para luego ir creciendo a partir de ellos.

Con la programación más tradicional ocurre algo parecido: un adulto puede llegar a crear programas más complejos que los realizados por un niño, pero igualmente deberá ir evolucionando de forma progresiva, y paso a paso. Empezar con las bases de un lenguaje e ir evolucionando, creando tu propio software. Un interesante enfoque es crear software de gestión para uso propio, como pueden ser agendas de contactos, recetarios, etc. Son relativamente sencillos de implementar, completos y tienen una utilidad clara y específica.

Una vez hayas obtenido una cierta base de programación puedes ir a por opciones cuyos resultados son mucho más atractivos que el código directo. Por ejemplo Unity es una herramienta gratuita para uso personal de la que existen decenas de tutoriales muy sencillos de seguir y cuyos resultados son geniales, permitiendo sacar partido al lado creativo además del lógico-matemático.

¿Ideas? ¿Libros? ¿Tutoriales?

Internet es un gran aliado para aprender a programar, tengas la edad que tengas. Por ejemplo, aquí tienes una recopilación de 125 proyectos de programación que puedes empezar a realizar, desde ejercicios básicos como invertir una cadena de caracteres, contar vocales, comprobar si una palabra es palíndromo; hasta cosas más complejas como sistemas de gestión, sistemas de descarga, gestores de Telnet, pizarras 'blancas'... y mucho más. También tienen por aquí 49 ideas de juegos para 'clonar' y, de paso, aprender programación.

Sobre programación existe mucha literatura. Cientos y cientos de libros y manuales, con editoriales especializadas como O'Reilly y sus imprescindibles Head First. Son manuales típicamente caros, pero habitualmente son herramientas esenciales si lo que buscamos es un libro físico. O'Reilly también tiene los Cookbooks que abarcan mucho más conocimiento, también divididos en lenguajes.

Los recursos gratuitos también pueden ser muy importantes, y ejemplos hay muchos: Learn Python, Codecademy, Khan Academy, CodeSchool...

Los recursos gratuitos también pueden ser importantes, en muchas ocasiones mejores que cualquier libro físico aunque nos costará dar con la tecla adecuada. Hablamos de guías y tutoriales como por ejemplo Learn Python, los de Codecademy (Python, JavaScript, HTML+CSS, PHP, Ruby) o el excelente curso de Khan Academy sobre ciencias de la computación. También hay webs especializadas que ofrecen algunos cursos gratuitos y otros de pago, pero que merecen mucho la pena: CodeSchool (Ruby, iOS, HTML+CSS) es un imprescindible. Si quieres más alternativas, en Quora tienen un hilo con decenas de estas otras opciones.

Khan Academy Ss

Si vamos a por algo más visual podemos optar por videotutoriales en Youtube, que pueden servir perfectamente en las primeras fases del aprendizaje. Tutoriales, vídeos y primeros pasos en un lenguaje o una tecnología que podremos seguir rápidamente; por ejemplo uno para Scratch, unos cuantos para Python o cómo construir tu primer robot en Arduino.

Al final, como casi todo, aprender a programar es una cuestión de práctica. De probar, fallar, reorientar, solucionar, aprender y repetir todo lo anterior. Y así indefinidamente.

Es fundamental ir marcándose metas para ir creciendo y evolucionando, y no quedarse anclado. Internet es un apoyo imprescindible, donde podremos encontrar prácticamente cualquier respuesta que busquemos. Google nos sacará de muchos apuros con una búsqueda correcta; si por ejemplo tenemos una duda sobre strings en Python podemos encontrar excelentes guías de forma rápida e indolora.

Por último, y aunque inicialmente habíamos planteado un aprendizaje individual, las comunidades de 'amigos' de la programación existen. Tanto en el mundo físico, con grupos que periódicamente ponen en marcha iniciativas como charlas o clases específicas sobre ciertos lenguajes o tecnologías, como por supuesto en el mundo digital.

Reddit Learnprogramming
Si hay una comunidad imprescindible esa es la de Reddit, y el wiki de /r/learnprogramming, fundamental

En Internet encontramos foros, redes sociales, grupos de noticias, webs especializadas y de todo. Imprescindible la comunidad de StackOverflown para resolver dudas y problemas; si lo que quieres es empezar desde cero en Reddit encontramos el /r/learnprogramming) donde incluso tienen un Wiki muy completo con una sección de 'cómo empezar'. Como siempre, los comentarios están abiertos para que podáis añadir y recomendar cualquier comunidad que pueda servir de ayuda para aprender a programar.

Comentarios cerrados
Inicio