Learn Cpp For Ue4 Unit 1

Tags:

Learn the basics of C++ to prepare you for game development programming!

Last updated 2022-01-10 | 4.8

- Students will be able to start programming in Unreal Engine with C++ without being intimidated by its advanced techniques.
- Students will have a solid understanding of C++ basics.
- Students will learn both theory and practice with classroom style whiteboard talks
- and lab style hands-on programming sessions.

What you'll learn

Students will be able to start programming in Unreal Engine with C++ without being intimidated by its advanced techniques.
Students will have a solid understanding of C++ basics.
Students will learn both theory and practice with classroom style whiteboard talks
and lab style hands-on programming sessions.

* Requirements

* No programming experience necessary. Must have a computer and internet.
* Visual Studio Community is used (the free version) and students will not need to purchase any software.

Description

There are many C++ tutorials for Unreal Engine or other game engines out there, but most just assume you have a solid background in C++, or they cover the basics quickly. This is because Unreal Engine C++ is already too complicated to cover learning an entire programming language plus Unreal Engine programming in a single course. This course is designed to teach you C++ from the ground up, starting at absolute beginner level content and working up to advanced level techniques. This course will prepare you for programming video games in Unreal Engine, Cryengine, Lumberyard, or any game engine. Unreal Engine is not used in this course. This is a course on the basics of C++.

Who this course is for:

  • Anyone who wishes to program video games in Unreal Engine but does not yet know how to code in C++.
  • Beginners with no programming experience, or programmers who wish to brush up on the basics of C++.
  • Those who want to become video game programmers and gain a solid understanding of C++.
  • Anyone who wishes to learn programming in C++.

Course content

5 sections • 71 lectures

Introduction Preview 01:04

This is a brief intro to my course, explaining what you will learn, and how the material will be taught. You will learn the basics of C++, starting from being an absolute beginner with no experience to actually writing your own C++ programs! You'll be well on your way to programming video games in Unreal Engine!

Getting Started - Downloading Visual Studio Preview 02:03

To program in C++, you must have an IDE (Integrated Development Environment). We will learn all about how to use one in this series!

Do you have a Mac? No problem! Use the link below to download XCode (the Mac version of an IDE you can use).

Your First Game - "You Died!" - Printing Text to the Screen Preview 10:15

We begin by creating our first Visual Studio project and source file. We create our first program which sends text to the screen.

Variables and Data Types Preview 12:56

We learn about variables and how they can be declared, initialized, and overwritten with new values. We conclude with a whiteboard talk about several different data types and when to use them.

Statements and Expressions Preview 03:05

Introducing a couple of new terms: Statement and Expression, and explaining what they are. 

Truth Values Preview 04:05

We learn how each expression has a truth value associated with it.

Relational Operators Preview 08:45

We're almost ready to use what we've learned in a program! Here we discuss relational operators as a way to compare truth values, which we will be able to use in our code when we create if statements.

If Statement - How to Use the Truth Values with Relational Operators Preview 04:38

We finally learn the tool we can use to combine truth values and relational operators in a way that your program can use! Let your code make decisions based on conditions in your program.

If Statement - Hands On Programming Lecture Preview 03:39

We finally put our skills to use with a simple if statement! Creating conditions in your code adds power to the program.

If/Else Statement - Use Else to Provide Code for When the Condition is False Preview 07:30

Now we learn how to create an alternative series of statements which will execute if the condition is false in an if statement.

If/Else Statement - Hands On Programming Lecture Preview 01:55

Setting up a branch in your logic with an if/else statement.

Else If - Adding Even More Functionality to your If Statements Preview 09:08

In addition to if and else, you also have the else if option, which can string multiple statements together and give you even more flexibility!

Else If - Hands On Practice with Else If Statements Preview 04:45

We dive in and create some branches in logic using the else if statement.

Scope - What Do Those Curly Braces Do Anyway? Preview 08:11

Just what do those curly braces actually do? It turns out they represent a very important idea in programming - scope. This video explains it all!

Identifiers - You Can't Name Your Stuff Just Anything! Preview 08:53

How do you know whether your variable names will work? Watch this lecture and find out!

Keywords - The Forbidden Words You Cannot Use For Your Identifiers Preview 02:47

Learn about certain keywords that have special uses in the programming language.

Functions - Create Routines for your Programs Preview 20:09

Functions are extremely useful for creating routines of code that can be called by name to perform their tasks.

Functions - Hands On Programming Lecture Preview 14:37

We dive in and get some extensive experience creating and calling functions!

Functions Revisited - More Practice With Functions Preview 25:22

We get more practice with functions!

Increment Operators - Manipulate Your Numbers with Handy Operators Preview 10:37

Learn about the increment operators and other mathematical tools.

Increment Operators - Hands On Practice With Computations Preview 11:28

We use these operators in some real C++ code.

While Loops - Let Your Code do the Work For You Preview 21:20

Run a series of statements repeatedly until a condition is met.

While Loops - Hands On Practice Preview 07:30

Let's see how these loops actually work!

Do While - Another Flavor of the For Loop Preview 09:37

This type of loop will enter the loop body first, then check the condition after.

For Loops - Looping For A Specified Number of Iterations Preview 10:19

For Loops - Hands On Looping Practice Preview 09:44

We discover looping for a number of times!

