The theory of braid groups occupies a beautiful place in modern mathematics. The theory began with Artin in an attempt to understand knots; nowadays braids play an important role in topology, representation theory and symplectic geometry. This course will be an introduction to the theory with an emphasis on current research directions. We will begin with the basic theory of Coxeter groups and classical topological approaches to the type A braid group. We will then cover the Burau and Krammer representations, and discuss central problems including linearity, the word problem, the centre and the description of classifying spaces. We will then discuss the recent theory of categorical actions of braid groups, discussing in detail the work of Khovanov-Seidel, Brav-Thomas and Rouquier.