This rapidly developing field encompasses many disciplines including operations research, mathematics, and probability. Conversely, it is being applied in a wide variety of subjects ranging from agriculture to financial planning and from industrial engineering to computer networks. This textbook provides a first course in stochastic programming suitable for students with a basic knowledge of linear programming, elementary analysis, and probability. The authors present a broad overview of the main themes and methods of the subject, thus helping students develop an intuition for how to model uncertainty into mathematical problems, what uncertainty changes bring to the decision process, and what techniques help to manage uncertainty in solving the problems. The early chapters introduce some worked examples of stochastic programming, demonstrate how a stochastic model is formally built, develop the properties of stochastic programs and the basic solution techniques used to solve them. The book then goes on to cover approximation and sampling techniques and is rounded off by an in-depth case study. A well-paced and wide-ranging introduction to this subject.