In many physical problems several scales are present in space or time, caused by inhomogeneity of the medium or complexity of the mechanical process. A fundamental approach is to first construct micro-scale models, and then deduce the macro-scale laws and the constitutive relations by properly averaging over the micro-scale. The perturbation method of multiple scales can be used to derive averaged equations for a much larger scale from considerations of the small scales. In the mechanics of multiscale media, the analytical scheme of upscaling is known as the Theory of Homogenization.The authors share the view that the general methods of homogenization should be more widely understood and practiced by applied scientists and engineers. Hence this book is aimed at providing a less abstract treatment of the theory of homogenization for treating inhomogeneous media, and at illustrating its broad range of applications. Each chapter deals with a different class of physical problems. To tackle a new problem, the approach of first discussing the physically relevant scales, then identifying the small parameters and their roles in the normalized governing equations is adopted. The details of asymptotic analysis are only explained afterwards.