These are the lecture notes from a five-hour mini-course given at the Winter
School on Galois Theory held at the University of Luxembourg in February 2012.
Their aim is to give an overview of Serre's modularity conjecture and of its
proof by Khare, Wintenberger, and Kisin, as well as of the results of other
mathematicians that played an important role in the proof. Along the way we
remark on some recent (as of 2012) work concerning generalizations of the
conjecture