We are in the era of data explosion and exabytes of data are generated every day. Uncovering insights within data has become one of the most important skills in every field of work today. Most of the data generated today are unstructured and unlabeled and this creates the need for unsupervised learning algorithms to help in analyzing large amounts of data. This lecture gives a broad overview of unsupervised learning, clustering and the different types of clustering algorithms. It further narrows down to explain the k-mean clustering algorithm, advantages and challenges of it and ends with a coding demo of the k-means algorithm in Python.