Video Game Programming

Learn how to apply programming techniques to video games. Gain exposure to concepts related to video games including gameplay, graphics, artificial intelligence (AI), in-game physics, and more. You’ll write and debug code and program many different types of 2D and 3D video games. Electives explore concepts such as programming mobile games and writing your own game engine.

Learn about:
Image
Skills
  • 3D graphics
  • Game algorithms
  • Artificial intelligence
  • Game engine programming
Careers
  • Game Programmer
  • Technical Designer
  • Game Director

Requirements

  • All minors at USC need 16 units that only meet minor requirements and do not meet any other major, minor, or GE requirement.
  • All courses completed for your minor or specialization must be completed for a letter grade.
  • You must earn a 2.0 minimum cumulative GPA in the courses completed for your minor or specialization.

Minor (18 units)
Core requirements (14 units):
  • ITP-165 “Introduction to C++ Programming” (2 units)
  • ITP-265 “Object-Oriented Programming” (4 units) [prerequisite: ITP-165]
  • ITP-365 “Managing Data in C++” (4 units) [prerequisite: ITP-265]
  • ITP-380 “Video Game Programming” (4 units) [prerequisite: ITP-365 or CSCI-104]
Elective (4 units):
  • ITP-382 “Mobile Game Development” (4 units) [prerequisite: ITP-265 or CSCI-103]
  • ITP-435 “Professional C++” (4 units) [prerequisite: ITP-365 or CSCI-104]
  • ITP-439 “Compiler Development” (4 units) [prerequisite: ITP-365 or CSCI-104]
  • ITP-485 “Programming Game Engines” (4 units) [prerequisite: ITP-380]
  • CSCI-491a “Final Game Project” (4 units)
  • CSCI-491b “Final Game Project” (2 units)
Substitutions:

The following courses are also pre-approved electives for the minor. If you enroll in one of the following courses, please email our academic advisors so that they can update your STARS report. Substitution courses are not automatically applied to your minor requirements, so you will need to ask our academic advisors to make the change for you.

  • ITP-499 “Game Programming in Unreal” (4 units) [recommended preparation: ITP-380]

Specialization (14 units)
Core requirements (14 units):
  • ITP-165 “Introduction to C++ Programming” (2 units)
  • ITP-265 “Object-Oriented Programming” (4 units) [prerequisite: ITP-165]
  • ITP-365 “Managing Data in C++” (4 units) [prerequisite: ITP-265]
  • ITP-380 “Video Game Programming” (4 units) [prerequisite: ITP-365 or CSCI-104]

Course Plan

Use the chart below to plan your course schedule to complete your minor. Pay careful attention to prerequisites. Make sure you consult with your major advisor about how best to incorporate the requirements for your minor with your major and general education requirements.

Please contact our academic advisors with questions about course sequencing, departmental clearance and course substitutions.

-Zach Metcalf, Electrical Engineering "I've gotten the amazing opportunities to work at places like Rockstar and Blizzard and contribute to the industry I know and love. Nearly all of the skills and foundation of my success can be traced back to my ITP Minor in Video Game Programming. I use the skills and lessons I learned from my ITP courses literally every day in my career." -Zach Metcalf, Electrical Engineering Class of 2015 What our students and alumni say
Next steps

How can I add this program?

Apply online

Current USC students can use our online application to declare a minor or specialization. Your application will be processed within 4 to 9 business days, and you will be notified at your official USC email address of your admission to the program of your choice.

Complete your application >
Contact us with questions

If you have a question about the program, you're welcome to write to us or schedule an advisement appointment. We can help you navigate our program requirements and resources and refer you to other offices as needed.

Contact our advisors >