You’ll dive into the code, and really understand how it works
Get practice with real-world programming skills
We want you to be a great developer! That’s why the book is focused on making it fun and easy to learn the C# programming language and how to do cross-platform development with .NET Core. But if you want to make a real leap as a programmer—especially if you’re looking to land a developer job—you’ll also need real-world skills that help you tackle larger projects and produce clean, high-quality code. That’s why Head First C# also includes lots of practice with real-world programming skills, including debugging code, creating paper prototypes, refactoring, unit testing, test-driven development, and incremental development. As you progress through the book, you’ll use these skills to take on bigger and bigger projects. By the time you’re done, you’ll have picked up a set of useful (and marketable!) development skills that you can use in the real world.
Game design… and beyond
You’re going to be writing code for lots of projects throughout this book, and many of those projects are games. We didn’t do this just because we love games. Games can be effective tools for learning and teaching C#—and in Head First C# we use them to help you learn (even if you aren't planning on doing game development). Here’s why games work as effective learning tools:
- Games are familiar. You’re about to immerse yourself in a lot of new concepts and ideas. Giving you something familiar to grab onto can make the learning process go more smoothly.
- Games make it easier to explain projects.When you do any of the projects in this book, the first thing you need to do is understand what we’re asking you to build—and that can be surprisingly difficult. When we use games for our projects, that makes it easier for you to quickly figure out what we’re asking and dive right into the code.
- Games are fun to write! Your brain is much more receptive to new information when you’re having fun, so including coding projects where you’ll build games is, well, a no-brainer (excuse the pun).
Most importantly, in Head First C# we use games throughout this book to help you learn broader C# and programming concepts. Game design principles are an effective way to learn and explore important programming concepts and ideas that apply to any kind of project, not just video games.
Use 3D game development with Unity to reinforce your C# skills
Unity is a cross-platform game development tool that you can use to make professional-quality games, simulations, and more. It’s also a fun and satisfying way to get practice with the C# tools and ideas you’ll learn throughout this book. That’s why we included a series of optionalUnity Labs in Head First C#. Each Unity Lab is a short, targeted project to reinforce the concepts and techniques you learned earlier in the book to help you hone your C# skills. You’ll learn core Unity concepts and tools: creating 3D shapes and materials and use cameras, navigating scenes in the Unity editor, writing and debugging C# code for your Unity games, building user interfaces into your Unity projects, even working with Unity’s advanced physics and AI-assisted pathfinding and navigation system—and throughout all of those labs, you’ll get practice with the C# concepts you learn throughout the book.