Have you ever wanted to simulate a system but didn't know how to get started? Or maybe you wanted to create a data set with certain characteristics but weren't sure how to get the characteristics you had in mind. This tutorial will give you an overview of the mathematics and programming involved in simulating systems and generating synthetic data. Attendees of this tutorial will understand how simulations are built, the fundamental techniques of crafting probabilistic systems, and the options available for generating synthetic data sets. The skills of simulation and synthesis of data are both invaluable in generating and testing hypotheses about scientific data sets.