The representation theory of finite groups has seen rapid growth in recent years with the development of efficient algorithms and computer algebra systems. This is the first book to provide an introduction to the ordinary and modular representation theory of finite groups with special emphasis on the computational aspects of the subject. Evolving from courses taught at Aachen University, this well-paced text is ideal for graduate-level study. The authors provide over 200 exercises, both theoretical and computational, and include worked examples using the computer algebra system GAP. These make the abstract theory tangible and engage students in real hands-on work. GAP is freely available from www.gap-system.org and readers can download source code and solutions to selected exercises from the book's web page.