This document provides an introduction to Bayesian hierarchical models. It discusses key concepts such as modeling complex data structures and heterogeneity. Hierarchical models allow both individual-level and group-level parameters to be estimated. Examples are given of hierarchical normal and Poisson models for modeling trihalomethane concentrations in water zones and hospital mortality rates. The models "borrow strength" across units by assuming exchangeable unit-level parameters drawn from common prior distributions. Implementation of hierarchical models in WinBUGS is also briefly covered.