For every language i started learning i had an program idea that i wanted to build and by building that program i learned that language (from 0) with all sorts of the info yt, forums etc
I started programming with C and my first project was to build a calculator. Right now I'm into learning how to program microcontrollers.
It cost me a lot to learn C, the thing is to understand the logic.