| # Outline Part II is entirely devoted to linear algebra, from basic concepts such as vectors and matrices to more advanced ideas such as singular value decomposition and principal component analysis. Least-squares and some variants is included in this part, as it can be solved with the traditional tools of linear algebra. Part III: We are then equipped to introduce convex optimization problems. We describe briefly what convex optimization is, and how convex problems are solved in practice. We emphasize the practical importance of the notion of ‘‘disciplined convex programming’’ on which convex modeling software such as CVX rests. We then review a number of “standard” convex models, and applications. One topic in this part explores difficulties and some solution approaches for optimization problems with uncertain data. Part IV is a gentle introduction to the key notion of duality. We show how the approach of weak duality allows to use convex optimization to approximately solve non-convex problems. The notion of strong duality, which applies to most convex problems, allows to derive rigorous optimality conditions, algorithms. It has many othe applications, ranging from decentralized algorithms for large-scale convex problems, to dimensionality reduction for problems with large number of variables and small number of constraints, or vice-versa. Part V collects a few practical case studies that are evoked in the previous parts, and more. The applications range from image processing, to circuit design, antenna array design, and portfolio optimization. {Part I: Introduction} Topic 1: Optimization models {Part II: Linear Algebra} Topic 2: Vectors and linear functions Topic 3: Matrices and linear maps Topic 4: Linear equations Topic 5: Symmetric matrices and quadratic functions Topic 6: Singular value decomposition Topic 7: Least-squares and variants {Part III: Convex optimization problems} Topic 8: From least-squares to convex optimization Topic 9: Linear-quadratic optimization Topic 10: Second-order cone optimization Topic 11: Robust linear optimization Topic 12: Geometric programming Topic 13: Semidefinite programming Topic 14: Weak duality Topic 15: Strong duality Case study a: Antenna array design