Skip to content

Lecture Book Mappings

In Summer 2026, I selected Tour C++ 3rd  edition as the required book because it is direct and to the point. However, some of you may want more details; the optional book (Programming Principles and Practice using C++, 3rd edition (PPP)) provides more information. Note that in 2025, it was reversed. 

Here is the information for each lecture and mapping to each book

The following hands out can help you if you don't have PPP and you prefer read longer text
Handout-errors.pdf ; Handout0.pdf ; Handout1.pdf ; handout-objectstypeandvalue.pdf

Lecture (PPT) Read in A Tour of C++ (3rd ed.) Read in PPP (3rd ed.) learncpp.com (supplemental)
1
Hello World; Objects, Types, Values
Ch. 1 (The Basics): §1.1-1.6, 1.8 Ch. 1-2 (+ §3.3-3.4) Ch. 1: C++ Basics
Ch. 4: Fundamental Data Types
10.8: Type deduction (auto)
2
Functions, Scope, Constants, Pointers/References
Ch. 1: §1.3, 1.5-1.9 (pointers/refs = §1.7) Ch. 3 & 7; pointers/refs to Ch. 15-16 Ch. 5: Constants (const/constexpr)
Ch. 7: Scope & Namespaces
Ch. 12: References & Pointers
3
User-Defined Types & Modularity
Ch. 2 (UDTs) + Ch. 3 (Modularity) Ch. 8 + Ch. 7 (namespaces, modules/headers) Ch. 13: Enums & Structs
Ch. 14: Introduction to Classes
7.2: Namespaces
4
(Summer 2026: short video)
N/A N/A N/A
5
Functions: declarations, definitions, scope, namespaces, headers
Ch. 1: §1.3 (functions), §1.5 (scope); Ch. 3: §3.2 (separate compilation/headers), §3.3 (namespaces), §3.4 (argument passing) Ch. 7 (Technicalities: Functions, etc.) 2.1: Introduction to functions
2.11: Header files
Ch. 7: Scope & Namespaces
12.6: Pass by const reference
6
Classes & class design (interface, operators, inheritance)
Ch. 5 (Classes): §5.2 concrete, §5.3 abstract, §5.4 virtual functions, §5.5 hierarchies; Ch. 6 (operator overloading) Ch. 8 (Technicalities: Classes) + Ch. 12 (Class Design) Ch. 14: Introduction to Classes
Ch. 21: Operator Overloading
Ch. 24: Inheritance
25.2: Virtual Functions
7
Free store, pointers, destructors
§1.7 (pointers/arrays/refs); §5.2 (ctors/dtors, free-store Vector); §15.2 (pointers) Ch. 15 (Vector and Free Store) 12.7: Introduction to Pointers
19.1: Dynamic allocation (new/delete)
15.4: Destructors
8
Arrays, pointers, references, C-style strings
§1.7 (pointers/arrays/refs); §3.4 (reference parameters); §15.3-15.4 (array, span, alternatives) Ch. 16 (Arrays, Pointers, and References) 12.3: Lvalue references
17.7: C-style arrays
17.9: Pointer arithmetic & subscripting
17.10: C-style strings
9
Essential operations (copy/move, ctors/dtors)
Ch. 6 (Essential Operations): §6.2 copy/move, §6.3 resource management, §6.4 conventional ops/comparisons; §5.2.2 (subscripting, initializer-list ctor); §16.6 (move/forward) Ch. 17 (Essential Operations) 14.14: Copy constructor
21.12: Copy assignment
21.13: Shallow vs. deep copy
22.3: Move constructors & assignment
21.9: Subscript operator
10
Templates & exceptions (generic Vector, RAII, smart pointers)
Ch. 7 (Templates); §4.2 (exceptions); Ch. 6 (resource management/RAII); §15.2 (unique_ptr/shared_ptr) Ch. 18 (Templates and Exceptions) 11.6: Function templates
13.13: Class templates
27.2: Basic exception handling
22.5: std::unique_ptr
22.6: std::shared_ptr
HW#1 topics
Classes, inheritance, virtual functions, smart pointers
Ch. 5 (Classes), Ch. 6 (Essential Operations), §15.2 (smart pointers) Ch. 8 (Classes), Ch. 12 (Class Design and Inheritance) Ch. 14: Introduction to Classes
Ch. 24: Inheritance
25.2: Virtual Functions
Ch. 22: Move Semantics & Smart Pointers