ProtoPlay logo
ProtoPlay
OverviewSystem DesignData StructuresProgramming Languages
TracksStart challenge

Language Theory

Language Evaluation Criteria
Syntax vs Semantics
Attributes of a Variable
Scope and Lifetime

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.

Language Theory

Language Evaluation CriteriaSyntax vs SemanticsAttributes of a VariableScope and Lifetime