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
- 1Module 1 · 15 h · 3 lessonsClasses, Constructors and Object Lifetime
- 2Module 2 · 15 h · 3 lessonsInheritance and Virtual Functions
- 3Module 3 · 16 h · 3 lessonsThe Standard Template Library
- 4Module 4 · 14 h · 3 lessonsFiles, Streams and Exceptions in C++
- 5Module 5 · 13 h · 3 lessonsBuilds and Debugging with CMake and GDB
- 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.