Abstract: Dynamics in nature often proceed in the form of rare transition events: The system under study spends very long periods of time at various metastable states; only very rarely it hops from one metastable state to another. Understanding the dynamics of such systems requires us to study the ensemble of transition paths between the different metastable states. Transition path theory is a general mathematical framework developed for this purpose. It is also the foundation for developing modern numerical algorithms such as the string method for finding the transition pathways. We review the basic ingredients of the transition path theory and discuss connections with the more classical transition state theory. We also discuss how the string method arises in order to find approximate solutions in the framework of the transition path theory.