Skip to main content
Back to course
Log in
Get started
Someone wanted to learn this too, so Grasp built them a personal learning path.
Create your own
Computer Science, Mathematics, and Physics
·
Module 1
C++ Execution and Hardware Foundations
1
C++ Build Pipeline: From Source to Execution
Trace a C++ source file through preprocessing, compilation, assembly, linking, and loading.
Trace a C++ source file through preprocessing, compilation, assembly, linking, and loading.
2
Debugging C++ with Compiler Warnings and Sanitizers
Use compiler warnings and AddressSanitizer or UndefinedBehaviorSanitizer in WSL to locate and repair a defect in a small C++ program.
Use compiler warnings and AddressSanitizer or UndefinedBehaviorSanitizer in WSL to locate and repair a defect in a small C++ program.
3
Inspecting Stack Frames, Variables, and Control Flow with GDB
Use GDB to inspect stack frames, variables, and control flow at a breakpoint.
Use GDB to inspect stack frames, variables, and control flow at a breakpoint.
4
Understanding C++ Object Lifetimes and Storage Duration
Distinguish automatic, dynamic, and static storage duration by tracing object lifetimes in a C++ program.
Distinguish automatic, dynamic, and static storage duration by tracing object lifetimes in a C++ program.
5
Eliminating Resource Leaks with RAII and Smart Pointers
Apply RAII and smart pointers to eliminate a resource leak in a small C++ component.
Apply RAII and smart pointers to eliminate a resource leak in a small C++ component.
6
Fixed-Width Integer Encoding and Overflow in C++
Encode fixed-width signed and unsigned integers in binary, and distinguish unsigned wraparound from undefined signed overflow in C++.
Encode fixed-width signed and unsigned integers in binary, and distinguish unsigned wraparound from undefined signed overflow in C++.
7
Mapping Assembly Instructions to C++ Operations
Map key instructions in a short compiler-generated assembly listing to the originating C++ operations.
Map key instructions in a short compiler-generated assembly listing to the originating C++ operations.
8
Benchmarking Cache Locality with Array Traversal Patterns
Measure the effect of cache locality by benchmarking two equivalent array-traversal patterns.
Measure the effect of cache locality by benchmarking two equivalent array-traversal patterns.
Next module isn't ready yet,
Back to course
Previous module
Next module