This document discusses the VC dimension concept in machine learning. It begins by introducing the setting of learning a classification function from labeled data points. It then provides generalization bounds relating the true risk of a function to its empirical risk based on the size of the function class or its VC dimension. The VC dimension measures the capacity of a function class to label datasets, and having a finite VC dimension allows controlling the growth of the shattering coefficient and thus obtaining generalization guarantees.