Skip to content
Atlas

Learning Track · 6 Modules · 24 Lessons · 23 Exercises · 18h

The Introduction to programming curriculum

Programs translate algorithmic intent into memory operations across distinct runtime architectures. Master low-level bit representation, memory layouts, and manual allocation in C; compile-time type safety, RAII, and zero-cost polymorphic abstractions in C++; and dynamic object graphs, bytecode interpretation, and metaprogramming in Python.

Prerequisites & Preparation

Prerequisites: None

Recommended: Start here if new to low-level memory, systems programming, or C/C++

Scope: Engineers wanting to understand physical memory in C, RAII in C++, and dynamic runtimes in Python.

Track Architecture

  • [systems] Systems and memory in C: Bits, memory layout, pointer arithmetic, stack frames, and manual heap allocation.
  • [objects] Objects and lifecycles in C++: RAII, value semantics, smart pointers, vtables, and generic containers.
  • [scripts] Dynamic execution in Python: The PyObject model, dynamic attribute lookup, C3 linearization, closures, and generator pipelines.
  • [bridges] Cross-paradigm engineering: Stack virtual machines, cycle-detecting garbage collectors, and foreign function interfaces.

Systems and memory in C

Bits, memory layout, pointer arithmetic, stack frames, and manual heap allocation.

Objects and lifecycles in C++

RAII, value semantics, smart pointers, vtables, and generic containers.

Dynamic execution in Python

The PyObject model, dynamic attribute lookup, C3 linearization, closures, and generator pipelines.

Cross-paradigm engineering

Stack virtual machines, cycle-detecting garbage collectors, and foreign function interfaces.