Towards a Theory of programmed language instruction