The course provides a general overview of the main methods in the machine learning field. Starting from a taxonomy of the different problems that can be solved through machine learning techniques, the course briefly presents some algorithmic solutions, highlighting when they can be successful, but also their limitations. These concepts will be explained through examples and case studies.