This is a graduate text on turbulent flows, an important topic in fluid dynamics. It is up-to-date, comprehensive, designed for teaching, and is based on a course taught by the author at Cornell University for a number of years. The book consists of two parts followed by a number of appendices. Part I provides a general introduction to turbulent flows, how they behave, how they can be described quantitatively, and the fundamental physical processes involved. Part II is concerned with different approaches for modelling or simulating turbulent flows. The necessary mathematical techniques are presented in the appendices. This book is primarily intended as a graduate level text in turbulent flows for engineering students, but it may also be valuable to students in applied mathematics, physics, oceanography and atmospheric sciences, as well as researchers and practising engineers.