Course CSE380
Title Computer Game Programming
Credits 3
Course Coordinator

Richard McKenna


An introduction to the fundamental concepts of computer game programming. Students design and develop original games for PCs applying proven game design and software engineering principles.

Bulletin Link

Prerequisite Prerequisite: CSE 220; CSE major
Course Outcomes
  • An ability to integrate technologies such as multimedia, artificial intelligence, and physics modeling into a cohesive, interactive game application.
  • An understanding of the principles of game design that make for a playable experience.
  • An ability to use software engineering, team project management, and prototype presentation principles in a game development context.
  • Robert Nystrom, Game Programming Patterns, Genever Benning, 2014
  • Kouichi Matsuda, Rodger Lea, WebGL Programming Guide, Addison-Wesley, 2013
Major Topics Covered in Course
  • Game Memory Management
  • Multithreading in Games
  • GUI programming for games
  • Tile-based graphics
  • Sprites & bitmap animation
  • Collision detection
  • Page & side scrolling algorithms
  • Differing game types, modes, & perspectives
  • Game & level design
  • Rapid prototyping & game testing
  • Path finding algorithms
  • Game project management
  • Game design documentation
  • Game program architecture
  • Sound & Music
  • Game input devices
  • Artificial Intelligence in games
  • Physics based modeling
  • Optimization techniques
  • Gaming industry issues
  • Computer game history

See current course webpage for more information.

Course Webpage