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