Supongamos que paso 5 horas por día aprendiendo algoritmos y resolviendo problemas de programación para una programación competitiva. ¿Cuánto tiempo debo dedicar a nuevos problemas y cuánto para revisar problemas y algoritmos antiguos que ya he aprendido?

Más importante que la proporción de nuevo vs. revisión es cómo programa su tiempo de revisión. Existe una técnica de aprendizaje llamada repetición espaciada, en la que cada vez que recuerdas algo con éxito, aumentas el tiempo que esperas antes de volver a ponerte a prueba.

Si está estudiando problemas de programación por tema (usando algo como el clasificador de problemas para SPOJ.pl), puede organizar su estudio de la siguiente manera: Haga suficientes problemas en un tema con el que se sienta cómodo. Luego continúe con otro tema, pero regularmente incluya un problema de un tema anterior. Si puede obtener fácilmente la solución al problema de un tema en particular, mueva su próxima revisión para ese tema más lejos.

En cuanto a la proporción, puede comenzar con algunos números arbitrarios, como el 75% de su tiempo aprendiendo nuevos temas y el 25% de su tiempo revisando temas antiguos. Si se mantiene al día con los temas de revisión, reduzca el tiempo del 25%. Si tiene problemas para mantenerse al día con los temas de revisión, aumente el tiempo del 25%.