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
Bestselling
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
English
Current price: $10 Original price: $55 Discount: 82% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 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
Requirements
  • Nothing. We'll go over everything together.
Description

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
25:11:14
+
Introducing...
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?
05:29

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
21:10

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
18:13

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
13:41

Section 2 Solutions
00:03

Practice Problems
00:21
+
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
00:27

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
00:10

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

Linux Setup
00:09

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
13:53

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

Arithmetic operations
14:04

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

Basic input
08:40

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

The Compiler and Linker
05:12

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

Constants
04:27

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

Examples of basic programs
10:13

Section 3 Solutions
00:02

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

A quick lecture to go over what statement blocks are. 

Statement blocks
01:48

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
05:43

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

Conditional expressions
12:49

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
09:22

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
15:03

One more way we can make decisions in our programs. 

Ternary Operator
04:08

We do some practice with if statements and switch statements. 

If else practice
18:17

Section 4 Solutions
00:02

Conditional practice problems
00:25
+
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
07:51

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

Do While Loops
04:27

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

For loops
04:40

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

Break and Continue
06:11

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

Nested Loops
03:05

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
13:37

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

Looping practice
17:48

Section 5 Solutions
00:02

Looping practice problems
00:52
+
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.

Functions
06:31

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

Scope
04:21

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

Lifetime
02:00

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

Arguments in functions
04:52

We go over how to return values from our functions.

Functions that return values
04:34

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

Function overloading
05:25

We go over default parameters and how to use them.

Default Parameters
04:37

We go over another way to loop using function calls.

Recursion
06:41

We do some practice with functions together.

Function practice
11:11

Section 6 Solutions
00:02

Function practice problems
00:26
+
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
06:32

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
16:57

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

Number Guesser Implementation
23:56

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

Random number Guesser
06:49

Section 7 Solutions
00:02

The Game Of Eight
00:41
+
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
03:05

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. 

Pointers
05:42

We go over a similar concept to pointers called references.

References
04:54

I show you how const can affect pointers. 

Pointers and Const
06:18

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
04:24

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

Pitfalls of pointers and references and how to avoid them
05:25

I go over a simple example of using references.

Pointers and References practice
03:57

Section 8 Solutions
00:02

Pointers and references practice problems
00:04
+
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. 

Arrays
07:52

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

Arrays vs Pointers
09:33

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

Arrays with functions
04:26

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
09:43

We do some practice with arrays and cstrings.

Arrays practice
18:01

Section 9 Solutions
00:02

Arrays practice problems
00:36
+
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
04:59

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

New and delete with arrays
04:25

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
06:02

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

Dynamic Memory pitfalls
08:25

We do some practice with dynamic memory.

Dynamic memory practice
10:50

Section 10 Solutions
00:02

Dynamic memory practice problems
00:53
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.