Это просто, чтобы хоть как-то вникнуть в язык. Только на практике, делая лабораторные, курсовую можно понять, как это применять. Потом несколько лет погружаясь в разные проекты, так и разберешься.
Не для изучения программирования как такового, а для усвоения основ этого языка, включая различные аспекты его процедурного, объектно-ориентированного и обобщённого стилей, три недели как раз должно хватать. Потом можно будет всё это повторять и закреплять, но сначала надо овладеть азами, для чего 5-6 лет слишком много!