Quiero aprender a programar, pero no sé por dónde empezar

  • El objetivo principal de este artículo es hacer que la programación de aprendizaje sea posible y asequible para cualquier persona.

Preguntas frecuentes:

«¿Qué lenguaje de programación debo aprender si soy nuevo?»

«¿Qué lenguajes de programación tienen más demanda de trabajos?»

«¿Cuál es el lenguaje de programación más popular?»

¡Los mejores lenguajes de programación!

Si está buscando un ranking oficial de los mejores lenguajes de programación, puede encontrarlo aquí:  IEEE Spectrum principales lenguajes de programación

Esta lista es excelente para verificar si un lenguaje de programación en particular está en uso hoy. Sin embargo, si es nuevo en la programación, no recomiendo elegir un idioma basado solo en un menú específico.

¿Cómo elegir un lenguaje de programación?

La informática es un campo de estudio completamente acumulativo, lo que significa que cada tema sucesivo se basa en un tema anterior.

Si ya intentó aprender a programar en la escuela, hizo lo mejor que pudo, pero fracasó, el problema no es suyo

Un buen profesor en cualquier materia acumulativa observa cuidadosamente el plan de estudios. Siempre que cada alumno haya preparado adecuadamente y cumplido las condiciones previas, las expectativas de los conocimientos previos de los alumnos deben ser claras. Un buen profesor comprende las expectativas y no asume ningún conocimiento fuera de este campo, todo lo que esté fuera de las expectativas debe ser aprendido, ya que cada tema del currículo está ordenado en secuencia, teniendo en cuenta los demás temas.

Cuando el tema es acumulativo, se debe prestar especial atención al diseñar el plan de estudios o la ruta de aprendizaje. Sin embargo, no elija un idioma para clasificarlo; Elija un idioma para el que tenga una ruta de aprendizaje completa y no haga suposiciones sobre conocimientos previos.

Unos pocos consejos

Antes de comenzar a aprender a codificar, es importante pensar en el punto que mencioné anteriormente: todo en la informática es acumulativo.

Me gustaría repetir esto porque el mayor error que puedes cometer como aspirante a programador es rendirte porque no crees que eres lo suficientemente inteligente para aprender a programar. Aprender a codificar no tiene nada que ver con tu inteligencia.

Sí, es difícil aprender a programar, no por quién eres, sino porque hay muchos temas que aprender.

Primera regla, acepte que ocurrirá el siguiente escenario: se le presenta un nuevo tema que no tiene ningún significado.

Este escenario sucederá una y otra vez. Cómo maneja esta situación, cada vez que sucede, este es el único factor que determinará su éxito.

Si el tema actual que está aprendiendo no tiene sentido, quédese donde está y no pase al siguiente tema. Y nuevamente, los temas son acumulativos. Saltar hacia adelante es como intentar colocar un techo en una casa que carece de paredes y cimientos.

Siempre me encuentro en una situación así. A menudo tengo que volver a ver los mismos videos tutoriales de conferencias varias veces para entender lo que estoy aprendiendo. No se desanime si se encuentra en mi lugar.

Si el tutorial (o libro) que está utilizando no explica el tema lo suficiente, tendrá que encontrar otros recursos que funcionen para usted. No hay excusa para reprimirse solo porque el tutorial cubre un tema que no es para usted. Puedes encontrar todo lo que quieras aprender de forma gratuita en YouTube. Descubra qué buscar, por ejemplo, ([tema] por [lenguaje de programación] + cualquier otra palabra clave útil).

Si busca en YouTube tutoriales específicos, primero verifique las estadísticas. Eche un vistazo rápido a la calificación y / o el número de visitas. Si aún no estás seguro de si el video vale tu tiempo, lee algunos comentarios para atraer la opinión de otras personas.

Muchos temas simplemente no tendrían sentido la primera vez. Por lo tanto, manténgase alejado de sus pensamientos negativos.

El objetivo es ser consciente de su comprensión del tema a medida que aprende. A medida que avanza en la ruta de aprendizaje, necesita pensar un poco en cada tema que cubra.

Hágase preguntas como:

  • «¿Este tema tiene sentido para mí?»
  • “¿Encontraste algún término nuevo? Si es así, ¿existe una definición oficial para cada nuevo término? ‘
  • “¿Aprendiste nuevas habilidades? ¿Entiendo cómo se usa cada nueva habilidad? ¿Puedo demostrar mi comprensión de esta habilidad resolviendo los problemas que encuentro durante la aplicación? «
  • “¿Puedo recordar lo que acabo de aprender mañana? ¿Pasado mañana? Si no, ¿cómo lo recordaré? «

Un último consejo: nunca subestimes tu poder de frenado. La preservación es un enfoque de aprendizaje completamente sin explotar. Sí, comprender el tema es el objetivo final. Sin embargo, la comprensión puede llevar tiempo. Si realmente te cuesta entender un tema en particular, desglosa el tema y memoriza los términos importantes. Si no puede entender cómo hacer algo, su objetivo inmediato debería ser la conservación. Si necesita consejos sobre cómo abordar la memorización, considere usar la técnica de la tarjeta.

1 – Fundamentos de la informática

