Probability and Stochastic Processes
An intuitive, algorithmic approach to probability and stochastic processes.