Free and Unrestricted Access
No previous programming experience is needed - we start from the basics.
We start from first principles, and build our knowledge step-by-step to create complete applications.
No copying-and-pasting code in this course.
We explain every line of code we're using, so you understand exactly what is happening.
Everything we create is organised and implemented using modern, professional practices.
This means the techniques we learn are usable in large, professional projects.
We don't just explain what we're doing, but also why.
This builds transferrable skills, so you can take what you've learnt and apply them to your own projects.
Getting our machines set up for C++ development, and introducing the fundamental building blocks of programming - variables, functions, conditionals and loops.
Discover how we can package our code into reusable functions that we can easily call. Then, learn how we can use loops to have our functions run repeatedly.
Classes are the fundamental feature of object oriented programming. In this chapter, we will see how we can set them up, and how we can use them to create the custom objects our game will need.
See how we can use inheritance to organise our classes into a hierarchy, unlocking a massive range of possibilities for building more complex software
An introduction to references and pointers, fundamental data types that let us control how our variables are stored and transferred
An introduction to polymorphism - the key tool that let us build more complex programs whilst keeping our code simple.
Go deeper on what is happening when we build our software. Learn how we can use the preprocessor to automatically modify our source code before it is compiled, and how the linker connects our program together.
Discover additional methods and techniques to keep our data and code organised.
Techniques to simplify our code, making it easier to understand and maintain
A collection of lessons covering a variety of topics worth learning as a beginner
We have two courses that are designed as follow ups to this introduction to C++
We can use what we've learned, alongside the popular SDL2 library, to create practical projects inspired by retro games:
Alternatively, continue to learn more advanced C++ concepts and design patterns in the professional course:
Continue your progress in this course with the following lessons. These are recommended for you based on your progress: