This course will cover the most fundamental concepts and algorithms in machine learning. The materials will be presented in a practical way such that students will get skills to work with important libraries and frameworks like scikit-learn, Keras and Pytorch. We try to cover the following topics: Linear Algebra overview K-nearest Neighbors Classifier Decision Trees Linear Methods for Regression Linear Classifiers Support Vector Machines Neural Networks Boosting and Bagging Probabilistic Classifiers Clustering Dimensionality Reduction