Program Behavior Gaps: An Extension of the Rules of Program Behavior Framework

The Rules of Program Behavior framework notes that teachers target a model of program behavior instead of the complex semantics of the programming language, and allows describing these models as sets of rules of program behavior. When learners execute code, its behavior is defined by the semantics of the programming language, which might differ from the targeted model of program behavior. In this paper, we present a theoretical framework that builds on the Rules of Program Behavior framework, while giving a more prominent role to the differences between the targeted models and the programming language semantics. We call these differences Program Behavior gaps and distinguish between incompleteness gaps—untaught parts—and conflict gaps—a semantic rule that conflicts with a rule of program behavior—, and between transparent and opaque gaps. Visualizations of the relation between the semantics of the programming language and the targeted model of program behavior are an integral part of our framework as they allow visualizing the gaps that could exist in a code fragment and whether these gaps are activated or not. On top of this, the framework contains clear definitions to distinguish between valid conceptions, misconceptions, missing conceptions, prior conceptions, fluid conceptions and program behavior gaps. The framework can be used to devise programming courses, to investigate the mental model of learners and to make a case for gradually evolving languages that are designed to have fewer program behavior gaps. To illustrate this, we (1) present a real-life progression of models of program behavior and discuss, for this progression, the program behavior gaps in twenty-one code fragments, and (2) present a study grounded in our theoretical framework in which we determine the mental model of each participant.

Authors

Institutions

Publication Details

Journal
ACM Transactions on Computing Education
Published
2026-02-09
DOI
https://doi.org/10.1145/3796523
Primary Topic
Teaching and Learning Programming
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Program Behavior Gaps: An Extension of the Rules of Program Behavior Framework

Felienne Hermans, Jesse Hoobergs
ACM Transactions on Computing Education
Teaching and Learning Programming
article

Program Behavior Gaps: An Extension of the Rules of Program Behavior Framework

Felienne Hermans, Jesse Hoobergs
article en

Abstract

The Rules of Program Behavior framework notes that teachers target a model of program behavior instead of the complex semantics of the programming language, and allows describing these models as sets of rules of program behavior. When learners execute code, its behavior is defined by the semantics of the programming language, which might differ from the targeted model of program behavior. In this paper, we present a theoretical framework that builds on the Rules of Program Behavior framework, while giving a more prominent role to the differences between the targeted models and the programming language semantics. We call these differences Program Behavior gaps and distinguish between incompleteness gaps—untaught parts—and conflict gaps—a semantic rule that conflicts with a rule of program behavior—, and between transparent and opaque gaps. Visualizations of the relation between the semantics of the programming language and the targeted model of program behavior are an integral part of our framework as they allow visualizing the gaps that could exist in a code fragment and whether these gaps are activated or not. On top of this, the framework contains clear definitions to distinguish between valid conceptions, misconceptions, missing conceptions, prior conceptions, fluid conceptions and program behavior gaps. The framework can be used to devise programming courses, to investigate the mental model of learners and to make a case for gradually evolving languages that are designed to have fewer program behavior gaps. To illustrate this, we (1) present a real-life progression of models of program behavior and discuss, for this progression, the program behavior gaps in twenty-one code fragments, and (2) present a study grounded in our theoretical framework in which we determine the mental model of each participant.

ACM Transactions on Computing Education
Vrije Universiteit Amsterdam (NL), KU Leuven (BE)
Openalex Percentile: Top 70%
Teaching and Learning Programming
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.