{"id":2495,"date":"2015-07-03T16:09:54","date_gmt":"2015-07-03T14:09:54","guid":{"rendered":"https:\/\/diocesanos.es\/blogs\/equipotic\/?p=2495"},"modified":"2015-07-03T16:09:54","modified_gmt":"2015-07-03T14:09:54","slug":"como-empezar-a-aprender-programacion-consejos-y-recursos-para-hacerlo-de-adulto","status":"publish","type":"post","link":"https:\/\/diocesanos.es\/blogs\/equipotic\/2015\/07\/03\/como-empezar-a-aprender-programacion-consejos-y-recursos-para-hacerlo-de-adulto\/","title":{"rendered":"C\u00f3mo empezar a aprender programaci\u00f3n: consejos y recursos para hacerlo de adulto"},"content":{"rendered":"<p>Si el otro d\u00eda habl\u00e1bamos de c\u00f3mo introducir a los ni\u00f1os en el mundo de la programaci\u00f3n, hoy vamos a plantear un art\u00edculo similar pero con un enfoque diferente. <strong>Como aprender programaci\u00f3n en verano siendo adultos<\/strong>.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-content\/uploads\/sites\/2\/2015\/07\/prog.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2496\" src=\"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-content\/uploads\/sites\/2\/2015\/07\/prog-300x200.jpg\" alt=\"prog\" width=\"300\" height=\"200\" srcset=\"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-content\/uploads\/sites\/2\/2015\/07\/prog-300x200.jpg 300w, https:\/\/diocesanos.es\/blogs\/equipotic\/wp-content\/uploads\/sites\/2\/2015\/07\/prog.jpg 650w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>La programaci\u00f3n, una vez m\u00e1s, como herramienta que ayuda a estructurar la mente, a plantear nuevas formas de solucionar problemas de la vida diaria o, por qu\u00e9 no, a ense\u00f1ar a tu hijo\/a a dar sus primeros pasos en este mundo. <strong>La programaci\u00f3n tambi\u00e9n puede ser un excelente tema que aprender durante este verano<\/strong>, y hoy te vamos a dar algunas pistas y trucos para ponerte con ello.<\/p>\n<p><!--more--><\/p>\n<h2>No queremos que te conviertas en profesional<\/h2>\n<p>En primer lugar debemos hacer un peque\u00f1o <em>disclaimer<\/em>: <strong>no buscamos convertirnos en programadores profesionales<\/strong>, nunca, bajo ning\u00fan concepto. El que quiera encontrar su camino laboral como programador no encontrar\u00e1 aqu\u00ed el post definitivo.<\/p>\n<p>Hoy ahondaremos en c\u00f3mo dar los primeros pasos en la programaci\u00f3n <strong>como afici\u00f3n<\/strong>, aprovechando el punto divertido que tiene y las consecuencias de la fase de aprendizaje que son compartidas con las que ya mencionamos cuando habl\u00e1bamos de la programaci\u00f3n educativa. Se mejoran ciertas aptitudes tales como la resoluci\u00f3n de problemas, el pensamiento l\u00f3gico-matem\u00e1tico y, m\u00e1s en general, todo lo relacionado con el pensamiento computacional.<\/p>\n<p>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. <strong>Un adulto puede aprender de forma m\u00e1s individual e independiente<\/strong> del grupo, y \u00e9ste ser\u00e1 el enfoque que plantearemos con los siguientes consejos.<\/p>\n<h2>Puedes empezar igual que los ni\u00f1os<\/h2>\n<p>Nos referimos a los programas y la metodolog\u00eda. <strong>Scratch como herramienta principal<\/strong> y que te proporcionar\u00e1 una base sobre lo que es un algoritmo y la forma como \u00abpiensan\u00bb los ordenadores. Si no tienes conocimiento alguno sobre programaci\u00f3n, debes empezar primero en <a href=\"http:\/\/www.code.org\/\">los tutoriales de Code.org<\/a>, para as\u00ed aprender las nociones b\u00e1sicas.<\/p>\n<p>Una vez las hayas obtenido <a href=\"http:\/\/scratch.mit.edu\/\">Scratch<\/a> es una muy buena segunda-opci\u00f3n, dada la variedad de programas y proyectos que nos permitir\u00e1 crear. Aqu\u00ed debemos activar nuestra mente para iniciar nuevas ideas que tengamos en la cabeza y, si es posible, a\u00f1adir incrementos iterativos. Por ejemplo, a un simple Pong podemos a\u00f1adirle marcadores, tiempos de duraci\u00f3n de la partida, ranking, estad\u00edsticas, nuevos movimientos especiales, objetos de bonus&#8230; y ser\u00e1 un <em>Pong con esteroides<\/em>, perfecto para aprender.<\/p>\n<p><iframe loading=\"lazy\" src=\"http:\/\/scratch.mit.edu\/projects\/embed\/15906870\/?autostart=false\" width=\"650\" height=\"539\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p>Si ya dominas Scratch con cierta soltura podr\u00e1s abandonar los lenguajes &#8216;de juguete&#8217; y pisar a fondo hacia lenguajes m\u00e1s serios y formales, de tipo texto. Opciones como <strong>Python<\/strong> que es para muchos el gran entorno &#8216;real&#8217; despu\u00e9s de los lenguajes visuales y de colores, o Arduino, sobre el que hablaremos espec\u00edficamente m\u00e1s adelante al ser una opci\u00f3n genial.<\/p>\n<h2>Arduino: buscando la utilidad &#8216;real&#8217; con rob\u00f3tica<\/h2>\n<p>Estamos acostumbrados a programar frente a una pantalla, y a que los resultados de esta programaci\u00f3n aparezcan en el terminal. <strong>Con Arduino las cosas cambian<\/strong>, y precisamente uno de sus grandes atractivos es poder sacar resultados &#8216;reales&#8217; a partir de la programaci\u00f3n en pantalla.<\/p>\n<p>Crear robots con Arduino es algo m\u00e1s complejo que hacerlo con LEGO MindStorms (si tuviese que recomendar un kit de rob\u00f3tica que no estuviese relacionado con Arduino ese ser\u00eda, sin duda, MindStorms), pero tambi\u00e9n mucho m\u00e1s econ\u00f3mico y en el camino aprenderemos mucho m\u00e1s. En Arduino deberemos reiniciar nuestra cabeza y poner el contador a cero, ya que es un mundo separado que requerir\u00e1 que nos informemos sobre el mundo de la electr\u00f3nica, motores, sensores y posibilidades.<\/p>\n<p><iframe loading=\"lazy\" id=\"widget2\" src=\"http:\/\/www.youtube.com\/embed\/7L7oxoZEG-A?enablejsapi=1&amp;origin=http:\/\/www.xataka.com\" width=\"650\" height=\"366\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p>Arduino puede ser la mejor opci\u00f3n en la que pasar varios meses aprendiendo, <em>tirando del hilo<\/em> y evolucionando nuestras ideas. De un sencillo robot con ruedas podemos pasar a robots rastreadores, y luego a ara\u00f1as. A medida que vayamos avanzando se ir\u00e1 abriendo el camino con el siguiente paso a realizar.<\/p>\n<h2>El horizonte, m\u00e1s lejano<\/h2>\n<p>Es algo obvio pero que muchas veces puede pasar inadvertido. <strong>M\u00e1rcate metas<\/strong>, y estas metas deber\u00e1n estar mucho m\u00e1s lejos que las que un ni\u00f1o\/a se pone cuando aprende este campo.<\/p>\n<p>Por ejemplo <strong>crear una impresora 3D con Arduino<\/strong> puede ser <a href=\"http:\/\/www.instructables.com\/id\/Arduino-Controlled-CNC-3D-Printer\/\">un interesante proyecto a largo plazo<\/a>, y con \u00e9l puedes tanto aprender cuestiones de hardware (componentes, drivers, compatibilidad) como software (toda la programaci\u00f3n necesaria que rodea al hardware). Igualmente en Arduino hay robots extraordinariamente complejos:<\/p>\n<p>Obviamente antes de llegar a tener un robot ara\u00f1a que interprete nuestras \u00f3rdenes de voz es necesario &#8216;aprobar&#8217; todas las fases anteriores: los <strong>robots rastreadores<\/strong> pueden ser un primer paso interesante, para luego ir creciendo a partir de ellos.<\/p>\n<p>Con la programaci\u00f3n m\u00e1s tradicional ocurre algo parecido: un adulto puede llegar a crear programas m\u00e1s complejos que los realizados por un ni\u00f1o, pero igualmente deber\u00e1 ir <strong>evolucionando de forma progresiva<\/strong>, 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\u00f3n para uso propio, como pueden ser agendas de contactos, recetarios, etc. Son relativamente sencillos de implementar, completos y tienen una utilidad clara y espec\u00edfica.<\/p>\n<p>Una vez hayas obtenido una cierta base de programaci\u00f3n puedes ir a por opciones cuyos resultados son mucho m\u00e1s atractivos que el c\u00f3digo directo. Por ejemplo <strong>Unity<\/strong> es <a href=\"http:\/\/unity3d.com\/\">una herramienta gratuita<\/a> para uso personal de la que <a href=\"http:\/\/unity3d.com\/learn\">existen decenas de tutoriales muy sencillos de seguir<\/a> y cuyos resultados son geniales, permitiendo sacar partido al lado creativo adem\u00e1s del l\u00f3gico-matem\u00e1tico.<\/p>\n<p><iframe loading=\"lazy\" id=\"widget4\" src=\"http:\/\/www.youtube.com\/embed\/Ep0rlBQRcVc?enablejsapi=1&amp;origin=http:\/\/www.xataka.com\" width=\"650\" height=\"366\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<h2>\u00bfIdeas? \u00bfLibros? \u00bfTutoriales?<\/h2>\n<p><strong>Internet es un gran aliado<\/strong> para aprender a programar, tengas la edad que tengas. Por ejemplo, aqu\u00ed tienes <a href=\"http:\/\/www.dreamincode.net\/forums\/topic\/78802-martyr2s-mega-project-ideas-list\/\">una recopilaci\u00f3n de 125 proyectos de programaci\u00f3n<\/a> que puedes empezar a realizar, desde ejercicios b\u00e1sicos como invertir una cadena de caracteres, contar vocales, comprobar si una palabra es pal\u00edndromo; hasta cosas m\u00e1s complejas como sistemas de gesti\u00f3n, sistemas de descarga, gestores de Telnet, pizarras &#8216;blancas&#8217;&#8230; y mucho m\u00e1s. Tambi\u00e9n tienen por aqu\u00ed <a href=\"http:\/\/inventwithpython.com\/blog\/2012\/02\/20\/i-need-practice-programming-49-ideas-for-game-clones-to-code\/\">49 ideas de juegos para &#8216;clonar&#8217; y, de paso, aprender programaci\u00f3n<\/a>.<\/p>\n<p>Sobre programaci\u00f3n existe mucha literatura. <strong>Cientos y cientos de libros y manuales<\/strong>, con editoriales especializadas como <a href=\"http:\/\/www.oreilly.com\/\">O&#8217;Reilly<\/a> y <a href=\"http:\/\/shop.oreilly.com\/category\/series\/head-first.do\">sus imprescindibles Head First<\/a>. Son manuales t\u00edpicamente caros, pero habitualmente son herramientas esenciales si lo que buscamos es un libro f\u00edsico. O&#8217;Reilly tambi\u00e9n tiene los <em>Cookbooks<\/em> que abarcan mucho m\u00e1s conocimiento, tambi\u00e9n divididos en lenguajes.<\/p>\n<p class=\"sumario\">Los recursos gratuitos tambi\u00e9n pueden ser muy importantes, y ejemplos hay muchos: Learn Python, Codecademy, Khan Academy, CodeSchool&#8230;<\/p>\n<p><strong>Los recursos gratuitos tambi\u00e9n pueden ser importantes<\/strong>, en muchas ocasiones mejores que cualquier libro f\u00edsico aunque nos costar\u00e1 <em>dar con la tecla<\/em> adecuada. Hablamos de gu\u00edas y tutoriales como por ejemplo <a href=\"http:\/\/www.learnpython.org\/\">Learn Python<\/a>, los de <a href=\"http:\/\/www.codecademy.com\/es\/learn\">Codecademy<\/a> (Python, JavaScript, HTML+CSS, PHP, Ruby) o el excelente curso de <a href=\"https:\/\/www.khanacademy.org\/computing\/computer-science\">Khan Academy sobre ciencias de la computaci\u00f3n<\/a>. Tambi\u00e9n hay webs especializadas que ofrecen algunos cursos gratuitos y otros de pago, pero que merecen mucho la pena: <a href=\"https:\/\/www.codeschool.com\/\">CodeSchool<\/a> (Ruby, iOS, HTML+CSS) es un imprescindible. Si quieres m\u00e1s alternativas, en Quora tienen un hilo con <a href=\"http:\/\/www.quora.com\/What-are-some-websites-similar-to-Coursera\">decenas de estas otras opciones<\/a>.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-content\/uploads\/sites\/2\/2015\/07\/prog2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2497\" src=\"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-content\/uploads\/sites\/2\/2015\/07\/prog2-300x196.jpg\" alt=\"prog2\" width=\"300\" height=\"196\" srcset=\"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-content\/uploads\/sites\/2\/2015\/07\/prog2-300x196.jpg 300w, https:\/\/diocesanos.es\/blogs\/equipotic\/wp-content\/uploads\/sites\/2\/2015\/07\/prog2.jpg 650w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Si vamos a por algo m\u00e1s visual podemos optar por <strong>videotutoriales en Youtube<\/strong>, que pueden servir perfectamente en las primeras fases del aprendizaje. Tutoriales, v\u00eddeos y primeros pasos en un lenguaje o una tecnolog\u00eda que podremos seguir r\u00e1pidamente; por ejemplo <a href=\"https:\/\/www.youtube.com\/watch?v=0pxaFzRtx7k\">uno para Scratch<\/a>, <a href=\"https:\/\/www.youtube.com\/watch?v=4Mf0h3HphEA&amp;list=PLEA1FEF17E1E5C0DA\">unos cuantos para Python<\/a> o <a href=\"https:\/\/www.youtube.com\/watch?v=4PrvEqA5oiE\">c\u00f3mo construir tu primer robot en Arduino<\/a>.<\/p>\n<p>Al final, como <em>casi<\/em> todo, <strong>aprender a programar es una cuesti\u00f3n de pr\u00e1ctica<\/strong>. De probar, fallar, reorientar, solucionar, aprender y repetir todo lo anterior. Y as\u00ed indefinidamente.<\/p>\n<p><strong>Es fundamental ir marc\u00e1ndose metas<\/strong> para ir creciendo y evolucionando, y no quedarse anclado. Internet es un apoyo imprescindible, donde podremos encontrar pr\u00e1cticamente cualquier respuesta que busquemos. Google nos sacar\u00e1 de muchos apuros con una b\u00fasqueda correcta; si por ejemplo tenemos una duda sobre strings en Python podemos encontrar <a href=\"https:\/\/www.google.es\/#q=python+strings+tutorial\">excelentes gu\u00edas<\/a> de forma r\u00e1pida e indolora.<\/p>\n<p>Por \u00faltimo, y aunque inicialmente hab\u00edamos planteado un aprendizaje individual, <strong>las comunidades de &#8216;amigos&#8217; de la programaci\u00f3n existen<\/strong>. Tanto en el mundo f\u00edsico, con grupos que peri\u00f3dicamente ponen en marcha iniciativas como charlas o clases espec\u00edficas sobre ciertos lenguajes o tecnolog\u00edas, como por supuesto en el mundo digital.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-content\/uploads\/sites\/2\/2015\/07\/prog3.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2498\" src=\"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-content\/uploads\/sites\/2\/2015\/07\/prog3-300x204.jpg\" alt=\"prog3\" width=\"300\" height=\"204\" srcset=\"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-content\/uploads\/sites\/2\/2015\/07\/prog3-300x204.jpg 300w, https:\/\/diocesanos.es\/blogs\/equipotic\/wp-content\/uploads\/sites\/2\/2015\/07\/prog3.jpg 650w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>En Internet encontramos foros, redes sociales, grupos de noticias, webs especializadas y de todo. Imprescindible <a href=\"http:\/\/stackoverflow.com\/\">la comunidad de StackOverflown<\/a> para resolver dudas y problemas; si lo que quieres es empezar desde cero en Reddit encontramos el <a href=\"http:\/\/www.reddit.com\/r\/learnprogramming\/\">\/r\/learnprogramming<\/a>) donde incluso tienen un Wiki muy completo con una secci\u00f3n de &#8216;c\u00f3mo empezar&#8217;. Como siempre, los comentarios est\u00e1n abiertos para que pod\u00e1is a\u00f1adir y recomendar cualquier comunidad que pueda servir de ayuda para aprender a programar.<\/p>\n<p><em>Imagen de portada | <a href=\"https:\/\/www.flickr.com\/photos\/asheshwor\/18533612826\/\">Flickr de Asheshwor<\/a><\/em><\/p>\n<p><em>Art\u00edculo original en <strong><a href=\"http:\/\/www.xataka.com\/makers\/como-empezar-a-aprender-programacion-consejos-y-recursos-para-hacerlo-de-adulto\" target=\"_blank\">xataka.com<\/a><\/strong><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Si el otro d\u00eda habl\u00e1bamos de c\u00f3mo introducir a los ni\u00f1os en el mundo de la programaci\u00f3n, hoy vamos a plantear un art\u00edculo similar pero con un enfoque diferente. Como aprender programaci\u00f3n en verano siendo adultos. La programaci\u00f3n, una vez m\u00e1s, como herramienta que ayuda a estructurar la mente, a plantear nuevas formas de solucionar &hellip; <a href=\"https:\/\/diocesanos.es\/blogs\/equipotic\/2015\/07\/03\/como-empezar-a-aprender-programacion-consejos-y-recursos-para-hacerlo-de-adulto\/\" class=\"more-link\">Seguir leyendo <span class=\"screen-reader-text\">C\u00f3mo empezar a aprender programaci\u00f3n: consejos y recursos para hacerlo de adulto<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[40],"tags":[66],"class_list":["post-2495","post","type-post","status-publish","format-standard","hentry","category-formacion-2","tag-programacion"],"_links":{"self":[{"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/posts\/2495","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/comments?post=2495"}],"version-history":[{"count":0,"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/posts\/2495\/revisions"}],"wp:attachment":[{"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/media?parent=2495"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/categories?post=2495"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/diocesanos.es\/blogs\/equipotic\/wp-json\/wp\/v2\/tags?post=2495"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}