Empieza a aprender con algoritmos y estructuras de datos. ¿Por qué? Comenzar desde el segundo párrafo . He escrito otra respuesta sobre cómo comenzar con algoritmos y estructuras de datos, especialmente para aquellos que conocen Java. Aquí está: la respuesta del usuario de Quora a ¿Dónde puedo aprender y practicar algoritmos en lenguaje Java?
Una de las tareas en los cursos que mencioné en esa respuesta es una búsqueda * con la que se escribe un programa que le da la solución a 8-puzzle dada la configuración inicial. ¿Qué pasa si el tamaño del tablero es grande?
Una cosa más, ya sabes el rompecabezas de Sudoku. No tu ¿Qué tal si escribes un programa que te da la solución cuando das una configuración inicial de la pizarra? Sudoku resolviendo algoritmos – Wikipedia. En lugar de resolver el tablero de Sudoku de 9 × 9, ¿qué hay de resolver NxN? ¿Qué tan lejos puedes ir?
¿Conoces el juego de la serpiente y las escaleras? Dada una configuración de tablero y un dado con n lados, ¿qué secuencia de movimientos me ayudará a alcanzar el final rápidamente? ¿Cómo se escala su solución cuando el tamaño del tablero y la cantidad de lados en los dados es grande?
- Cómo aprender alguna medicación común.
- Cómo obtener comentarios de expertos si no conoces a ningún experto
- Cómo empezar a aprender a jugar golf.
- ¿Qué es más fácil para los hablantes de inglés aprender: mandarín o mongol?
- ¿Cuál es la mejor configuración para aprender codificación?
Por eso deberías estudiar algoritmos y estructuras de datos. Es por eso que debes estudiar problemas conocidos a los que se puedan reducir. Por eso debes estudiar varias técnicas de diseño de algoritmos. También debe poder elegir la estructura de datos y la representación correctas para el problema dado.
Por último, no se preocupe mucho por aprender los lenguajes de programación. Los algoritmos y las estructuras de datos son agnósticos del lenguaje. Puede “implementarlos” en el idioma de su elección. Además de las estructuras de datos y los algoritmos, también debe aprender el poder de la abstracción, la arquitectura del software, los patrones de diseño, etc. para construir software de gran tamaño. Pero primero aprende DSA.