This book is an introduction to module theory for the reader who knows something about linear algebra and ring theory. Its main aim is the derivation of the structure theory of modules over Euclidean domains. This theory is applied to obtain the structure of abelian groups and the rational canonical and Jordan normal forms of matrices. The basic facts about rings and modules are given in full generality, so that some further topics can be discussed, including projective modules and the connection between modules and representations of groups.The book is intended to serve as supplementary reading for the third or fourth year undergraduate who is taking a course in module theory. The further topics point the way to some projects that might be attempted in conjunction with a taught course.