C++: value semantics to concurrent systems
Master lifetimes, RAII, containers, generic contracts, files, ranges, concurrency and a production-quality native library capstone.
20 units · Plus, Pro · 20 programming subjects + 2 security tracks
Branches show this unit’s authored theory, coding and assessment work.
Unit 1 / 20
Keep every C++ view inside its source lifetime
Distinguish values, references and views, then return owned data whenever a result must outlive its source.
0 prerequisite skills · Reading, guided completion and independent success remain separate evidence.
The course, in order
Open a unit in the map to inspect its activities. Reading, guided completion, independent work and review remain distinct evidence.
- Keep every C++ view inside its source lifetime
Distinguish values, references and views, then return owned data whenever a result must outlive its source.
Open this unit - Acquire C++ resources into immediate owners
Represent every successful acquisition with an owner and unwind partial construction without losing the primary failure.
Open this unit - Preserve C++ container invariants during algorithms
Choose container operations by invalidation, ordering and exception guarantees rather than convenience.
Open this unit - Move C++ ownership without inventing source state
Use move operations to transfer owned resources while relying only on the moved-from type contract.
Open this unit - Constrain a C++ generic API to what it uses
Express the actual operations a template requires while preserving heterogeneous lookup and typed command relationships.
Open this unit - Observe concurrent C++ work before returning
Retain exception authority, close concurrent state explicitly and join every started task before reporting an outcome.
Open this unit - Separate shared ownership from observation
Use shared_ptr, weak_ptr and aliasing ownership according to lifetime authority rather than pointer shape.
Open this unit - Rename map identity without losing its node
Use node handles to transfer an existing allocation and restore ownership when insertion cannot commit.
Open this unit - Make a C++ allocation budget real
Bind polymorphic allocation to a caller-owned resource and fail instead of silently escaping a fixed budget.
Open this unit - Parse complete C++ numeric records
Use bounded locale-independent conversion and require complete grammar before publishing an exact number.
Open this unit - Validate C++ calendar values before arithmetic
Keep civil dates distinct from local instants and use chrono validity before computing an epoch offset.
Open this unit - Decode C++ binary values without alignment assumptions
Assemble endian-defined bits from bytes, preserve finite representations and avoid aliased or unaligned loads.
Open this unit - Read complete C++ stream records
Distinguish EOF, extraction failure, trailing input and exact quoted record grammar while retaining caller stream ownership.
Open this unit - Materialize C++ range results at the boundary
Compose lazy range operations internally and return an owned, correctly widened result across lifetime boundaries.
Open this unit - Return explicit results from a C++ library boundary
Translate nested failures and ordinary filesystem outcomes into an owned, documented library result.
Open this unit - Publish and inventory C++ filesystem state
Stage a complete file under owned paths and produce a deterministic directory inventory without following links.
Open this unit - Wake and join stopped C++ work
Make cooperative stop participate in blocking waits and observe every asynchronous result before scope exit.
Open this unit - Apply C++ typed commands transactionally
Use variant alternatives as explicit commands and commit a dependent batch only after every precondition succeeds.
Open this unit - Read one correlated C++ state generation
Protect related fields under one shared/exclusive lock and return a detached snapshot from a single generation.
Open this unit - Deliver an all-or-nothing C++ import library
Combine complete stream parsing, checked accumulation, deterministic state change and explicit failure into a reusable library operation.
Open this unit
