Following the recent trends in the area, the general approach stresses from the start the use of categorical and homological techniques. The book includes self-contained introductions to category theory and homological algebra with applications to Module theory, and also contains an introduction to representations of quivers. It includes a very large number of examples of all kinds worked out in detail, mostly of abelian groups, modules over matrix algebras, polynomial algebras, or algebras given by bound quivers. In order to help visualise and analyse examples, it includes many figures. Each section is followed by exercises of all levels of difficulty, both computational and theoretical, with hints provided to some of them.