Learning C# by Programming Games

Information for Teachers

This book is geared toward being used as a basis for a game-oriented programming course. Each part in this book is concluded by exercises and challenges. Solutions to the exercises are available here. The challenges are generally more complex programming exercises. These challenges can serve as practical assignments for students following the programming course.

By following the structure of the book throughout the course, the students will be introduced to all the main aspects of programming in an object-oriented language. A sample schedule of a course consisting of fifteen sessions with three practical assignments is given as follows:

TopicChaptersExercises, deadlines
1Introduction1, 2Exercises part I
2 Game loop, types, variables 3, 4 Exercises part I
3 Player input, if, booleans 5, 6 Exercises part I
4 Classes, methods, objects 7, 8 Exercises part II
5 for, while, randomness 8, 9 Hand in lab assignment I
6 Inheritance 10, 11 Exercises part II
7 Collections, arrays, interfaces 12 Exercises part III
8 Grids, game worlds 13, 14, 15 Exercises part III
9 Time in games, recursion 16, 17, 18 Exercises part III
10 Sprite sheets, game states 19, 20, 21 Hand in lab assignment II
11 Abstract classes, switch, file I/O 21, 22 Exercises part IV
12 Libraries, game structure23, 24, 25 Exercises part IV
13 Animation, game physics 26, 27 Exercises part V
14 Enemies, exceptions 28, 29, 30 Exercises part V
15 General questions all Hand in lab assignment III

Teaching Materials

Next to the exercises in the book, there are a few different lab assignments available that can be used as a supplement to the course. Also, lecture slides to use as a basis for a course are available here.