Fundamental concepts of software for computer games and other simulation-based media. Topics will include game design (selecting rules, resources, and player objectives), 2D and 3D game programming, ...