(AS) 2.2.1 Programming techniques