Graph models are extremely useful for a large number of applications as they play an important role as structuring tools. They allow to model net structures - like roads, computers, telephones, social networks - instances of abstract data structures - like lists, stacks, trees - and functional or object oriented programming. The focus of this highly self-contained book is on homomorphisms and endomorphisms, matrices and eigenvalues.