Creating firm foundations for computer science: Part two - Ceredig Cattanach-Chell