This book provides a self-contained introduction to modern set theory and also opens up some more advanced areas of current research in this field. The first part offers an overview of classical set theory wherein the focus lies on the axiom of choice and Ramsey theory. In the second part, the sophisticated technique of forcing, originally developed by Paul Cohen, is explained in great detail. With this technique, one can show that certain statements, like the continuum hypothesis, are neither provable nor disprovable from the axioms of set theory. In the last part, some topics of classical set theory are revisited and further developed in the light of forcing. The notes at the end of each chapter put the results in a historical context, and the numerous related results and the extensive list of references lead the reader to the frontier of research. This book will appeal to all mathematicians interested in the foundations of mathematics, but will be of particular use to graduates in this field.