<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.0 20120330//EN" "JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" article-type="Research Article" xmlns:mml="http://www.w3.org/1998/Math/MathML">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">INFEDU</journal-id>
      <journal-title-group>
        <journal-title>Informatics in Education</journal-title>
      </journal-title-group>
      <issn pub-type="epub">2335-8971</issn>
      <issn pub-type="ppub">1648-5831</issn>
      <publisher>
        <publisher-name>VU</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="publisher-id">INFEDU.2507.010</article-id>
      <article-id pub-id-type="doi">10.15388/infedu.2507.010</article-id>
      <article-categories>
        <subj-group subj-group-type="heading">
          <subject>Early View Article</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>Assessing Graphical Loop Invariant Based Programming Performance in a CS1 Course</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <name>
            <surname>BRIEVEN</surname>
            <given-names>Géraldine</given-names>
          </name>
          <contrib-id contrib-id-type="orcid">https://orcid.org/0000-0003-1410-1470</contrib-id>
          <email xlink:href="mailto:gbrieven@uliege.be">gbrieven@uliege.be</email>
          <xref ref-type="aff" rid="j_INFEDU_aff_001" />
          <xref ref-type="corresp" rid="cor1" />
        </contrib>
        <contrib contrib-type="author">
          <name>
            <surname>DONNET</surname>
            <given-names>Benoit</given-names>
          </name>
          <contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-0651-3398</contrib-id>
          <email xlink:href="mailto:benoit.donnet@uliege.be">benoit.donnet@uliege.be</email>
          <xref ref-type="aff" rid="j_INFEDU_aff_001" />
        </contrib>
        <aff id="j_INFEDU_aff_001">Montefiore Institute, Université de Liège, Belgium</aff>
      </contrib-group>
      <author-notes>
        <corresp id="cor1">
          <label>∗</label>Corresponding author. Email: gbrieven@uliege.be</corresp>
      </author-notes>
      <volume>0</volume>
      <issue>0</issue>
      <fpage>1</fpage>
      <lpage>38</lpage>
      <pub-date pub-type="epub">
        <day>22</day>
        <month>05</month>
        <year>2026</year>
      </pub-date>
      <permissions>
        <copyright-year>2026</copyright-year>
        <copyright-holder>The Author(s)</copyright-holder>
        <copyright-statement>2026 G. Brieven, B. Donnet, Published by Vilnius University and Tallinn University</copyright-statement>
        <license license-type="open-access">
          <license-p>Open access article under the CC BY license.</license-p>
        </license>
      </permissions>
      <abstract>
        <p>We investigate the pedagogical impact of Graphical Loop Invariant Based Programming (GLIBP) in an introductory programming course. This approach encourages students to visually model the objects and variables handled in the loop, before implementing it. To evaluate the efficiency of this GLI model, a four-condition A/B/C/D test was conducted across two problems, with students receiving varying levels of scaffolding (from no support to a fully constructed GLI). Analysis of students’ code showed that a well-designed GLI reduced errors related to the loop guard and the update of variables. However, many students struggled to understand or represent a GLI. The fill-in-the-blank GLI version, in particular, often added cognitive load rather than reducing it. Three recommendations emerged: train students to interpret a provided GLI when writing code; second, teach students to sketch their own model by recognizing similarities to previously solved problems; finally, guide students with questions to ensure all necessary variables and relationships are properly identified.</p>
      </abstract>
      <kwd-group>
        <label>Keywords</label>
        <kwd>Graphical Loop Invariant Based Programming</kwd>
        <kwd>CS1</kwd>
        <kwd>A/B Testing</kwd>
        <kwd>Diagrammatic Reasoning</kwd>
        <kwd>Student Difficulties</kwd>
      </kwd-group>
    </article-meta>
  </front>
</article>
