Optimal portfolio construction is one of the most fundamental problems in financial mathematics. In this mini-course, I will discuss the foundations of investment theory together with modeling issues and various methods for the analysis of the associated stochastic optimization problems. Among others, I will present results on the classical expected utility and its robust extension as well as on the long-term (turnpike) properties of optimal portfolios. I will also present analogous results within the framework of the recently developed notion of forward investment performance. Finally, I will discuss connections between the academic research and the investment practice and, in particular, some of the challenges to reconcile normative and descriptive methodologies.