This document presents an overview of clustering algorithms including K-means clustering and canopy clustering. It discusses how K-means aims to minimize error across clusters and describes the canopy clustering approach of using an initial rough clustering followed by more rigorous clustering within canopies. It also provides examples of applying K-means clustering in Mathematica, R, and Excel and canopy clustering in Excel. Finally, it discusses complexity analysis and outlines future work involving Hadoop and parallelizing K-means.