Generalising
Introduction
Complexity is often avoided by generalising specific examples, to make explicit what is shared between the examples and what is different about them. For example, having written a LOGO procedure to draw a square of size 3 and another to draw a square of size 5, one might generalise to a procedure to draw a square of any size N, and call that procedure with parameters 3 and 5 respectively. In this way much of the code used in different programs can be written once, debugged once, documented once, and (most important) understood once.
Generalisation is the process of recognising these common patterns, and using them to control complexity by sharing common features.Â
Self study resources
Resources for lectures or group study
Resources for use with pupils