Through collaborations with other students, internships, classroom teaching, and hands-on experience, you'll immerse yourself in computer science and game programming techniques, as well as best practices for software engineering and game production.
This deep set of proficiencies in multiple areas will increase your marketability in this fast-paced industry. With a large game portfolio and experience working on game production teams, you'll graduate with a distinct set of state-of-the-art skills.
By the time you complete the academic and internship requirements for your Game Programming degree, you will be able to perform the following activities:
- Solve complex logic problems using the tools and techniques found in computer science, software engineering, and game programming.
- Write clear and efficient code in the programming languages relevant to professional game development, following appropriate coding standards and industry practices.
- Build systems that employ common approaches to game AI, game physics, game networking, game graphics (2-D and 3-D), operating systems, and file formats.
- Solve complex software architectural design problems found in multi-platform, multi-user, and/or multi-component game engine development.
- Apply knowledge of contemporary computer architecture to software engineering problems.
- Solve complex problems by using appropriate mathematical tools including those developed through algebra, geometry/trigonometry, calculus, linear algebra, discrete mathematics, and physics.
- Build interactive software as part of a development team (including artists, animators, designers, producers, and/or other programmers).
- Implement effective design, production, and testing techniques (including appropriate project engineering and management) through all phases of game development as relevant to programmers/engineers.
- Communicate effectively (through the use of written material and visual presentations) to both technical and non-technical game developers.
RESEARCH AND DEVELOPMENT
- Use appropriate resources to research, develop, and contribute to advances and trends within the field of game development.