¿Cuáles son las cosas que debe hacer o el libro que debe leer para mejorar su lógica en la programación?

Por ” mejorar su lógica “, ¿realmente quiere decir “mejorar mis habilidades de resolución de problemas”?

Primero, encuentra un buen tutorial que te enseñe el idioma que quieres aprender. Por ejemplo, si quieres aprender Python, prueba Learn Python the Hard Way. Si aún no tienes una idea básica de cómo usar tu idioma de elección, te estás adelantando.

A partir de ahí, empieza a hacer pequeños ejercicios. CodingBat es un buen lugar para comenzar. También puede probar LeetCode, aunque probablemente no podrá hacer ninguna de las preguntas difíciles o del medio. Creo que hay un subreddit que tiene ejercicios de programación, pero no puedo, por mi vida, recordar el nombre. A medida que mejore, querrá entrar en estructuras de datos, algoritmos y patrones de diseño.

Aprende a dividir las cosas en las unidades más pequeñas posibles. Entonces, si estuvieras, por ejemplo, implementando un juego de adivinanzas, un ejemplo de la unidad más pequeña podría ser “obtener información del usuario”.

Una buena regla general para la descomposición es si el problema aún es demasiado complicado para Google, o si la cadena de búsqueda incluye un ‘y’ (por ejemplo, “obtener la entrada del usuario y escribirla en un archivo”), entonces puede dividir el problema incluso Más. Una vez que tengas todas las piezas, resuelve cada una y es probable que tengas una solución completa.

A medida que adquiera experiencia, mejorará su descomposición. Utilizando el ejemplo anterior “obtener la entrada del usuario y escribirlo en un archivo”, eventualmente verá que “escribirlo en un archivo” se puede desglosar (“verifique si existe el archivo; si existe, busque el archivo; si puede encontrar archivo, abra el archivo en el modo deseado; escriba el texto en el archivo; cierre el archivo “).

A medida que adquiera más experiencia, deberá realizar una descomposición menos explícita para tareas más simples. Así que “escribe en un archivo” en lugar de todos los pasos mencionados anteriormente.

Creo que estás buscando cosas como Introducción a los algoritmos y quizás Recursos de capacitación en línea