Limited Time Only -- 40% Off Sale

C++ Programming for Game Development

Lesson 1

Environment & Core Language Features

Goals: Create, compile, link and execute C++ programs. Find out how C++ code is transformed into machine code. Learn some of the basic C++ features necessary for every C++ program. Discover how to output and input text information to and from the user. Understand the concept of variables. Perform simple arithmetic operations in C++.

• Video Runtime: 1h 1m 18s

Lesson 2

Conditionals, Loops, & Arrays

Goals: Understand and evaluate logical expressions. Form and apply conditional, if...then, statements. Discover how to execute a block of code repeatedly using various kinds of loops. Learn how to create containers of variables and how to manipulate the individual elements in those containers.

• Video Runtime: 39m 07s

Lesson 3


Goals: Understand and construct logical code groupings/tasks as functions. Understand the various definitions for scope as it pertains to variable declarations. Understand how to use code libraries for common tasks in mathematics and for random number generation. Understand function parameter overloading and the concept of the default parameter.

• Video Runtime: 30m 29s

Lesson 4

References & Pointers

Goals: Become familiar with reference and pointer syntax. Understand how C++ passes array arguments into functions. Discover how to return multiple return values from a function. Learn how to create and destroy memory at runtime (i.e., while the program is running).

• Video Runtime: 25m 11s

Lesson 5

Object Oriented Programming (OOP)

Goals: Understand the problems object oriented programming attempts to solve. Define a class and instantiate members of that class. Learn some basic class design strategies.

• Video Runtime: 27m 03s

Lesson 6

Strings & Miscellaneous

Goals: Understand how C++ natively describes strings. Learn some important standard library string functions. Review std::string and become familiar with some of its methods. Become familiar with the this pointer. Learn about the friend and static keywords. Discover how to create your own namespaces. Understand what enumerated types are, how they are defined in C++, and when they would be used.

• Video Runtime: 28m 23s

Lesson 7

Operator Overloading

Goals: Learn how to overload the arithmetic operators. Discover how to overload the relational operators. Overload the conversion operators. Understand the difference between deep copies and shallow copies. Find out how to overload the assignment operator and copy constructor to perform deep copies.

• Video Runtime: 25m 18s

Lesson 8

File Input/Output

Goals: Learn how to load and save text files. Learn how to load and save binary files.

• Video Runtime: 17m 37s

Lesson 9

Inheritance & Polymorphism

Goals: Understand what inheritance means in C++ and why it is a useful code construct. Understand the syntax of polymorphism, how it works, and why it is useful. Learn how to create general abstract types and interfaces.

• Video Runtime: 27m 03s

Lesson 10


Goals: Learn how to design and implement generic classes. Learn how to define generic functions.

• Video Runtime: 21m 57s

Lesson 11

Exception Handling

Goals: Understand the method of catching errors via function return codes, and an understanding of the shortcomings of this method. Become familiar with the concepts of exception handling, its syntax, and its benefits. Learn how to write assumption verification code using asserts.

• Video Runtime: 15m 56s

Lesson 12

Number Systems

Goals: Learn how to represent numbers with the binary and hexadecimal numbering systems, how to perform basic arithmetic in these numbering systems, and how to convert between these numbering systems as well as the base ten numbering system. Gain an understanding of how the computer describes intrinsic C++ types internally. Become proficient with the various binary operations. Become familiar with the way in which floating-point numbers are represented internally.

• Video Runtime: 36m 34s

Lesson 13

The Standard Template Library

Goals: Discover how lists, stacks, queues, deques, and maps work internally, and in which situations they should be used. Become familiar with a handful of the generic algorithms the standard library provides and how to apply these algorithms on a variety of data structures. Learn how to create objects that act like functions, called functors, and learn how to create and use predicates with the standard library.

• Video Runtime: 40m 02s

Lesson 14

Final Exam (Review)

• Video Runtime: 35m 26s

Lesson 15

Transitioning from C++ to C# (Optional)

Goals: Use your C++ knowledge to learn C# in about 90 minutes. An excellent supplemental tutorial from Derek Banas on YouTube. This is an optional module, but is strongly recommended for students who intend to pursue our Unity courses, where C# is the primary language being used in those videos.

• Video Runtime: 1h 24m 59s