The following is simply a conveniently formatted list of learning goals. More likely than not, some might be hard to assess through a quiz or exam. Students should prioritize their studying based on:

Assessable Learning Goals covered for Final Exam Learning Goals

Know Fisher-Yates shuffling algorithm, be able to apply it to sampling tasks in simulations.

Know Fisher-Yates shuffling algorithm, be able to present a convincing argument of its correctness.

Know the reservoir sampling algorithm (6.5.6) for selecting n random elements from an unkown sized population.

Recall casino thieves, be able to write an algorithm that deals deterministic n-player 5-card draw poker hands

Know how to use accept/reject techniques for uniformly random (geometric) point generation.

Know how to write Monte Carlo simulations for estimating a discrete data histogram of many events.

Know how to write Monte Carlo simulations for estimating the Pr(A) of an event A.

Know the pitfalls associated with common (naive) methods of random point generation.

What unique characteristic of a system or simulation makes it Monte Carlo?

Describe S, the system state. What does "system" refer to?

How is the simulation clock different than the wall clock or an accelerated, virtual clock?

Know the basic algorithm for executing a DES using next event methodology. (hint: probably not more than 5-8 items, depending on wording, and one loop)

Name four data elements or data collections that go into a next event simulation (this list may not be exhaustive).

Understand the basic steps in augmenting a pre-existing NES with additional system and meta events.

What are the most critical operations performed on an NES event list (E)?

What constraint(s) are placed on events being inserted into the event list?

What is the difference between system events and meta events?

Explain the values a, m, g() and x0 in a (Lehmer) PMMLCG; how is the next Uniform(0,1) random value calculated?

Given a and m (a a full period multiplier), find the smallest and largest floating point values between 0 and 1 that can be generated.

How is an xi+1 value converted from an integer to a real number in the interval (0,1)?

What is a full period multiplier and why is it important to Lehmer pRNGs?

What does the pRNG API routine Random() provide to a simulation writer?

What is a seed for a pRNG, how is it related to the sequence of valued generated by Random()?

What is ρ (rho) for pRNGs? When does the sequence of values from Random() repeat?

How do you apply pRNG streams to achieve variance reduction in simulation experiements?

How is a (sub)stream of a Lehmer pRNG created?

What is a distribution's idf()?

Know how derivations between the CDF (F(x)) and the PDF (f(x)) of continuous valued distributions are performed.

Know how to calculate the Pr(Event) for both discrete and continuous valued distributions.

Know how to calculate the mean and standard deviation of discrete data.

What are empirical CDFs? How are they better than histograms for assesing a data distribution?

How does serial correlation affect estimated mean and confidence interval widths?

What is the difference between serial and paired correlation?

Know what constitutes a histogram and how it is connected to CDFs.

Given Welford's discrete and integral mean and variance equations (Thms 4.1.2, 4.1.4), be able to apply them to a set of data.

Know that Welford's Equations exist, why they are superior to the "one-pass" algorithm common in statistical texts.

Know which of the two (non Welford) standard equations for calculating s2 or s is flawed.

Know how the naive adaption of the stationary arrival time algorithm fails when substituting λ with λ(t).

Know that uniform arrival times and uniform interarrivals are not the same thing.

Know that valid computer simulations do not produce outliers. End of discussion.

Know the inversion technique for non-stationary arrival times.

Know the thinning technique for non-stationary arrival times (what is its downside?)

What are consistency checks? How can they be used in V&V?

What are the authors' five phases of simulation development?

What is simulation validation?

What is simulation verification?

What is the computational model of a simulation?

What is the conceptual model of a simulation?

What is the specification model of a simulation?

Understand the Simple Inventory System (SIS), it's assumptions and simplifications.

Know how the expected behavior or performance of an SSQ changes with varying levels of traffic intensity.

Know how to calculate traffic intensity and its connection to service rate.

Understand how a FIFO SSQ simulation can be written in a simple while loop and how ai and si can be manipulated for simple experiments.

Understand the canonical SSQ and appreciate its broad application to computer simulation.

Know the relationships between PMF/PDF and CDF for both discrete and continuous distributions.

Know the relationships between PMF/PDF, CDF, and InvDF. How do you derive one from another? Can this always be done?

Know how to identify and create truncated probability distributions using an accept-reject technique.

Know the CDF search technique for creating discrete random variates.

Know the Equilikely(a,b) random variate: the meaning of its parameters, pmf, and CDF.

Know the Exponential(mu) random variate and the interpretation of its parameter mu in the context of arrival times.

Know the F(x) inversion technique for constructing random variates. What is the requirement on F(x)?

Know the Uniform(a,b) random variate: the meaning of its parameters, pdf, and CDF.

Know the three techniques for constructing a discrete random variate.

Know what the construction technique means for random variates (of which summation is one example).

Understand the problems with the often used and always flawed RandomInteger() mod SIZE programming pattern.

What does the parameter u in random variates represent? Computationally, how do we get a value for u in code?