¿Cómo se planifica un horario de verano para aprender a codificar?

Yo sugeriría, hacer una cosa o un par de cosas a la vez. Primero comienza con las siguientes dos categorías:

1. Idioma (Elija uno para comenzar)
2. Estructuras de datos y algoritmos

Comience con el aprendizaje sobre la estructura de datos básicos e implemente aquellos en el idioma elegido. Esto te ayudará en ambas áreas. Mientras aprende un idioma, debe alcanzar un punto en el que pueda implementar sus pensamientos en el código. Convertir un algoritmo en cabeza en código es un requisito esencial para ser un buen programador. Este es el primer obstáculo que hay que cruzar y te hará mejor programador. Si puede pasar esta etapa, habiendo escrito todas las variaciones básicas y básicas de las estructuras de datos básicas como pilas, colas, listas enlazadas, árboles, etc. en el idioma de su elección, puede apuntar a la siguiente etapa.

En la segunda etapa, intente resolver los problemas que giran en torno a estas estructuras de datos para llevarlo más lejos. También resuelve tantos problemas relacionados con la programación dinámica como puedas. Eso le enseñará a dividir grandes problemas complejos en fragmentos de código más pequeños y manejables.

Una vez que haya escrito todas estas estructuras de datos, sus variaciones y problemas asociados, intente colocar todo esto en su cuenta de GitHub. Le ayudará a aprender los sistemas distribuidos de control de versiones en caso de que aún no haya trabajado con ellos. Una vez que se sienta cómodo con Git y GitHub, elija un interesante proyecto de código abierto en GitHub, que se basa en el idioma de su elección, y comience a contribuir. Además de la colaboración y las complejidades en torno al diseño, le ayudará a aprender de otros colaboradores. No hay nada mejor que aprender de personas inteligentes que han estado allí y lo han hecho.

Esto debería mantenerte ocupado durante todo el verano. Déjame saber cómo te fue.

Yo crearía una aplicación que requiera comunicación con un servidor para almacenar o transferir datos para su procesamiento. Podría ser cualquier tipo de proyecto, pero empieza pequeño y construye desde allí.