The course introduces main principles and methods of machine learning which are necessary for analysis of large or complex data. The course covers Decision Trees, Neural Networks, Gaussian processes and many other machine learning models and tools. During the course, students get practical experience by implementing own machine learning tools and using available models for analysis of real data, and a programming experience is therefore crucial for succeeding in the course.