C++

Level 2 of 3

Intermediate Level

Prerequisites

C++ Beginner level, or equivalent experience with functions, references, std::vector, std::string and simple classes.

Duration

8 weeks · 90 guided hours · 6 modules. Taught live by an instructor — online or in person.

By the end of this level you can

  • Design classes that manage their lifetime correctly, including copying and destruction
  • Use inheritance and virtual functions for runtime polymorphism
  • Choose STL containers and apply algorithms with lambdas
  • Read and write files, parse text and handle errors with exceptions
  • Build multi-file projects with CMake and debug them with a debugger and sanitizers

Modules

  1. 1Module 1 · 15 h · 3 lessonsClasses, Constructors and Object Lifetime
  2. 2Module 2 · 15 h · 3 lessonsInheritance and Virtual Functions
  3. 3Module 3 · 16 h · 3 lessonsThe Standard Template Library
  4. 4Module 4 · 14 h · 3 lessonsFiles, Streams and Exceptions in C++
  5. 5Module 5 · 13 h · 3 lessonsBuilds and Debugging with CMake and GDB
  6. 6Module 6 · 17 h · 3 lessonsIntermediate C++ Project

Intermediate level project

Pharmacy Stock Manager

A multi-file C++ application for a small pharmacy that tracks medicines, batches and expiry dates, saves to CSV and reports items to reorder or remove.

Deliverables

  • A CMake project with classes split into headers and source files
  • Features to add stock, dispense, list items below reorder level and list expired batches
  • CSV load and save with clear errors for malformed lines
  • A set of automated checks (assert-based or a test framework) for the stock rules

Assessed on

  • Stock rules (no negative stock, expired batches never dispensed) are enforced and checked
  • Appropriate STL containers and algorithms are used
  • The project builds with CMake without warnings and runs cleanly under AddressSanitizer
  • Errors in files and input are reported clearly without crashing

All levels are taught live by an instructor — online or in person — see registration options.