Text this: Introduction to simulation programming techniques and methods of analysis