An important step in designing stochastic simulation is modeling the uncertainty in the input environment of the system being studied. Obtaining a reasonable representation of this uncertainty can be challenging in the presence of dependencies in the input process. This tutorial attempts to provide a coherent narrative of the central principles that underlie methods that aim to model and sample a wide variety of dependent input processes.