I recommend this book to my students because it fills a gap among the many machine learning textbooks. Alpaydin provides a great exposition of the key algorithms and theories behind supervised, unsupervised, and reinforcement learning in a concise manner. Most of the textbooks focus on how to program in Python or R. Alpaydin discusses the foundations of key machine learning models to be effective in programming and understanding the outcomes. The author also revised the deep learning section with new material on Generative Adversarial Networks, Convolutional Neural Network, among others. This book is a great resource.