LBM pre requisites

Hi fellow LBM enthusiasts,

I am new to the lattice boltzman method and wanted to know the pre requisites for this particular technique of numerical simulation especially if I am looking to write some basic code of my own to understand it better.

Like for the traditional methods some knowledge of PDEs is assumed alongwith matrice algebra, vector and tensor calculus. Are there any other requirements for the lattice boltzman method besides?
I have found an interesting one page code in python on this forum are there any other basic courses or codes available as open courseware online?
Can some knowledgeable person in this domain please help me out on this? Any links to the resources would be a great plus.

PS: I am installing Palabos on my linux machine as I write this and hope to cover a great deal of its tutorials, provided I have the necessary knowledge, over the coming weekend.

Thanks,
Akash