The journey begins by moving away from "concrete syntax" (the curly braces and semicolons) and toward . You learn that a program is a structured mathematical object, not just a string of characters. 2. Statics: Type Systems

: Abstract syntax, typing rules (statics), and abstract machines (dynamics).

The core philosophy of 15-312 is that a programming language is not just a tool, but a . Rather than discussing "syntax" as just where to put semicolons, the course uses Type Theory as an organizing principle.