1.1 Algorithms and pseudo-code