This is a classic introduction to set theory in three parts. The first part gives a general introduction to set theory, suitable for undergraduates; complete proofs are given and no background in logic is required. Exercises are included, and the more difficult ones are supplied with hints. An appendix to the first part gives a more formal foundation to axiomatic set theory, supplementing the intuitive introduction given in the first part. The final part gives an introduction to modern tools of combinatorial set theory. This part contains enough material for a graduate course of one or two semesters. The subjects discussed include stationary sets, delta systems, partition relations, set mappings, measurable and real-valued measurable cardinals. Two sections give an introduction to modern results on exponentiation of singular cardinals, and certain deeper aspects of the topics are developed in advanced problems.