Si voy a darle una larga lista de cursos o tutoriales, o muchas opciones, que eventualmente lo distraerán más, entonces lo estoy engañando.
Mi enfoque fue muy simple, pero muy eficiente. Todo está detrás de la idea de ” The Magic 5 “.
1. Codificación
- ¿Hay diseñadores que diseñan algoritmos?
- Cada vez que intento resolver un problema en CodeChef o SPOJ, aparece el error de límite de tiempo excedido. ¿Qué tengo que hacer? ¿Me faltan algoritmos?
- ¿Cuál es el código de búsqueda binaria usando recursividad?
- ¿Cuál es un problema que no se puede resolver en tiempo de EXP pero se puede resolver en tiempo de Tetración?
- ¿Cuál es una buena estructura de datos para mapear una red de carreteras?
Un software es una pieza de código (junto con documentos). Entonces, primero, aprende a codificar. Solo elige cualquier idioma. Sugeriría ir con Python o C ++ (solo lo básico sin OOP). Además, dedique algo de tiempo a aprender HTML, CSS y JavaScript (nuevamente, solo lo básico). No dolerá
Ya que hay muchos buenos recursos para usar para aprender lo básico. Simplemente recoja cualquiera de ellos para ponerse en marcha.
2. Programación orientada a objetos
El dominio de OOP es esencial para cualquier desarrollador que quiera construir un software de alta calidad. La orientación a objetos tenía la intención de estar más cerca del mundo real, por lo tanto, hacerlo más fácil y más realista.
3-A. Algoritmos y Estructuras de Datos
Escribir código no es suficiente. Todos pueden hacerlo. El truco es cómo escribir un algoritmo eficiente en términos de memoria y tiempo, y conocer diferentes estructuras de datos, para saber cuándo usar qué estructura de datos, y en qué cada estructura de datos es buena y cuándo es terrible.
Sugeriría primero comenzar con un vistazo rápido a las diferentes estructuras de datos.
Su cerebro es como la batería del automóvil, si no lo usó durante mucho tiempo, la batería se extinguirá. Del mismo modo, si no usaste tu cerebro; resolviendo desafíos algorítmicos, tu cerebro morirá. Entonces, siempre, siempre, practica .
3-B. Big O Notation
En el paso [3-A], a medida que comienza a aprender sobre algoritmos, necesita comparar algoritmos. ¿Cuál es mejor que el otro? ¿Resolverá los casos de prueba más grandes en tiempo y memoria aceptables? Big O Notation es una forma conveniente de expresar el peor de los casos para un algoritmo.
Mi consejo es que nunca busques la perfección. Quiero decir, nunca te esfuerces por aprender todo sobre un tema específico desde el primer giro.
Es perfectamente válido que extrañará algunos conceptos, y otros no serán claros. Eso es normal. En el momento, y a medida que avance, lo ambiguo comenzará a anunciarse nuevamente, y las cosas estarán claras.
La perfección mata la creatividad y la productividad.