116 compile-checked programs · C++17

Examples that follow the learning path.

Every filename begins with its lecture reference. Each example uses only concepts taught by that lecture; motivating previews show results without exposing later syntax.

116 examples

0102030405060708091011121314151617181920212223
L01

Programming & Problem Solving

Minimal program structure and observable output.

L02

Types & Representation

Range, precision, constants, inference, and conversion.

L03

Expressions, Scope & Program State

Names, visibility, storage duration, and linkage.

L04

Decisions & Safe Branching

Ordered safety rules and explicit boundaries.

L05

Iteration I · while & Input Validation

Condition-controlled repetition and progress.

L06

Iteration II · for, Nested Loops & Invariants

Counted ranges and row–column combinations.

L07

Functions I · Contracts & Calls

Value parameters, return values, and decomposition.

L08

Functions II · References & Decomposition

References, const access, and call structure.

L09

Arrays I · Fixed Sequences & Traversal

Fixed extents, indices, bounds, and traversal.

L10

Two-Dimensional Arrays & std::vector

Matrices, nested traversal, and runtime-sized vectors.

L11

Strings & Text Processing

Owned text, input, classification, and validation.

L12

Errors, Debugging & Testing

Pre-conditions with assert, test drivers, and the recursion, array, and string questions from the review sets.

L13

Structures & Pointers

Records, the address-of and dereference operators, null pointers, member access, and layout.

L14

Dynamic Memory & Linked Lists

Lifetimes, new and delete, unique_ptr, linked nodes, and allocation failure.

L15

Stacks, Queues & Abstract Data Types

Last-in first-out and first-in first-out containers behind one interface.

L16

Recursion & the Call Stack

Base cases, shrinking measures, backtracking, and memoization.

L17

Classes & Constructors

Class invariants, access control, constructors, and const member functions.

L18

Destructors, Copying & RAII

Object lifetime, shallow and deep copy, and the Big Three.

L19

Inheritance: Base & Derived Classes

A SearchTree derived from a BinaryTree: construction order, access, substitution, and composition.

L20

Virtual Functions & Polymorphism

Late binding, abstract classes, virtual destructors, and a factory function.

L21

Polymorphic Data Structures

Heterogeneous ownership behind a common interface.

L22

Applied Object Systems

Domain models, collection algorithms, graphs, and patterns.

L23

Recursive & Polymorphic Capstones

Buckets, matrices, trees, and hierarchy applications.