This book covers the basic theory of matrices and vector spaces. The book's three main parts cover (I) matrices, vector spaces, bases, and dimension; (II) inner products, bilinear and sesquilinear forms over vector spaces; (III) linear transformations, eigenvalues and eigenvectors, diagonalization, and Jordan normal form. An introduction to fields and polynomials over fields is also provided, and examples and applications are provided throughout. The approach throughout is rigorous, but without being unnecessarily abstract. In particular, this book would be suitable reading for a student with no prior exposure to abstract algebra. Although intended as a 'second course', the book is completely self-contained and all the material usually given in a 'first course' in presented fully in Part I, so the book provides a useful guide to the entire theory of vector spaces as usually studied in an undergraduate degree. Abstract methods are illustrated with concrete examples throughout, and more detailed examples highlight applications of linear algebra to analysis, geometry, differential equations, relativity and quantum mechanics. As such, the book provides a valuable introduction to a wide variety of mathematical methods.