Lectures on Stochastic Programming: Modeling and Theory