The course aims to provide the theoretical foundations and describe the main methodologies related to Machine Learning and Pattern Recognition and, more generally, to Artificial Intelligence. In particular, the course will deal with the methods of analysis, recognition and automatic classification of data of any type, typically called patterns. These disciplines are at the basis, are used, and often complement many other disciplines and application areas of wide diffusion, such as computational vision, robotics, image processing, data mining, analysis and interpretation of medical and biological data, bioinformatics, biometrics, video surveillance, speech and text recognition, and many others. More precisely, the methodologies that will be introduced in the course are often an integral part of the aforementioned application areas, and constitute their intelligent part with the ultimate goal of understanding (classifying, recognizing, analyzing) the data from the process of interest (whether they are signals, images, strings, categorical, or other types of data). Starting from the type of measured data, the entire analysis pipeline will be considered such as the extraction and selection of characteristics (features); supervised and unsupervised learning methods, parametric and non-parametric analysis techniques, and validation protocols. Finally, the recent deep learning techniques will be analyzed in general, providing basic notions, and addressing open problems with some case studies. In conclusion, the course aims to provide the students with a set of theoretical foundations and algorithmic tools to address the problems that can be encountered in strategic and innovative industrial sectors such as those involving robotics, cyber physical systems, (big) data mining, digital manufacturing, visual inspection of products/production processes, and automation in general.