Programming Languages
Textbook-aligned modules with self-teaching lessons on variables, types, control flow, subprograms, object models, compilers, logic, and concurrency.
Core tradeoffs
Sebesta-style Programming Languages Track
Start with the foundations, then move into live simulations for type systems, parameter passing, compiler translation, and synchronization.
Live lessons
Static vs Dynamic Types
Watch the same program fail before execution versus during execution.
Parameter Passing Methods
See copies, aliases, and copy-out semantics across one function call.
Compiler Pipeline
Follow source text through tokens, parse trees, semantic checks, and codegen.
Data Race and Synchronization
Step through a lost update, then fix it with a lock.