This text is orientated at a Computer Science/Engineering student or professional, supervised or not, who would like to concentrate in depth on a few ideas and methods giving a holistic perspective on the area rather than to see the overwhelming variety of tools and methods developed so far, which is provided by other texts and references without much looking at interrelations between methods.