This is a graduate-level course in unsupervised machine learning. This course covers classical and modern techniques for solving problems in machine learning beyond traditional supervised learning, including fitting statistical models, dimensionality reduction, clustering, anomaly detection, density estimation, and exploratory data analysis and visualization. The course uses active learning techniques to guarantee better engagement from the students. Also, experts from the industry are invited to talk about the practical applications in this domain. This course includes assignments and a practical term project.