Syllabus
Fall 2024 Sections
Section | Time | Room | Professor | |
---|---|---|---|---|
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:
- Gained an understanding of core game systems (incl. rendering, input, sound, and collision/physics)
- Developed a strong understanding of essential mathematics for games
- Written several functional games in C++ individually
- 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
- Schedule
- Weekly Breakdown
- Office Hours / Open Labs
- Grading
- Policies
- Statement on Academic Conduct and Support Systems