As Jacob said, I'd suggest researching topics that are completely unknown to you and putting them to the test in smaller programs. If you have an idea on how to implement them, experimenting with code is a good programming learning practice. You can also ask here! Questions are not annoying, especially if people are willing to learn from them.