This comprehensive textbook describes and analyzes all available alternating projection methods for solving the general problem of finding a point in the intersection of several given sets that belong to a Hilbert space. For each method, the authors describe and analyze the issues of convergence, speed of convergence, acceleration techniques, stopping criteria and applications. Different types of algorithms and applications are studied for subspaces, linear varieties and general convex sets. The authors also unify these algorithms in a common theoretical framework. Many examples and problems are included in order to reinforce student learning. This book can be used as a textbook for graduate or advanced undergraduate students. Because it is comprehensive, it can also be used as a tutorial or a reference by mathematicians and non-mathematicians from many fields of applications who need to solve alternating projection problems in their work.