Abstract In this chapter, we will study algorithms for both two-stage as well as multi-stage stochastic mixed-integer programs. We present stagewise (resource-directive) decomposition methods for two-stage models, and scenario (price-directive) decomposition methods for multi-stage models. The manner in which these models are decomposed relies not only on the specific data elements that are random, but also on the manner in which the integer (decision) variables interact with these data elements. Accordingly, we study a variety of structures ranging from models that allow randomness in all data elements, to those that allow only specific elements (e.g. right-hand-side) to be influenced by randomness. Since the decomposition algorithms presented here are based on certain results from integer programming, the relevant background is also provided in this chapter.