This book will give you a great, hands on introduction to computer programming. It's written for complete beginners, and will lead you on a journey from installing everything you need to start coding, to creating a Top Trumps style card game. Along the way you'll learn the fundamental building blocks and techniques for writing clean, easy to read code. Scala is a great first language to learn, as it straddles two of the main paradigms in Object Oriented and Functional Programming. You'll learn about both of these approaches, and see that in coding there are often many ways to achieve the same results. We'll also take a test driven approach to writing code right from the beginning. Test Driven Development is a practice widely used by professional coders to help improve the quality of their code, but is rarely covered in beginners' books. There's a wealth of resources out there teaching you how to make games, mobile apps, websites, machine learning apps, Internet of Things controllers, the list goes on. Most of these assume you've got some level of coding knowledge. This book will give you that fundamental knowledge, and unlock all those resources for you. Learning to code can be challenging. It will almost certainly be frustrating at times. But it's a great goal to aim for. In what other field is it possible to create so much with so little? All you need is a computer, some coding skills, and your imagination. If you've read this far I urge you to give it a go. It's easier than you think!