Chapters
Twenty chapters, five parts
Each line below is the chapter's What still holds: the one fundamental that coding agents do not change.
Part I Foundations
Part II C and the Machine
- 03Control Flow, Functions, Recursion, and Counting OperationsEvery call gets a frame, and every loop has a count.
- 04PointersA pointer is an address, not the thing it points to.
- 05Arrays, Strings, and Matrices: n, n², n³A buffer has a size, and C will not check it for you.
- 06The Stack and the Heap: Dynamic Memory and OwnershipEvery allocation has exactly one owner who frees it.
- 07Structs, Headers, and Multi-File ProgramsThe C type cannot say who owns a pointer, so the header must.
- 08Growable Arrays and Linked Lists: The Cost of GrowthHow you grow a structure decides what it costs.
- 09Files, Bits, and Function Pointers: ADTs Behind a HeaderAn interface is a promise; the representation behind it is a secret.
Part III Cost and the First Delegation
Part IV C++ and Objects
- 12Moving to C++: Is It Really C++?The memory model is the same; C++ lets the type carry the rules.
- 13Classes, Invariants, and Operator OverloadingA class exists to protect an invariant.
- 14Resource Ownership: RAII, the Rules of Zero, Three, and Five, and Smart PointersOwnership is a rule, and in C++ the destructor enforces it.
- 15Inheritance, Polymorphism, and Composition: Reviewing an Agent's DesignDesign choices have costs you must be able to name.
Part V Generic Code, Data Structures, and Agent Teams
- 16Templates and the Standard LibraryChoosing the container is your decision, not the agent's.
- 17Binary Search TreesA tree is only as fast as it is balanced.
- 18Hash Tables, Exceptions, and the Search StudyA timing claim without a measurement is a guess.
- 19Directing a Team of AgentsThe student makes the final call and answers for it.
- 20A First Look at ConcurrencyTwo threads touching the same memory without coordination is undefined behavior, even when it seems to work.