FLARE v2: A Recursive Framework for Program Comprehension Across Common Teaching Languages and Levels of Abstraction
Justin Heath

TL;DR
FLARE v2 offers a recursive, semiotically informed framework for understanding program meaning across abstraction levels in teaching languages, emphasizing causal and communicative bindings and visualizing compositional structures.
Contribution
It introduces a recursive, semiotic approach to program comprehension that unifies multiple abstraction levels and distinguishes control flow types in educational programming environments.
Findings
Defines a new recursive framework for program understanding.
Visualizes compositional moves with the Compositional Ladder.
Focuses on imperative and event-driven programming in education.
Abstract
Building on the classroom framework in Heath et al. (2025), this paper proposes FLARE v2 as a recursive, semiotically informed account of how program meaning can be described across abstraction scales in common teaching languages. It reframes FLARE v1's tiers as one cycle: identify bounded elements (Receives, Sends, Effects, Shares), analyse bindings along two dimensions (Causal-Temporal and Communicative), and treat the bound set as a new element at the next scale. Causal-Temporal binding has three subtypes - Sequential, Branch, and Event - to distinguish user-authored control flow from event-driven control whose dispatch is hidden in the runtime. A Compositional Ladder visualises the same compositional move from blocks and statements through segments and systems. FLARE v2 is scoped to imperative and event-driven environments typical of primary and lower-secondary curricula. Above…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsTeaching and Learning Programming · Software Engineering Research · Logic, programming, and type systems
