Program comprehension

User guide

The investigate stage of TIME is based on a simplified version of the block model of program comprehension proposed by Carsten Schulte. This student and teacher friendly version provides a framework for questioning. It has been shown that a deeper knowledge of syntax and programming constructs allows students to adapt to new commands more easily. Being able to read code is an important pre-requisite to writing code.

Each learning program is presented with two questions for students to consider. These can also be used as the basis of class discussions and is an integral part of the dialogue between students and teachers during the oral feedback stage.

To facilitate differentiation and provide structure to questions, they should be based on one of our six pillars of program comprehension:

Block model of program comprehension

Lower order questions:


Questions about what programming terminology means.


Questions about the syntax of lines of code.


Questions about what a section of code achieves, returns or outputs.

Higher order questions:


Questions about why an item or structure is used.


Questions about how different parts of a program relate to each other. The implications of moving statements in or out of code blocks.


Questions about other approaches that could have been taken to achieve the same result. The implications for space and time complexity.

Craig'n'Dave logo

Craig ‘n’ Dave

In partnership with

Mission Encodeable
Bett Awards 2024 Finalist