ProtoPlay logo
ProtoPlay
OverviewSystem DesignData StructuresProgramming Languages
TracksStart challenge

Language Theory

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

Programming Languages

Textbook-aligned modules with self-teaching lessons on variables, types, control flow, subprograms, object models, compilers, logic, and concurrency.

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

Expressions and Precedence

Step through grouping, association, and explicit parentheses.

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 LifetimeExpressions and Precedence