The Arthur-Selberg trace formula is an equality between two kinds of traces: the geometric terms given by the conjugacy classes of a group and the spectral terms given by the induced representations. This book gives proof of Arthur's trace formula of the 1970s and 1980s, with special attention given to $GL$(2).