Discerning the Understanding of Novice Programmers through Examination of their Interactions with Code Puzzles

    Student thesis: Doctoral ThesisDoctor of Philosophy


    Programming could be viewed as a difficult discipline that some novice programmers (NPs) struggle to grasp, and the effect of this can be viewed in the inflated drop-out rates in Computer Science courses (Channel 4 News, 2017; HESA, 2020). The difficulty of programming can be partially attributed to the complexity of developing and applying effective computational thinking strategies, as programmers need to learn how to select, incorporate, evaluate and refine relevant programming constructs to create a program; implicitly requiring the knowledge of programming concepts, paradigms, execution models, and relevant domain-based knowledge. Due to this complexity, NPs can find it difficult to explain why they are struggling with programming to their tutors, making it difficult for tutors to identify the cause(s) of an NP’s issues, leading to frustration and discouragement; consequently, the focus of this thesis is to explore a potential method for how to minimise this communication barrier.

    This thesis documents the findings of three interpretivist, mixed-methods studies which asked 21 participants to rearrange modified 2D Parson’s (referred to as Code Puzzles) into a working Java class while explaining their movements (think-aloud protocol) to an observer. Their times, movements, written feedback, and dialogue were recorded and analysed. For the secondary study involving 13 participants, the researcher discovered that 69% of participants believed the observer had correctly deduced their understanding of the programming concepts, and that 84% of participants believed the observer had correctly deduced their approach to creating a program, suggesting that using paper-based Code Puzzles may help tutors identify problem areas at a conceptual-based and approach-based level in a one-to-one setting.

    Our approach led to the discovery of a novel area not incorporated into the original Parson’s Problems design, known as the ‘workspace’, where participants grouped pieces together based on perceived similarity of the underlying programming concepts and/or context in which the pieces were used providing an insight into how NPs understand abstract programming concepts. This discovery led to the proposal of using the following in the context of investigating communication between programmers: think-aloud protocols, interpretivism over post-positivism research philosophies, cluster-based puzzles to analyse how NPs relate concepts and the proposal of a design of a diagnostic toolkit to analyse an NP’s understanding.
    Date of AwardAug 2021
    Original languageEnglish
    SupervisorTony Beaumont (Supervisor) & Alina Patelli (Supervisor)


    • Code Puzzles
    • Parson's Problems
    • paper-based
    • Phenomenology
    • Programming
    • novice programmers
    • understanding
    • Java
    • Computer Science
    • Education
    • Cognitive Psychology

    Cite this