C and C++ Roadmap

Low-level control and speed: pointers, memory, the STL and modern C++ for competitive coding and systems roles.

8 milestones · ~126 hours total

  1. 1

    C basics

    ~10h

    Compile with gcc, types, operators, control flow, functions and the preprocessor.

    Practice this →
  2. 2

    Pointers and memory

    ~16h

    Pointers, arrays, strings, malloc/free, stack vs heap, and spotting leaks and dangling pointers.

    Practice this →
  3. 3

    Structs, files and the build

    ~10h

    Structs, unions, file I/O, headers, Makefiles and debugging with gdb.

    Practice this →
  4. 4

    C++ object model

    ~16h

    Classes, constructors and destructors, RAII, inheritance, virtual functions and operator overloading.

    Practice this →
  5. 5

    The STL

    ~16h

    vector, map, unordered_map, set, priority_queue, algorithms and iterators, with complexity of each.

    Practice this →
  6. 6

    Modern C++

    ~14h

    Smart pointers, move semantics, lambdas, auto, constexpr and the rule of five.

    Practice this →
  7. 7

    Templates and concurrency

    ~14h

    Function and class templates, std::thread, mutexes and atomic basics.

    Practice this →
  8. 8

    Problem solving in C++

    ~30h

    Use the STL to solve contest and interview problems quickly and cleanly.

    Practice this →