This document presents a talk on detecting communities in networks. It begins with an introduction to the concept of communities and their usefulness in network analysis. It then discusses two main approaches to calculating communities - descriptive methods like modularity, and generative methods like stochastic block models. The talk concludes by considering future directions for community detection research. Throughout, it acknowledges limitations and cites influential papers in the field.