If you're talking about simulation programming, one important aspect/type is Monte Carlo simulation. Essentially the idea is to randomly generate (many!) several runs of simulation data, then average the runs to get an overall simulation result. The averaging removes any randomness in the data and provides a clearer true result. Statistically, you're generating sample data and reducing the variance by using a large number of samples. This has become computationally more straightforward as processors have become faster and memory more plentiful. Also, this kind of simulation applies to modelling a large class of phenomena so getting to know some Monte Carlo approaches and ideas is a major tool for any simulation work.
The main issues come down to 1) correct modelling assumptions, 2) generating correct, efficient random values and 3) numerically stable algorithms (eg avoiding floating point arithmetic errors). Issue 1) is easily the most important (see Garbage In, Garbage Out) and require specific domain knowledge. Issues 2) and 3) are also important: knowing good algorithms for producing uniformly random variables is crucial, and there many pitfalls to avoid.
In light of this, one classic book of Monte Carlo methods is Monte Carlo Methods in Finance. Don't be put off by the "finance" in the title; the methods apply to a wide range of applications (helped me with population dynamics in biological modelling, for example). The book covers random variable generation and efficiency issues since in general generating random numbers is computationally expensive.
You can also see this free book on random variate generation.