Intro to C++ Programming
Types and Literals
Explore how C++ programs store and manage numbers in computer memory, including integer and floating-point types, memory allocation, and overflow handling.
Practical DSA
Memory Fragmentation
Why do long-running programs inevitably degrade and crash? Discover the hardware reality of memory fragmentation and TLB thrashing.
Practical DSA
Linear and Arena Allocators
Bypass the OS and the global allocator. Build a custom linear arena allocator to implement fast memory allocation with zero fragmentation.
Practical DSA
Object Pools and Free Lists
Solve the problem of dynamic entity lifespans. Build a zero-allocation object pool using an implicit free list hidden inside dead memory.
Intro to C++ Programming
Booleans - true and false values
An overview of the fundamental true or false data type, how we can create them, and how we can combine them.
Intro to C++ Programming
Conditional Logic
Use booleans and if statements to make our functions and programs more dynamic, choosing different execution paths.
Intro to C++ Programming
Switch Statements
Learn an alternative way to write conditionals, which is often used when we want to take different paths based on a specific value
Managing C++ Projects Using CMake
Fetching External Dependencies
Learn how to create self-contained, reproducible builds by fetching dependencies from source using FetchContent() and ExternalProject_Add().
Intro to C++ Programming
Objects, Variables and Types
An introduction to the building blocks of our software - objects, and the variables that can be associated with them.
Intro to C++ Programming
Numbers
An introduction to the different types of numbers in C++, and how we can do basic math operations on them.