The aim of the course is to enable students to classify real-life problems and choose the best suited algorithms for solving them, in terms of costs/benefits and convergence properties. At the same time, the course is meant to make students well acquainted with the use of Matlab software and with the practical implementation of some algorithms.