2023-10-29 18:24

Quiero empezar a programar

Bienvenide

En las últimas semanas, volviendo a la facultad y en otros eventos terminé conversando sobre mi experiencia de aprender a programar y quiero compartir los recursos que utilicé, y utilizo, para aprender.

Primero un par de aclaraciones.

Como cualquier disciplina la programación toma tiempo en aprender, así que no desistan.

Es una actividad práctica, de manera que solo leer de programación no te va a hacer une experte.

La forma de aprender que tengo es:

  • Si tengo interés en aprender sobre un tema nuevo, leo de muchos lugares sobre el tema, empezando por blogs o libros. Una vez que tengo una minima idea de que consiste busco en un ejemplo para realizar. Normalmente es reconstruir algo que hacen en un blog. Después dejo el tema de lado por un par de días y releo lo que hice.

  • Si tengo mucha urgencia para entender, busco un tutorial que explique paso a paso y lo voy siguiendo. Normalmente son tutoriales escritos, pero muchas veces veo videos en youtube.

Tengo un sesgo muy grande hacia Python, porque me da de comer y además porque me permitió conocer gente muy linda ( PyAr == :green_heart: ).

Para iniciar:

mumuki.io

Conocí mumuki en Innovar 2016, los chicos estaban presentando el proyecto en el stand de al lado así que estuve un buen tiempo jugando y probando las distintas actividades. Al día de hoy ( octubre 2019 ) la plataforma creció un montón y me parece que va mejorando la calidad.

Si nunca programaste, este es para mí el mejor lugar para empezar. Porque está enfocado, como me decían los chicos, a enseñar los conceptos y a pensar como programador, y no un lenguaje en particular.

HackerRank

Este sitio lo empecé a usar en 2017, cuando quise aplicar a la pasantía en Medallia. Ya que la prueba de ingreso la hacen por ahí. El sitio tiene varios proyectos y temas que uno puede realizar en varios lenguajes de programación y además tiene tutoriales en el mismo sitio. Lo único malo, es que está en inglés.

FreeCodeCamp

FreeCodeCamp es un gran sitio para aprender desarrollo web. Lo encontré el blog en Medium a mediados de 2017 y después me enteré que había un capítulo/meetup en Bs As. Ahí empecé a asistir a los eventos de freeCodeCampBA y fui aprendiendo lo básico de programación web ( HTML, CSS, JavaScript y sus derivados ) pero nunca fue lo mío (véase este blog), pero siempre me saca de aprietos. La página tiene una plataforma muy linda ya que es interactiva y con un programa bien extenso, y está enfocada a desarrollar proyectos de manera que termines con un portfolio y demuestres tus capacidades. Les chiques de BsAs además tienen una excelente guía para arrancar, más allá de los ejercicios oficiales.

Software Carpentry

Esta página no me acuerdo cuándo ni cómo la conocí pero, siempre que entro me dan ganas de hacer más cosas. Tiene muchos una cantidad de cursos bastante variada y lo mejor es que se están traduciendo varios al castellano. Por ahora solo hay tres,

ProjectEuler

Esta página la conozco desde principios de 2012 cuando cursé Algoritmos y estructuras de datos I, en el Departamento de Computación de la UBA. La cual cabe decir fue la única y última materia que cursé de esa carrera, dado que no la aprobé por sobre exigirme. Está más enfocada a problemas un poco más académicos y del estilo de una prueba de matemática, pero son un gran desafío y hay que pensar bastante. A la página regreso cada tanto cuando tengo un rato de distensión y me siento con ganas de resolver un desafío, pero puede que termine sin dormir y con mucho mate encima. Así que quedan advertides.

RealPython

Este es más específico de Python pero tiene los mejores tutoriales de la web. Lo conocí por Dan Bader un personaje bastante agradable de la comunidad.

PythonTutor

No me acuerdo cómo conocí esto, pero me parece que fue a partir de un blog o un podcast. Donde hablaban sobre Philip Guo y el programa que había hecho para explicar el ffuncionamiento interno de CPython en su clase de la Universidadfuncionamiento interno de CPython. En su momento vi todo el curso pero no entendí absolutamente nada, supongo que ahora tampoco ( es bastante avanzado y específico ), pero la herramienta que construyó es increíble. Y ahora tiene soporte para muchos lenguajes más, pero quedó con el nombre de Python Tutor por tradición. Entrevista en TalkPython

Tutorial oficial de Python. En español!

Una de las cosas que más me gusta de Python es la cantidad de trabajo que le ponen a la documentación. Y entre esas cosas está el Tutorial Oficial. Que acompañado del Interprete online arman una buena dupla para empezar a aprender lo básico del leguaje sin preocuparse de las instalaciones.

Crash Course Computer Science

Este es uno de mis canales favoritos de Youtube y el curso de Ciencias de la Computación es muy bueno para entender un poco la historia y tener una introducción a lo que hace une cientifique de la Computación.

Git

Algo que es importante saber es Git, yo lo aprendí a los ponchasos cuando "organicé" la sede de Buenos Aires del Sprint para mejorar la documentación de pandas donde tuve que entender todo el Git flow siguiendo esta guía.

Me parece que en el quick start de freeCodeCamp hay mejores materiales para empezar. O también en el taller de Software Carpentry.

Y también cada tanto ver la charla de Por qué TENÉS que conocer GIT que dió Sofi Denner en la PyConAr2018.

Y para realmente sacarle provecho a git recomiendo este tutorial bastante avanzado de Git in Depth por Nina Zakharenko

Como podrán ver hay muchas lugares para aprender.

Intermedio:

Generators

Charlas

Acá voy a ir poniendo charlas que creo que me ayudaron a entender bastantes cosas o incluso me motivaron a querer seguir aprendiendo.

Raymond Hettinger

Facundo Batista

Jake VanderPlas

Nina Zakharenko

James Powell

Naomi Ceder

Carol Willing

Brandon Rhodes

Brett Slatkin

Ned Batchelder

Emmanuelle Gouillart

Lorena Barba

Lindsey Heagy

Julia Evans

Ian Ozsvald

Programación Científica:

SciPy

Análisis de Datos

Pandas :panda_face:

Python DataScience Handbook

Charlas

SQL

Aprendizaje automático ( machine learning )

Jupyter

Ambientes de trabajo online

Gráficos

Testing

Test and Code

Libros

Allen Dowey

Cursos Online

Coursera

Edx

Udacity

Pluralsight

Comments

Comments powered by Disqus

Contents © 2026 sasha kile - Powered by Nikola