I have been studying HTM theory and it's implementation. It's very hard to understand because there are lot of papers and videos but most of those are explaining some part of over all flow. Encoder, Spacial pooling, Temporal pooling, Classifier, etc..
For example, there are many materials for temporal pooling explaining in different way and for different versions. What I have done is to read pseud code in the source code.
I think it's very important to provide concise written and visual materials for beginners.