The Game Programming major is an intense and challenging degree built on a foundation of math, programming skills and software engineering practices. With this base, students can then explore the sub-systems that add graphics, physics, and artificial intelligence into modern game engines. They must then take this technical expertise and collaborate with content providers (artist, animators, and designers) in order to craft solutions to subsequently larger and more complex games. As a result, graduates understand how to engineer games from the low-level network protocols and graphics shaders to implementing the latest game engines for high-level solutions to artificial intelligence or game mechanics.

Year 1

  • Applied Calculus – This course teaches the common application of calculus theories.
  • Game History and Development – learn about the industry and team-based development.
  • Introduction to Programming – the first of a two course sequence in C++ programming.
  • Math for 3D Graphics – Math for 3D Graphics teaches you about the mathematical basis that underlies software development in the field of 3D graphics and game programming.
  • Game Technology I – an introduction to scripting in a 2D environment and building game mechanics.
  • Advanced Programming – and advanced class in C++ programming as well as good practices for coding.

Year 2

  • Discrete Mathematics – This course serves as an introduction to some of the most important concepts, techniques, and structures of discrete mathematics that are necessary for the software engineer.
  • Graphics Programming I – Graphics Programming I explores the basics of computer graphics and applied to make an image come alive to the viewer.
  • Data Structures and Algorithms – This course will introduce the student to the methods of data storage in computer memory and on media.
  • Introduction to Networking and Security or TCP/IP – This course provides an introductory understanding of the myriad of topics related to networking, ranging from local and wide area networks to the Internet, web servers and services, TCP/IP and network security.
  • Game Architecture – Game Architecture explores components and subsystems of electronic games and their associated architectures.
  • Game Production I – the first full production class focusing on teamwork and a 2D development process.

Year 3

  • Computer Systems for Software Engineering I – This course will provide a basic knowledge of the representation of information in the computer and how information is processed at the machine level.
  • Console Programming – Console Programming focuses on console video game system development using contemporary architectures and development tools.
  • Introduction to OS, Linux/Unix – Students will learn about the structure and functions of current Linux operating systems and their components such as process management, memory management, and file systems.
  • Graphics Programming II – This course uses the technical foundations of knowledge attained in Graphics Programming I and expands these skills to include advanced 3D graphics topics including skeletal animation, ray tracing, lighting and surfaces.
  • Game Production II – intermediate production class focusing on organization and pipelines using a 3D engine.

Year 4

  • College Capstone in Game Development – the beginning of a full year of conceptualization and production of a full game. All your education comes to an intersection in this course.
  • Senior Production – final, advanced large team production class to complete the senior production sequence.
  • Networking for Online Games – Students learn the architectural, design and implementation strategies used to develop online games.
  • AI for Games – This course provides a technical introduction to the core concepts of artificial intelligence (AI)
  • Games Physics – Students learn the theory and practical application of techniques used in games to simulate real-world physical interactions.
  • Operating Systems and Architecture – This course will give the student an understanding of the architecture of modern operating systems and how software interacts with those operating systems.

Are you a Game Programmer?