Games Design, Game Art Courses
C++ 101

The future is here, and it’s game changing. The 13 week course will cover all the basic programming aspects of C++, with a focus on games, and end off with a demonstration of how C++ can be used within the Unreal game engine to manoeuvre basic objects around in a game scene.

LOCATIONS 

London 

COST

£399

AGE RESTRICTION

18 and over 

WHAT YOU'LL LEARN 

1. Welcome!

This is the start of the course, where you are introduced to the entire module and everything that will be covered over the following lessons. You will gain a brief understanding of C++ and discover what a simple application looks like. You will also learn all about header and source files and be shown how to analyze errors and fix potential bugs in code.

2. Refresh my memory

In this lesson, we discuss computer memory, how your C++ compiler manages it and how we can use it to create and store our own different types of variables. We will cover all of the fundamental data types, as well as learn about contiguous blocks of memory known as arrays.

3. Operator! Express yourself!

Here, we go over all the many different operators that come with C++ and demonstrate how we can use them to manipulate our variables in memory. You will also gain a better understanding of the order of precedence of operators and learn how they can be used within expressions.

4. The loop & flow of a program

Today, you will learn how to branch your application, based on different conditions, as well as learn how to repeat different commands by using a particular loop. You will also gain some experience with various other statements and learn how they can either make or break your code.    

5. Are you pointing at me?

In this lesson, we take a look at some special types of variables, namely pointers and references, and understand why we should never be afraid of them. Equally, we will get to know why they can be so powerful to use and learn where and when we should or should not use them. Furthermore, we will learn all about stack and heap memory and how we can allocate space on either.      

6. Make it function!

In this lesson, we will cover ways to break all of our code into manageable chunks, by introducing functions, and show you how they can be used to write re-usable code. We will cover the basics of regular functions, including how we can pass data to, and receive data from, them, before demonstrating recursive functions, function overloading and function pointers.

7. It’s all going OOP from here…

Finally, the time has come to leave behind the woes of procedural programming and welcome the world of object-oriented programming, or OOP for short. Here, you will gain an overview of encapsulation and learn all about classes and objects and how they are created and destroyed using constructors and destructors.

8. Keep your members private

The tongue-in-cheek title of this lesson says it all – hide all of your class data and functions as much as you can from the client. Here you get to learn all about abstraction and how we can create self-contained classes that don’t need to expose their inner functionality to the outside world. You will also gain a better understanding of getters and setters and learn how to use them to create an interface to private data.

9. To is-a or to has-a, that is the question (Part I)

During this lesson, we will focus on containment, composition and aggregation, and discover how all of this can be used to have one class consist of another. This involves learning all about the has-a relationship and the different methods used to create it.

10. To is-a or to has-a, that is the question (Part II)

Here, we learn about inheritance, and how child classes can derive from their parent classes, forming a special kind of is-a relationship. We will also briefly discuss issues related to inheritance which makes it a less popular choice in terms of class design.  

11. Transformation time!

At this stage, you should have a good understanding of the four main OOP techniques, and should be ready to delve into the last, and possibly most complex, OOP type – polymorphism! We will cover everything there is to know about this technique, what it’s used for and how we can properly implement it. At the end of this lesson you will know all about abstract base classes, early and late binding and dynamic casting. What a mouthful!

12. An Unreal structure

This will be a good time to use what we know about C++ and put it to some good use within the Unreal Engine. We will begin with a brief introduction to the editor’s UI and then look at how to setup a basic C++ project within Unreal. We will also create our first proper game scene, add different assets and begin to write some basic C++ code to manipulate the objects in the scene.

13. FINAL WORKSHOP

For the final lesson, we will round everything off with a workshop class where you can ask the tutor any burning questions you might have about anything taught over the past few weeks. You may also use this time to work on practicing your C++ skills, completing any remaining coding tasks or delving a little more into Unreal.

WHO SHOULD ATTEND 

This course is ideal for technologists with a basic knowledge of coding who would like to learn more about how to create a game. It is highly recommended for students who want to apply for further study in Games.

LEVEL

Beginner

FOLLOW UP COURSES

BA (Hons) in Game Programming

You will have the ability to work on our super-fast and up-to-date Windows 10 PCs, however, please bring along with you a USB flash drive or external hard-drive, so that you may save your work, a notepad and pen, if you want to take any notes the old-fashioned way, and a passion to learn a new programming language and meet like-minded individuals.

  Date from Date to Day(s) of the week Time Duration  
 

8 May 2019

September 2019 Wed 18.30-21.00 15 Weeks  

Please fill out this form to apply for our C++ 101 short course. Once you submit the form we will be in touch to confirm your booking. If you want to call us on 03330 112 315 we can give you more information.

Alternatively you can download and complete our hard copy application form and email it to enquiries@sae.edu

 

Got a question?

Email our recruitment team at enquiries@sae.edu