Skip to content

C++ Programming for Game Development

Access code required


Here is the course outline:

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++.

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.

3. Functions

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.

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).

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.

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.

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.

8. File Input/Output

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

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.

10. Templates

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

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.

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.

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.

14. Final Exam

Runtime: 35m 26s

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 training, where C# is the primary language being used in those videos.

Back to top