Lecture notes for a Master of Science Course in the International Master program GEOENGINE at the University Stuttgart