Packed with real-world examples, industry insights and practical activities, this textbook is designed to teach machine learning in a way that is easy to understand and apply. It assumes only a basic knowledge of technology, making it an ideal resource for students and professionals, including those who are new to computer science. All the necessary topics are covered, including supervised and unsupervised learning, neural networks, reinforcement learning, cloud-based services, and the ethical issues still posing problems within the industry. While Python is used as the primary language, many exercises will also have the solutions provided in R for greater versatility. A suite of online resources is available to support teaching across a range of different courses, including example syllabi, a solutions manual, and lecture slides. Datasets and code are also available online for students, giving them everything they need to practice the examples and problems in the book.