Representation theory is an important part of modern mathematics, not only as a subject in its own right but also as a tool for many applications. It provides a means for exploiting symmetry, making it particularly useful in number theory, algebraic geometry, and differential geometry, as well as classical and modern physics. The goal of this book is to present, in a motivated manner, the basic formalism of representation theory as well as some important applications. The style is intended to allow the reader to gain access to the insights and ideas of representation theory--not only to verify that a certain result is true, but also to explain why it is important and why the proof is natural. The presentation emphasizes the fact that the ideas of representation theory appear, sometimes in slightly different ways, in many contexts. Thus the book discusses in some detail the fundamental notions of representation theory for arbitrary groups. It then considers the special case of complex representations of finite groups and discusses the representations of compact groups, in both cases with some important applications. There is a short introduction to algebraic groups as well as an introduction to unitary representations of some noncompact groups. The text includes many exercises and examples.