Modern C++ & systems programming
Learn values, ownership and generic code, then apply them to containers, algorithms, concurrency and native systems.
See the course →LEARN BY DOING
Start with a language, understand the tools around it, then put the pieces together. Every course here is free, and every outline names what to learn first.
Learn values, ownership and generic code, then apply them to containers, algorithms, concurrency and native systems.
See the course →Make bits and bytes concrete: binary place values, hexadecimal, byte order, one’s complement and two’s complement.
See the course →Apply selected C++ Core Guidelines through bounded interfaces, ownership, enum design, polymorphism and exception guarantees.
See the course →Choose C++ containers and views by storage, lookup, ordering, ownership and invalidation contracts.
See the course →Use C library interfaces from C++: bounded bytes and strings, conversions, allocation, FILE streams, formatting, callbacks and time.
See the course →Learn Python objects, functions and reliable data handling, then work toward numerical experiments, NumPy, PyTorch and empirical evaluation.
See the course →Query real tables and reason about NULLs, joins, grouping, windows, transactions and indexes with runnable SQLite exercises.
See the course →Work with real repository history: staging, branches, conflicts, remotes, rebase, recovery, worktrees and bisect.
See the course →Make arguments, quoting, streams, pipelines, files and processes work together in dependable shell programs.
See the course →Learn values, tables, functions and modules before exploring metatables, iterators, coroutines and resource cleanup.
See the course →Work with native Unix/Linux interfaces from C++: descriptors, files, processes, memory mapping, signals, epoll and sockets.
See the course →Study FreeRTOS task and queue behavior, priority inheritance, ISR handoff, timers and CMSIS contracts through the supplied exercises.
See the course →Connect geometry, cameras, scene representation and rendering through visual explanations and practical graphics projects.
See the course →Investigate native memory, synchronization, measurement and production interfaces through C++ systems exercises.
See the course →Understand copying, references, const, RAII, classes, templates and the language rules behind dependable C++ interfaces.
See the course →Build and use arrays, maps, trees and graphs while reasoning about complexity, traversal and algorithmic contracts.
See the course →Read x86-64 registers, calling conventions, stack frames and optimized compiler output before working with SIMD and memory ordering.
See the course →Study AArch64 registers, AAPCS64 calling conventions, control flow, vector operations and memory ordering.
See the course →Connect C++ to startup, memory-mapped registers, interrupts, fixed-point arithmetic and CMSIS microcontroller interfaces.
See the course →Practice motions, operators and repeatable editing directly in the editor through focused Vim drills.
See the course →Understand HTTP exchanges and build deterministic URL, JSON, pagination and retry-policy tools over supplied offline responses.
See the course →Design small Python programs with real classes, explicit ownership, stable interfaces and dependable failure behavior.
See the course →Extend Python functions and iterators into reusable, deterministic data transformations.
See the course →Turn messy CSV and JSON into validated records, safe joins and an auditable sales report using Python's standard library.
See the course →Parse local HTML, resolve and classify URL references, and produce deterministic link reports in Python.
See the course →Native Go language practice from typed values and shared slices to explicit errors and a deterministic JSON log-summary capstone.
See the course →An independent Node.js language course from explicit values to a tested local data CLI.
See the course →Package and review a tiny Python service through processes, images, build inputs, argv, ports, configuration, storage and lifecycle. Graded work uses honest offline fixtures.
See the course →Design durable relational schemas with native SQLite keys, dependencies, integrity, migrations and order-level reports.
See the course →Reason about request, identity, data and output boundaries with deterministic Python policy fixtures and real in-memory SQLite.
See the course →Investigate structured logs, metric support and trace fixtures; write a reproducible report that separates observations, hypotheses and limits.
See the course →Build deterministic Python models of bounded work admission, delivery ownership, retry budgets and idempotent effects, then integrate a restartable job-state simulation.
See the course →