El primer paso es aprender los conceptos básicos de la informática para que sea fácil de entender para cualquier persona sin experiencia en informática.

Los conceptos básicos son en su mayoría declarativos. Puede leer de manera informal, lo cual es bueno para usted. Aborda cada semestre como si estuvieras en la escuela y deberías poder recordar la definición de cada semestre para el examen. No tiene que estar completamente obligado a hacerlo si no quiere. Sin embargo, cuanto más memorice estos conceptos, más fácil será comprender estos temas posteriores.

2 – Lógica proposicional (opcional)

No, no es necesario ser fuerte en matemáticas para ser programador. Las habilidades matemáticas pueden ser útiles, pero no necesarias.
Si no cree en sus habilidades en matemáticas, le recomiendo que aprenda el razonamiento hipotético. Los principios cubiertos en lógica hipotética son para construir partes de programación.
Puede aprender lógica hipotética de este tutorial de YouTube:  Conceptos básicos en lógica proposicional .

3 – Programación Java

Después de aprender los conceptos básicos de la informática, estará listo para aprender un lenguaje de programación.
Puse mucho pensamiento y esfuerzo en diseñar un camino adecuado para todos, independientemente de sus antecedentes. Elegí Java para esta ruta de aprendizaje porque Java es el lenguaje con el que tengo más experiencia.

Java es uno de los lenguajes de programación más solicitados. Está clasificado como un lenguaje de programación orientado a objetos (aprenderá lo que esto significa más adelante) y se utiliza para crear aplicaciones de escritorio, web y para teléfonos inteligentes.

Si prefiere aprender de los libros, le recomiendo lo siguiente: Head First Java .

Si está buscando un video tutorial, le recomendamos que vea los videos n. ° 1-19, 31, 33, 88 y 93 en YouTube Java Tutorial de Derek Banas

Tutorial de vídeo de Java .

El primer video del tutorial de YouTube lo dirigirá a descargar un programa de computadora llamado Eclipse. Es un entorno de desarrollo integrado (IDE). Puede pensar en IDE como un término elegante para un editor de palabras hecho para programadores. Es solo una aplicación de computadora que proporciona un editor de texto para la programación, junto con otras herramientas para ejecutar sus programas. Aquí está el enlace para el video de YouTube de Derek Banas sobre cómo descargar    Install Eclipse para Java .

4 – Algoritmos y estructuras de datos

Los algoritmos son un conjunto de instrucciones (o pasos) para realizar una tarea específica, donde cada paso debe definirse claramente como factible y limitado (lo que significa que no continúa ejecutándose sin límites).
Las estructuras de datos son un método para organizar datos en la memoria de la computadora.
Los algoritmos y las estructuras de datos son dos de los temas más difíciles de programar. No es necesario que aprenda algoritmos para lograr una competencia básica en programación. Sin embargo, si aspira a trabajar como ingeniero de software en una empresa de tecnología de renombre, se espera que demuestre su comprensión de los algoritmos y las estructuras de datos durante las entrevistas.
 Tenga en cuenta que el tutorial a continuación lo lleva en habilidades de algoritmos desde principiantes hasta expertos:   tutorial de Udemy sobre algoritmos y estructuras de datos . Ya sea que desee aprender algoritmos y estructuras de datos o prepararse para entrevistas técnicas, este tutorial es su mejor apuesta para el éxito.
Nota: El curso es caro pero esencial. Me las arreglé para contactar al entrenador, el costo es de $ 99,99.

5 – desarrollo de Android

El desarrollo de Android es, en mi opinión, una de las aplicaciones de programación Java más divertidas que existen. Las aplicaciones de Android se programan principalmente en Java y, más recientemente, a través del lenguaje Kotlen , por lo que una vez que aprenda Java, estará listo para aprender Android.

Aquí está el mejor tutorial de video gratuito para comenzar a aprender Android: Desarrollo de Udacity-Android para principiantes .

Después de completar el curso de Udacity anterior, tiene dos opciones a las que puede ir desde allí. Debería haber una extensión del curso anterior impartido por el mismo grupo de empleados de Google. Las conferencias adicionales deberían estar visibles una vez que apruebe el curso (si no puede encontrarlo, búsquelo en Udacity). Esta es una buena opción, especialmente porque es gratis.

Sin embargo, si está dispuesto a gastar dinero en un libro excepcional, le recomiendo lo siguiente: Head First Android Development: A Brain-Friendly Guide .

Este libro proporciona explicaciones detalladas e imágenes útiles para ayudarlo realmente a aprender los conceptos básicos de Android. Cada capítulo le guía a través de una aplicación de ejemplo. Todo se explica con precisión, utilizando palabras y diagramas que cualquiera puede entender.

Recursos útiles

Stack Overflow es un sitio web donde los programadores pueden obtener ayuda gratuita para aprender su código. Si te quedas atascado y quieres hacer una pregunta, búscala primero. Si no puede encontrar su pregunta, cree una cuenta y publique la pregunta usted mismo.

Hay toneladas de sitios web educativos donde puedes encontrar lecciones de programación.

Los mejores son   Codecademy ,  Udemy ,  Udacity ,  Team Treehouse , Khan Academy .