Skip to main content Link Search Menu Expand Document (external link)

Theme: auto

Syllabus

Fall 2024 Sections

Section Time Room Professor Email
32083 T/Th 2-3:50PM OHE 540 Sanjay Madhav madhav@usc.edu
32026 T/Th 7-8:50PM OHE 540 Clark Kromenaker kromenak@usc.edu

Office Hours and Open Labs

See the schedule here.

Course Description

This course provides students with an in-depth introduction to technologies and techniques used in the game industry today. Students will learn to program and create several different games in C++, starting with 2D games and moving on to 3D. This course focuses on practical, hands-on information that’s critical to learning how to be a successful video game programmer.

Learning Objectives

At semester’s end, students will have:

  1. Gained an understanding of core game systems (incl. rendering, input, sound, and collision/physics)
  2. Developed a strong understanding of essential mathematics for games
  3. Written several functional games in C++ individually
  4. Learned critical thinking skills required to continue further study in the field

Prerequisite

CSCI 104L or ITP 365

Course Structure

Most class meetings will have one hour of lecture followed by one hour of in-class lab work. Students will be required to submit their code at the end of the lab period to demonstrate reasonable progress towards that week’s lab assignment. There are a total of 12 lab assignments during the semester which are generally one week in length. Most weeks, an assignment is due on Wednesday at the end of day.

Exams

There are three in-person exams in the course:

  • Midterm Exam (written) on 10/8 during your regular class period
  • Programming Exam (timed in-class with computer) on 11/14 during your regular class period
  • Final Exam (written) with the date/time depending on your section (schedule)

Textbook

Madhav, Sanjay. Game Programming in C++. Pearson. 2018. ISBN-10: 0134597206.

Students can read this book for free through the USC library website (here).

Alternatively, students can purchase a copy of the book from Amazon or the USC bookstore.


Table of contents