Bernard Helffer's graduate-level introduction to the basic tools in spectral analysis is illustrated by numerous examples from the Schrodinger operator theory and various branches of physics: statistical mechanics, superconductivity, fluid mechanics and kinetic theory. The later chapters also introduce non self-adjoint operator theory with an emphasis on the role of the pseudospectra. The author's focus on applications, along with exercises and examples, enables readers to connect theory with practice so that they develop a good understanding of how the abstract spectral theory can be applied. The final chapter provides various problems that have been the subject of active research in recent years and will challenge the reader's understanding of the material covered.