Well, then I welcome you to this series!
It's a quite complicated topic, but I try to make things as understandable as they can get. Whenever there is the need I make purely theoretical articles to explain a topic in-depth. But, the most stuff is simply understanding how it should work and trying to implement it step by step :P Being a programmer you get to understand all the data structures and their usefulness much more!
Have fun :)