Machine Learning enables computational systems to adaptively improve their performance with experience accumulated from the observed data. This advanced level course in machine learning will take you through the theoretical and applied foundations of the subject with the rigor expected of an advanced level course. Topics covered will include machine learning theory, paradigms (supervised, unsupervised, reinforcement, active and online), and techniques (models and methods). Labs are developed to practically learn how to use the R programming language and packages for applying the main concepts and techniques of machine learning.