References - Variables Which Are Aliases for Other Variables Preview 09:05

We learn about the reference, an alias for another variable.

References - Hands On Practice with Variable Aliases Preview 11:43

We practice with references in our code.

Function Overloading - Multiple Versions of a Function Preview 06:15

We learn how to have multiple functions with the same name that do different things based on the input.

Function Overloading - Get a Load of Function Overloading Hands On! Preview 10:35

Let's see how these work in practice!

Strings - How Strings Work in C++ Preview 15:26

The theory behind the string, how they worked in C, and how much easier they are in C++!

Strings - How to Use Them Preview 07:05

Actually put strings to use in C++!

Constants - Variables That Can Never Change Preview 10:44

How to create a variable that can't vary.

AND / OR and Truth Tables - The Tools Of Logic Preview 09:18

Learn about the tools of logic and how they are used in programming!

AND / OR In Practice - Hands On With The Tools Of Logic Preview 06:58

We get hands-on with these tools of logic and use them in our code!

Arrays - Multiple Values, One Variable Preview 11:31

We discover that you can have a variable that holds multiple values in sequence.

Arrays - Feel the Power of Arrays in Practice Preview 13:52

We create arrays and discover how to access their contents.

Enums - Named Constants that Programmers Use for Program States Preview 11:56

Enums are an efficient way to control states in your game or code.

Enums - Use Enums in Your Code! Preview 13:24

Use enums and discover how useful they can be to control states.

Switch Statements - More Efficient than If Statements in Series Preview 12:48

If you have a long series of if statements, there is a better way!

Switch Statements - Use Switch Statements to Make Code More Efficient! Preview 22:35

See how easy they can be, and use them with enums!

Structs - A Custom Data Type With Member Variables and Functions Preview 08:50

We start to harness the real power of Object Oriented Programming (OOP) by creating a struct!

Structs in Practice - Hands on With Structs Preview 12:14

Now let's create some structs in code!

Pointers - Variables that Point to Addresses of Data Preview 19:00

Pointers are tricky. But they don't have to be! I explain it clearly and simply.

Pointers in Practice - Hands on With Pointers Preview 21:16

Let's use these pointers and see how valuable they can be!

Objects and Classes - The Magic of Object Oriented Programming Preview 03:51

We are finally able to understand Object Oriented Programming by learning about the key tool to OOP - Classes.

Objects and Classes In Practice - Hands-On Class Creation Preview 02:48

We create some simple classes and give them member variables and functions.

Constructors - The Function that Gets Called When an Object is Created Preview 02:45

Constructors are a special type of function that gets called upon object creation.

Constructing Constructors - Let's Create Our Own Custom Constructors! Preview 13:44

We learn how to give our classes custom constructors.

Inheritance - How Classes Can Inherit From Other Classes Preview 07:31

This is one of the main strengths of Object Oriented Programming: how a class can inherit members and functions from other classes.

Inheritance in Practice 1 - Hands On with Inheritance Preview 14:43

We get hands-on with inheriting properties from a parent class.

Inheritance in Practice 2 - Hands On with Inheritance Preview 15:02

Continuing with inheritance practice.

Inheritance in Practice 3 - Hands On with Inheritance Preview 10:32

More practice with inheritance.

Access Modifiers - public, private, and protected Preview 09:11

Finally learn what those keywords: public, private and protected mean!

Using Access Modifiers - Mark Up Our Classes with Access Modifiers Preview 26:50

Use access modifiers and see how they work in actual practice.

Stack and Heap - How Dynamic Memory Works Preview 16:25

Dynamic memory is used in programs when you need your objects and variables to be created at run time, dependent on circumstances of your game/program.

Stack and Heap - Practice with Dynamic Memory Preview 15:42

We create variables on the heap dynamically in some examples.

Destructors - Clean-Up Functions Preview 09:13

Destructors take care of any code that needs to be executed upon an object's deletion.

Destructors - Hands-On Practice Destructing Preview 05:54

Now we create some classes with destructors!

The Static Keyword - Static Variables Preview 09:54

Learn about the different ways to use the static keyword in your programs and games.

Practice with Static Preview 16:48

Hands on static practice!

Virtual Functions - Overriding Inherited Methods (Functions) Preview 05:18

We learn how to give child classes their own version of inherited functions.

Creating Virtual Functions Preview 12:01

Get some practice overriding virtual functions!

Polymorphism - The True Power of Object Oriented Programming Preview 12:32

Polymorphism can be a tricky subject to understand. Not when it's explained correctly though!

Polymorphism - Hands-On Practice with Inheritance Hierarchies Preview 09:24

Now we actually put our theory to use and see how it works!

Multiple Inheritance - How A Class Can Inherit From More Than One Parent Preview 05:42

Classes in C++ can inherit from multiple parents (derived classes), and this can cause some issues.

Casting - Converting From One Type To Another Preview 17:47

Casting is the conversion of an expression from one type to another.

Practice With Casting Preview 18:29

We cast with an inheritance hierarchy modeled after that in Unreal Engine.

Header Files - How Large Programs are Organized Preview 11:01

Ever wonder how large programs are managed, especially with hundreds or thousands of lines of code? With header files!

Practice with Header Files Preview 18:34

We organize a program into header files for each class and see just how much more organized it can be.

Congratulations!