Computational Materials Science: From Basic Principles to Material Properties (Lecture Notes in Physics)