Learn C++ Programming by Making Games
4.3 (57 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
426 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Learn C++ Programming by Making Games to your Wishlist.

Add to Wishlist

Learn C++ Programming by Making Games

An introductory guide to understanding how to program
4.3 (57 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
426 students enrolled
Created by Serge Lansiquot
Last updated 5/2017
Current price: $10 Original price: $55 Discount: 82% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 25 hours on-demand video
  • 36 Articles
  • 18 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Understand how to break down problems into smaller easier to understand tasks
  • Take those tasks and translate them into C++ code
  • You'll be able to make small but fairly complex ASCII games
View Curriculum
  • Nothing. We'll go over everything together.

This course is for beginning programming students who are struggling with understanding how to solve programming problems. I'll be showing you how I go about solving problems; how to break everything down into something easy to understand and easy to program. We'll be using C++ as our programming language of choice. C++ is a very powerful and versatile language that is a very good language to start making games with. We'll go deep and try to understand how things really work on the computer at a low level. We'll make several games as practice and I'll show you all my tips and tricks in order to solve the problems we come across. 

Who is the target audience?
  • This is for people interested in learning how to program but don't know where to start. No prior programming knowledge is presumed. Those interested in the basics of making games. You won't get much value in this course if you're already knowledgeable in programming.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
155 Lectures
1 Lecture 02:10
Are you smarter than a supercomputer?
8 Lectures 01:05:26

I'll explain how the human brain infers and bridges unrelated logic

Who do you think is smarter?

I'll explain what programming is and isn't.

Explain what algorithms are.

Explain data.

Show drawing of the Transform

Preview 01:57

I'll explain how to break down problems into a series of small understandable steps concrete enough

Explain that you should solve the problem first and then translate the code

Language of Solving Problems

We go over a very important concept called pseudo code. It's a way of combining english statements with our formal language. Use this when you don't know the next piece of C++ code you need to write. Write pseudo code instead to solve the problem.

Pseudo code

I'll show you how we will be practicing throughout the course. I'll always practice with you in these videos so you can see how I solve the problems. It's important for you to practice on your own as well afterwords.

Pseudo Code Problems

Section 2 Solutions

Practice Problems
Can I C++ now?
13 Lectures 01:18:30

I go over setting up MinGW on windows. This is a necessary step in order to run our programs.

Windows Setup

I go over how to setup GCC on Mac OSX. This is a necessary step in order to run our programs on Mac.

Mac OSX Setup

I go over how to setup GCC on Linux. This is a necessary step in order to run our programs on Linux.

Linux Setup

I go over how to setup Eclipse C++ and we make our first program. I'll go over a little bit of how everything works. Don't worry about not understanding everything yet. We'll be doing a lot more examples.

Preview 08:55

We go over what variables are and how to create then and set their values C++. We go over just the built in types like int, float and char. 

Preview 11:46

We go over the underlying representation of the types and their sizes in memory. 

Bits, Bytes, and Types

I go over the math type operations you can use with the variables we've gone over. 

Arithmetic operations

We go over standard input so we can read values from the console. This will allow us to make more interesting programs.

Basic input

I go over briefly what the compiler and linker are and why they are important in C++.

The Compiler and Linker

I go over constants and why they are useful in our programs.


We do some practice for our basic programs. This will reinforce our understanding of variables, input and output.

Examples of basic programs

Section 3 Solutions

Practice problems
If sandwich, Then eat sandwich
9 Lectures 01:07:38

A quick lecture to go over what statement blocks are. 

Statement blocks

We go over boolean logic and why it's useful. We use boolean logic in our programs to make decisions hence all boolean expressions evaluate to true or false.

Boolean Logic

We go over conditional expressions which manipulate boolean variables and boolean expressions. 

Conditional expressions

If statements change the flow of execution of our programs. Based on a boolean expression, our if statement will execute one case of our if statement but not the other. 

if, else if, else

Switch statements are similar to our if statements but differ in a few important ways. It's another way we can choose the path of execution of our programs.

Switch Statements

One more way we can make decisions in our programs. 

Ternary Operator

We do some practice with if statements and switch statements. 

If else practice

Section 4 Solutions

Conditional practice problems
If I've told you once...
9 Lectures 58:34

We look at how to do the same code many times. This is called looping and it's one of the most fundamental things a program can do. We'll be able to make more interesting programs using this.

While loops

We look at another looping structure that is similar to while loops but differ in an important way.

Do While Loops

We look at one of the most important looping structures, the for loop, For loops are a great way of counting. 

For loops

We look at 2 ways we can change the flow of our loops the break statement and the continue statement.

Break and Continue

We briefly look at nested loops and why they are useful.

Nested Loops

We see how loops can affect our input that we learned about before. We use loops to let the user try again if they input something incorrectly.

Loops And Input

We do some practice with loops and see some more interesting problems.

Looping practice

Section 5 Solutions

Looping practice problems
Functional Dysfunction
11 Lectures 50:41

We go over not only an important concept in programming, but an important concept for designing our programs. We'll be using functions to great effect when making our games.


Scope is the concept that tells us where we can use our variables. 


Lifetime is the concept that tells us when our variables are valid to use. 


We go over how to pass variables into functions so the functions can use them in its calculations.

Arguments in functions

We go over how to return values from our functions.

Functions that return values

We go over how function signatures can be used in order to make existing functions seem like they can do more things.

Function overloading

We go over default parameters and how to use them.

Default Parameters

We go over another way to loop using function calls.


We do some practice with functions together.

Function practice

Section 6 Solutions

Function practice problems
Can I make a game now please?
6 Lectures 54:57

Finally a game! This game will encompass everything we've done up until this point. We go over how to understand the problem and start understanding each part that will be important.

Understanding Number Guesser

We break down the program into smaller sections and use our pseudo code to start breaking down the implementation into steps we as humans can understand. 

Breaking down the problem

Once we've understood the problem and broken it down into steps we understand, now is the time to implement it. 

Number Guesser Implementation

We go over one more thing to add in our game, random numbers.

Random number Guesser

Section 7 Solutions

The Game Of Eight
Quit pointing at me
9 Lectures 33:52

We go over a mental model of how to view memory. This will help us understand the next lecture better.

Mind model of memory

We go over one of the most important features of C++, the pointer. Pointers are variables that point to memory address. They can directly affect the variables using what's called dereferencing. 


We go over a similar concept to pointers called references.


I show you how const can affect pointers. 

Pointers and Const

I go over the difference between pass by reference and pass by value. Pass by reference will change the original variable passed in. Pass by value makes a separate copy of the value.

Pass by reference vs pass by value

I'll go over some things to avoid when using pointers.

Pitfalls of pointers and references and how to avoid them

I go over a simple example of using references.

Pointers and References practice

Section 8 Solutions

Pointers and references practice problems
Get to the points[] man!
7 Lectures 50:14

We go over a very useful topic called arrays. Arrays are way for us to store a sequence of variables contiguously in memory. 


We go over the similarities and differences between pointers and arrays. 

Arrays vs Pointers

When passing arrays to functions, it's always passing by reference meaning we always change the original array.

Arrays with functions

We go over how we can use arrays to make a string of characters. I go over the difference between CStrings and character arrays.

C Strings

We do some practice with arrays and cstrings.

Arrays practice

Section 9 Solutions

Arrays practice problems
An Elephant Never forgets
7 Lectures 35:37

I go over the difference between stack memory which is what we've been using up until this point and dynamic memory. Dynamic memory's lifetime is the lifetime of the program once it's allocated. We as programmers choose when to delete it.

Dynamic memory

I go over how to use new and delete with arrays.

New and delete with arrays

I go over how to properly use pointers with dynamic memory. There are many things that can go wrong and we need to good way to remember how to use it properly.

Proper pointer usage with memory

We go over some problems that can happen when using dynamic memory.

Dynamic Memory pitfalls

We do some practice with dynamic memory.

Dynamic memory practice

Section 10 Solutions

Dynamic memory practice problems
9 More Sections
About the Instructor
Serge Lansiquot
4.3 Average rating
57 Reviews
426 Students
1 Course
Indie Game Developer, Programming Tutor

A veteran programmer of 15 years, I was the lead iOS programmer of a now big mobile company. I was in charge of the iOS code base, creating many of the features and architecting the core of the product. 

I later left the company to pursue my dreams of becoming a game developer and starting my own company. 

I've been a programming mentor at VFS and I tutor University students regularly in programming. I'm a life long learner and love teaching others what I know about programming.