In programming you do not need to know the inner workings in order to use something, in fact most people use abstraction to make a project more manageable and modular.
Also don't learn anything before you start a project because it's too boring. I always start a project and learn things I need to learn along the way
Doesn't matter, try as hard as you can even if you are procrastinating, try to stop and do something, it's hard for normal people and even harder for us
What's Ur fav band?