Así que mi pregunta sería, ¿qué consideras lo básico? Necesitas estar seguro de que realmente los has cubierto. Unas pocas semanas / meses de aprender la sintaxis de un solo idioma no es lo mismo que aprender los conceptos básicos de la programación.
Posiblemente el mejor consejo que le puedo dar a un programador principiante es este: es importante entender que el código es simple y la expresión de su solución. En realidad, es el paso final en el proceso. Lo que es importante es desarrollar el algoritmo, no las palabras que usa para decirle a la computadora que lo implemente.
Por lo tanto, al no saber exactamente en qué punto se encuentra en su viaje de programación, le ofreceré consejos que lo llevarán desde el principio a trabajar en habilidades del mundo real. En su mayoría, soy un programador orientado a objetos, así que me inclinaré por eso. Mucho de lo que digo funcionará para otros paradims, pero algunos pueden requerir cambiar los detalles. Primero aprender los conceptos básicos de un idioma. Aprenda las estructuras de control, if, for, while, etc. Aprenda sobre las funciones. Cómo pasar cosas y sacar cosas. Aprenda al menos algunos de los ya implementados para su idioma. Sé que dije que el algoritmo es mayor que la implementación, pero si está aprendiendo por su cuenta, necesitará una forma de verificar sus algoritmos.
En segundo lugar, aprender algunas estructuras de datos básicos. Aprende sobre sus fortalezas y debilidades. Aquí hay algunos a considerar: lista vinculada, matriz, árbol binario, cola de pila y montón. Hay otros pero estos son un buen comienzo.
- ¿Cuándo es el mejor momento para aprender un idioma extranjero?
- ¿Qué debo hacer si quisiera aprender electrónica desde el principio?
- Finanzas: ¿Cómo puedo aprender más sobre finanzas, economía y la forma en que funciona el dinero a nivel mundial y nacional?
- ¿Cuál es una lección de vida importante que has aprendido fuera de un aula?
- ¿Cuál es la mejor manera de enseñar geografía de los Estados Unidos?
Lo siguiente es obtener un control sobre lo que realmente significa algoritmo. Estudia y entiende la diferencia entre iterativo y recursivo. Examine algunos de los algoritmos de búsqueda como ordenamiento por burbuja, ordenamiento por inserción, ordenamiento rápido y ordenamiento por fusión. Mira cosas como la búsqueda binaria. Estoy seguro de que hay al menos algunos otros que me estoy perdiendo aquí, pero el punto es entender nuevamente las diversas fortalezas y debilidades de cada uno y ver cómo se relacionan con las estructuras de datos del último paso.
Mira en los patrones de diseño. Sé que hay gente por ahí que, por alguna razón, piensan que son el demonio. Pero son realmente simples estrategias para los problemas con los que te encuentras regularmente. No te preocupes por memorizarlos. Lo que considero importante es en realidad la idea de que debe intentar reconocer si un problema se resolvió anteriormente. ¿Y hay un caso general fácil de implementar para ese problema? Un segundo buen consejo que puedo dar es que no haga un trabajo que no tiene que hacer. Si ya tiene una buena manera de resolver un problema, continúe usándolo en lugar de explorar nuevas implementaciones cada vez.
En mi opinión, ahora has llegado a haber aprendido lo básico. Entonces, ¿a dónde ir desde aquí? A continuación, necesita aprender sobre las diversas herramientas que pueden hacer su vida mucho más fácil. Mira en eclipse o estudio visual. Como mínimo, mire algo como notepad ++. Hay otros por ahí que son apropiados para cualquier idioma que estés usando. Aprenda sobre el control de la fuente. Mira en Git y SVN. Estos harán que su vida sea mejor y son esenciales si alguna vez realmente desea trabajar como parte de un equipo.
Ahora que tiene algunos conocimientos de programación y algunas herramientas para ayudarlo, puede comenzar a ver problemas reales. Empieza intentando diseñar algo. Nos enfrentamos a varios juegos de mesa cuando estaba en la escuela. Estos serán grandes proyectos para un solo desarrollador, así que comprenda que no estoy hablando de hacer esto durante un fin de semana. Para este tipo de cosas por lo general trabajamos en equipos de 4 durante 6 semanas. Eso equivale a casi 6 meses para una sola persona. Empieza por diseñar no por programación. Piense en todas las piezas que necesitará crear y cómo encajarán entre sí. Configura y usa tu control de versiones. Escribe documentación real para ayudarte a mantenerte en el buen camino. Todas estas son cosas que necesitarás para aprender a hacer.
Esperemos que esto sea útil. ¡Buena suerte!