Optimal transport has a long history in mathematics and recently it advances in optimal transport theory have paved the way for its use in the ML/AI community. This tutorial aims to introduce pivotal computational, practical aspects of OT as well as applications of OT for unsupervised learning problems. In the tutorial, we will provide a selected, compact, and comprehensive background of optimal transport that is useful in machine learning research. Moreover, we will elaborate on the application of optimal transport in several popular and important machine learning applications in the last several decades including deep generative models, clustering, and topic modelling are among the most popular topics. This tutorial targets a wide range of machine learning practitioners who are interested in leveraging optimal transport in their research in different domains with applications in computer vision, natural language processing, data mining, etc. The audience is expected to have foundations of machine learning and deep learning, basic knowledge in probabilities and statistics, as well as familiarity with the Python programming language.