what i did when i first started and what i still do is make some program anything...then i go back through the program and see what i can learn to make the code more efficient...also getting errors and exceptions and working through them is very very valuable because exception handling comes into play A LOT so the more problems you have the more you will learn really.... you WILL see those same problems later...also coming on this forum and looking at all the questions asked and the answers given has helped me a ton
i read somewhere that is pretty true im finding out hahaha "programming is 10% writing code and 90% fixing it"