By uncertain programming we mean the optimization theory in generally uncertain (random, fuzzy, rough, fuzzy random, etc.) environments. The main purpose of this paper is to present a brief review on uncertain programming models, and classify them into three broad classes: expected value model, chanceconstrained programming and dependent-chance programming. This presentation is based on the book: B. Liu, Theory and Practice of Uncertain Programming, PhisicaVerlag, Heidelberg, 200