This book is essentially a self-contained introduction to topological dynamics and ergodic theory. It is divided into a number of relatively short chapters with the intention that each may be used as a component of a lecture course tailored to the particular audience. Parts of the book are suitable for a final year undergraduate course or for a master's level course. A number of applications are given, principally to number theory and arithmetic progressions (through van der Waerden's theorem and Szemerdi's theorem).