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:
ITEM
Questions about what programming terminology means.
STRUCTURE
Questions about the syntax of lines of code.
PURPOSE
Questions about what a section of code achieves, returns or outputs.
REASON
Questions about why an item or structure is used.
RELATION
Questions about how different parts of a program relate to each other. The implications of moving statements in or out of code blocks.
APPROACH
Questions about other approaches that could have been taken to achieve the same result. The implications for space and time complexity.
You may notice that the learning programs only contain comments that separate the sections of code. They are not used to describe variables, selections, iterations, or subprograms. This is so that you can challenge students to add these comments to help with their program comprehension. Students could add a comment:
Some comments are included in the solution files.