FLARE v2: A Recursive Framework for Program Comprehension Across Common Teaching Languages and Levels of Abstraction
Justin Heath
TL;DR
FLARE v2 redefines program comprehension in classrooms as a recursive element-binding-element cycle, where bounded elements are described by Receives, Sends, Effects, and Shares and bind across two orthogonal dimensions: Causal-Temporal (Sequential, Branch, Event) and Communicative (data flow). The framework accommodates event-driven code by treating Event as a distinct binding subtype and uses recursion to scale from blocks to systems, with overlays for environment and runtime constraints. It situates the approach relative to Pennington, Schulte, and Sorva, extending traditional models to school contexts and notional reasoning about hidden dispatch. The paper discusses pedagogical implications, outlines a concrete AutoDimmer example, and identifies limitations and avenues for empirical validation and curricular integration.
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 the system layer, behaviour is increasingly shaped by interaction between code and operating context (scheduling, infrastructure, permissions, contracts, failures, platform policy). Here, the element-and-binding vocabulary remains a structural baseline, but continuity of explanation typically requires overlays that make environmental constraints explicit. Event binding and overlays serve a common pedagogical role - preserving coherent structural reasoning where key causal mechanisms are not fully visible in the authored artefact. OOP design reasoning, explicit concurrency models, distributed systems, and functional paradigms are treated as future extensions; implementation and evaluation are left for future work.
