Provides a foundation in game programming for 2D game development, including gameplay programming, game engine architecture, data structures, input, and working with graphics and sound assets. Students develop a 2D C++ game engine within this course, along with several 2D games built using that engine.