Como principiante sin conocimientos de codificación, quiero comenzar a codificar. ¿Cuáles son algunos sitios web recomendados, libros y formas de aprender a codificar desde el nivel cero?

En primer lugar, necesita sentirse cómodo con el código. Debes reducir la fricción involucrada en comenzar a aprender algo. ¡Simplemente salta!

1. Ir a Codecademy: aprender a codificar y aprender Python. Es divertido y fácil de empezar. Python te permite codificar de forma intuitiva sin permitir que ninguna sintaxis arruine tu experiencia. Aprenderás conceptos básicos de programación que pueden aplicarse a cualquier lenguaje.

2. Una vez que se sienta cómodo con los conceptos de programación, obtenga Let Us C de Yashwant Kanetkar. Esto borrará sus conceptos y construirá una base sólida para moverse mucho más rápido después de esto.

3. Vaya a Udacity, Coursera y otros sitios web de MOOC similares. Averigüe qué curso hace que su corazón se acelere, y complételo. Encuentra un curso corto ya que será más fácil de completar. Una vez que haya experimentado la alegría de completar un curso y haya aprendido a hacer algo, encontrará que los cursos más difíciles son agradables.

Los libros son el camino a seguir para un aprendizaje profundo. Sin embargo, debes empezar a aprender haciendo. Muchos intentan leer los libros primero y nunca pasan del índice.

Ensuciarse las manos Escribe el código real. Está bien si es una mierda.

Siempre recuerda

“Con cada línea de código que escribo, desarrollo”

Sitio web:
CodeChef, HackerEarth, HackerRank, videos de varias universidades de primera clase como Stanford, MIT, etc.

Libros:

  1. Para C: The C Programming Language- Dennis Ritchie, Brian Kernighan
  2. Para Matemáticas Discretas (que se necesitará principalmente para entender varios algoritmos): Fundamentos de Matemáticas Discretas – KD Joshi
  3. Para algoritmos de nivel avanzado: Introducción a los algoritmos : Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest y Clifford Stein

Lea estos libros y practique simultáneamente. La práctica es un deber, seguramente logrará mucho en el campo de la Programación Competitiva.

Buena suerte. 🙂

Si desea comenzar a programar, le recomiendo que elija un idioma primero. Comencé aprendiendo C. Me divertí aprendiendo punteros. Te perseguirán por bastante tiempo, pero te arrepentirás de dejarlos fuera si te olvidas de aprenderlos.
Mientras aprendes el idioma, sugiero resolver problemas simples que requieren una programación simple. Codifique programas sencillos que utilicen conceptos como E / S, bucles, funciones, punteros, archivos e incluso gráficos simples.
Cualquier libro sobre C sería suficiente. Recomendaría “Let Us C” de Yeshwant Kanetkar.

Después de desarrollar algunos conceptos sólidos en C, te sugiero que pruebes su sucesor: C ++. Tiene conceptos relacionados con la programación orientada a objetos y mucho más. En su lugar, podría optar por aprender Java, que es muy similar en sintaxis a C ++ (aunque muy diferente en el trabajo interno). Después de esto, puedes probar suerte en Python. Con poco o ningún esfuerzo, debería poder escribir programas / scripts de Python fácilmente.

Si desea fortalecer sus habilidades de resolución de problemas utilizando sus habilidades de codificación, le sugiero que pruebe algunos sitios como HackerRank o CodeChef. Tienen diferentes niveles de dificultad y tienen mucho que ofrecer.

Para empezar, haz lo correcto. La base debe ser fuerte para que cualquier edificio se mantenga firme. Para la programación comienza con C (madre de todos los idiomas). Utilice E Balaguruswamy (déjanos c). Continúe avanzando con el aumento del nivel de dificultad del lenguaje del libro. No olvides que no te atrevas a olvidar codificar regularmente (diariamente) para dominar el idioma.
Una vez que domine este idioma, todos los demás idiomas le parecerán fáciles, ya que la construcción (base) es sólida.
Buena suerte con los esfuerzos.

Siga estos dos sitios:

  1. Tutoriales en línea de W3Schools en línea
  2. Aprender a codificar

Cuando empieces a sentirte familiar, ve a tutoriales avanzados.