Python's runtime model gives every variable the semantics of a reference — a name in a namespace dictionary bound to an object on the heap — with assignment as rebinding, with mutation visible through every name that refers to the mutated object, with a hard distinction between immutable objects (rebinding only) and mutable objects (rebinding and mutation), with a default-mutable-argument trap that produces silent state-leakage across calls, and with parameter passing that the literature has variously called pass-by-object-reference, pass-by-sharing, or passby-assignment. None of this is surfaced by Python's surface syntax. The introductory-textbook tradition for Python (1995– 2020) has overwhelmingly chosen intuitive acquisition — write working code, let the model emerge — over explicit teaching — name the reference phenomena, visualise them with a notional machine, walk through worked examples that surface the binding relation. This paper synthesises Holland-Griffiths-Woodman 1997 Avoiding Object Misconceptions, Ma et al. 2007 and Ma et al. 2011 (the empirical measurement of reference-misconception persistence and the Jeliot cognitive-conflict intervention), Sorva 2012 PhD and Sorva 2013 ACM TOCE notional-machine survey, Kohn 2017 Variables in Python, Caceffo et al. 2016 misconception inventory, Sajaniemi 2002 / Sajaniemi-Kuittinen 2005 roles-of-variables, Hertz-Jump 2013 trace-based teaching, Guo 2013 / 2015 Online Python Tutor work, Posner-Strike-HewsonGertzog 1982 conceptual-change theory, and the parameterpassing pedagogy thread (Fleury 1991, Madison-Gifford 1997, Lopez et al. 2008). The paper delivers four contributions. First, a literature verdict that intuitive acquisition produces persistent and transferable misconceptions at the four canonical Python reference-phenomena moments — variable rebinding, list-mutation aliasing, default mutable-argument trap, parameter pass-by-object-reference — with measured persistence into the second and third programming courses. Second, a verdict that explicit teaching is required, but the cognitive-conflict moment, not the introduction moment, is the load-bearing curriculum slot: explicit teaching at first variable introduction overloads working memory; explicit teaching at the second-encounter mutation moment meets the Posner-Strike conceptual-change pre-conditions and produces the largest measured model-shift gains. Third, a deployment template using Python Tutor visualisations paired with mutation worked examples, staged across the elix-researches Python Pathway Volume 2 Chapter 3 and Volume 3 Chapter 1. Fourth, an explicit map showing how this verdict feeds A3.1 (variable mental model), B1.1 (function bottleneck), and the textbook chapters that depend on the recommendation. Per the elix-researches no-cohort scope, no learner data is collected; piloting is identified as a downstream cohort responsibility (B1.4, C2.1).
That Le (Tue,) studied this question.