Seismic imaging methods are currently used to produce images of the Earth's subsurface properties at diverse length scales, from high-resolution, near-surface environmental studies for oil and gas exploration to long-period images of the entire planet. This book presents the physical and mathematical basis of imaging algorithms in the context of controlled-source reflection seismology. The approach taken is motivated by physical optics and theoretical seismology. The theory is constantly put into practice via a graded sequence of computer exercises using the widely available SU (Seismic Unix) software package. The material covered in this book is more than enough for a one-semester graduate course in seismic imaging, by the end of which students will not only be writing their own migration codes, patterned on codes in the book, but will be well-prepared to read the current literature.