1. Do you understand programming logic?
a. By that I mean, do you know how to write functions and call them?
b. Do you know how variables work?
c. Do you know how logic operators work?
If you answered yes, or even mostly, to the above then you have everything needed to get started.
The best way to learn, especially in garrysmod where you can see the results of your code instantly, is simply to think of something you want to do and just start doing it.
The wiki is such a good resource. You can see all of the available game hooks there.
Another good resource is friends with knowledge. You can add me on steam if you like and I will try and help you if you have questions, or you can always post here and you know people will help.
After enough time, you'll start to get better and better at the 'hard stuff'.