The block model
See also: teaching-digital-technologies
Resources:
A method to break down the structure of a program to make it easier to understand by students as they read the program. Apparently designed to be directly related with the epistemology of programming and the development of schema.
Useful for understanding how students engage with programs. Novices read bottom up, experts bottom-down.
Based on a duality between
- structure - text surface and program execution; and,
- function
Dimensions | Text surface | Program execution (data & control flow) | Function |
---|---|---|---|
Macro Structure | Understanding the overall structure of the program | Understanding the 'algorithm' of the program | Understanding the goal/purpose of the program |
Relations | References between blocks, eg. method calls, object creation, accessing data... | sequence of method calls - 'object sequence diagrams' | Understanding how subgoals relate to goals, how function is achieved by subfunctions |
Blocks | 'Regions of Interests' (ROI) that syntactically or semantically build a unit | Operation of a block of code, a method, or a ROI (as a sequence of statements) | Purpose of a block of code, possibly seen as a subgoal |
Atoms | Language elements | Operation of a statement | Purpose of a statement |
Related activities#
Dimensions | Text surface | Program execution (data & control flow) | Function |
---|---|---|---|
Macro structure |
|
|
|
Relationships |
|
||
Blocks |
|
|
|
Atoms |
|
Trace values through a program | Explain the purpose of a single line |