NEXT INTAKE - September 2020

The future is here, and it’s game changing! This 13 week course will cover all the basic programming aspects of C++, with a focus on games, and end with a demonstration of how C++ can be used, within a custom-built game engine, to create a 2D game.

Upon completion of the course, students will receive an SAE short course certificate and be part of our global alumni community.

SAE short courses are only open to students residing in the UK or EU.




London/6 May 2020


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. Moreover, you will also learn all about variables, fundamental data types, and contiguous blocks of memory known as arrays.

  • 2. The loop and 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. Furthermore, you will learn about all the different operators that come with C++ and discover how to use those to manipulate your variables in memory.

  • 3. 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.

  • 4. 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.

  • 5. 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. You will also learn all about abstraction and how you can create selfcontained classes that don’t need to expose their inner functionality to the outside world.

  • 6. To is-a or to has-a, that is the question

    During the first part of the lesson, you will focus on containment, composition and aggregation, and discover how all of this can be used to have one class consist of another, forming a has-a relationship. In the latter half, you will learn about inheritance, and how child classes can derive from their parent classes, forming a special kind of is-a relationship.

  • 7. 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!

  • 8. The Handmade Lite Game Engine

    Today, we spend the entire lesson practically working through, and learning how to use, the Handmade Lite game engine, a simple 2D framework we will be using for the rest of the course to build our games in. We will cover how to load sprites, play audio, render animations, control input and display text.

  • 9. The object of the game

    Today, we discuss the concept of a game object and discover how they can assist us in encapsulating almost all objects in our game world. We will build a GameObject class and begin populating our game world with objects derived from this class.

  • 10. Build a game I

    It’s time to get our hands dirty and start making something fun and interactive. For today’s lesson, we will begin building a 2D game, taking all of the previous knowledge we gathered into consideration. We will start by adding all of our game objects to the scene and making sure they communicate with each other correctly.

  • 11. Build a game II

    We continue creating our game in Handmade Lite, making good use of our C++ and OOP skills. Today, we will focus predominantly on making sure our game objects are instantiated, organized and destroyed again in the correct manner. We will look into storage containers for our objects, such as vectors.

  • 12. Build a game III

    Finally, to apply that extra polish and shine to our games, we will add correctness to our code, by making sure all errors are dealt with, and remove redundant code and add comments where needed.

  • 13. The Grand Finale

    To end off our game creation and coding journey, we will conclude on everything we did and discuss any questions, queries and final thoughts. We will also take this opportunity to make final builds to our game and play-test each other’s creations.

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.


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.


Karsten's blog, find out more about the game industry.

Got a question?

Email our recruitment team

Ask a question

  Date from Date to Day(s) of the week Time Duration  
  Sep 2020 Sep 2020 Wed 18.30-21.00 13 Weeks