This course is designed for students with prior programming experience interested in learning C# programming and game development. The course covers fundamental programming concepts like object-oriented programming, control structures, collections, and error handling in C#. Students will also learn how to create games with Unity, including working with the Unity editor, physics engine, game assets, and game AI. The course begins with an introduction to C# programming language and control structures and gradually progresses to advanced programming concepts, such as inheritance and polymorphism. Additionally, students will learn how to handle errors and debug code. The second half of the course focuses on Unity game development. Students will learn to use the Unity editor to create game objects, scenes, and gameplay mechanics. They will also learn to work with some of Unity’s built-in features, e.g., animations, particle effects, and game AI. By the end of the course, students will have the skills and knowledge necessary to write a C# program and build a fully functional and engaging game with Unity.