The course will teach advanced techniques and algorithms used in game programming. The focus will be on using such techniques to create new and interesting interactive experiences, introducing topics such as procedural content generation (game obstacles and narrative), AI and gesture recognition. We will also talk about game design, learn how to plan a game and execute the production of computer games.