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